From ccd774d97af7d32a71a95ff5f4927290b5a89c89 Mon Sep 17 00:00:00 2001 From: Vadim Lopatin Date: Wed, 11 Feb 2015 10:56:46 +0300 Subject: [PATCH] improvements --- src/dlangide/ui/dsourceedit.d | 2 ++ src/dlangide/ui/frame.d | 14 ++++++++++++-- src/dlangide/ui/wspanel.d | 5 +++-- views/res/mdpi/project-d.png | Bin 0 -> 286 bytes views/res/mdpi/project-development.png | Bin 323 -> 230 bytes views/res/mdpi/project-open.png | Bin 638 -> 649 bytes views/res/mdpi/text-d.png | Bin 0 -> 676 bytes views/resources.list | 2 ++ 8 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 views/res/mdpi/project-d.png create mode 100644 views/res/mdpi/text-d.png diff --git a/src/dlangide/ui/dsourceedit.d b/src/dlangide/ui/dsourceedit.d index ba23955..51b7ad2 100644 --- a/src/dlangide/ui/dsourceedit.d +++ b/src/dlangide/ui/dsourceedit.d @@ -32,6 +32,8 @@ class DSourceEdit : SourceEdit { MenuItem editPopupItem = new MenuItem(null); editPopupItem.add(ACTION_EDIT_COPY, ACTION_EDIT_PASTE, ACTION_EDIT_CUT, ACTION_EDIT_UNDO, ACTION_EDIT_REDO, ACTION_EDIT_INDENT, ACTION_EDIT_UNINDENT, ACTION_EDIT_TOGGLE_LINE_COMMENT); popupMenu = editPopupItem; + showIcons = true; + showFolding = true; } this() { this("SRCEDIT"); diff --git a/src/dlangide/ui/frame.d b/src/dlangide/ui/frame.d index 5bf3025..93be601 100644 --- a/src/dlangide/ui/frame.d +++ b/src/dlangide/ui/frame.d @@ -295,6 +295,7 @@ class IDEFrame : AppFrame { // Create workspace docked panel _wsPanel = new WorkspacePanel("workspace"); _wsPanel.sourceFileSelectionListener = &onSourceFileSelected; + _wsPanel.dockAlignment = DockAlignment.Left; _dockHost.addDockedWindow(_wsPanel); _logPanel = new OutputPanel("output"); @@ -425,6 +426,15 @@ class IDEFrame : AppFrame { } } + FileDialog createFileDialog(UIString caption) { + FileDialog dlg = new FileDialog(caption, window, null); + dlg.filetypeIcons[".d"] = "text-d"; + dlg.filetypeIcons["dub.json"] = "project-d"; + dlg.filetypeIcons["package.json"] = "project-d"; + dlg.filetypeIcons[".dlangidews"] = "project-development"; + return dlg; + } + /// override to handle specific actions override bool handleAction(const Action a) { if (a) { @@ -443,7 +453,7 @@ class IDEFrame : AppFrame { case IDEActions.FileOpen: UIString caption; caption = "Open Text File"d; - FileDialog dlg = new FileDialog(caption, window, null); + FileDialog dlg = createFileDialog(caption); dlg.addFilter(FileFilterEntry(UIString("Source files"d), "*.d;*.dd;*.ddoc;*.dh;*.json;*.xml;*.ini")); dlg.onDialogResult = delegate(Dialog dlg, const Action result) { if (result.id == ACTION_OPEN.id) { @@ -486,7 +496,7 @@ class IDEFrame : AppFrame { case IDEActions.FileOpenWorkspace: UIString caption; caption = "Open Workspace or Project"d; - FileDialog dlg = new FileDialog(caption, window, null); + FileDialog dlg = createFileDialog(caption); dlg.addFilter(FileFilterEntry(UIString("Workspace and project files"d), "*.dlangidews;dub.json;package.json")); dlg.onDialogResult = delegate(Dialog dlg, const Action result) { if (result.id == ACTION_OPEN.id) { diff --git a/src/dlangide/ui/wspanel.d b/src/dlangide/ui/wspanel.d index e93f226..139db4b 100644 --- a/src/dlangide/ui/wspanel.d +++ b/src/dlangide/ui/wspanel.d @@ -65,6 +65,7 @@ class WorkspacePanel : DockWindow { _tree.layoutHeight(FILL_PARENT).layoutHeight(FILL_PARENT); _tree.selectionListener = &onTreeItemSelected; _tree.fontSize = 16; + _tree.noCollapseForSingleTopLevelItem = true; return _tree; } @@ -87,7 +88,7 @@ class WorkspacePanel : DockWindow { p.objectParam = child; addProjectItems(p, child); } else { - TreeItem p = root.newChild(child.filename, child.name, "text-plain"); + TreeItem p = root.newChild(child.filename, child.name, "text-d"); p.intParam = ProjectItemType.SourceFile; p.objectParam = child; } @@ -100,7 +101,7 @@ class WorkspacePanel : DockWindow { TreeItem root = _tree.items.newChild(_workspace.filename, _workspace.name, "project-development"); root.intParam = ProjectItemType.Workspace; foreach(project; _workspace.projects) { - TreeItem p = root.newChild(project.filename, project.name, "project-open"); + TreeItem p = root.newChild(project.filename, project.name, "project-d"); p.intParam = ProjectItemType.Project; addProjectItems(p, project.items); } diff --git a/views/res/mdpi/project-d.png b/views/res/mdpi/project-d.png new file mode 100644 index 0000000000000000000000000000000000000000..63714533206fa366da1a96f4e38f42f6164dbb76 GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)35YUNd}KzwcoNP=vF< zBeIx*fm;}a85w5HkpK#^mw5WRvfpRoW>=Qco%MDCP-wNMi(`nz>Et6Xl@4Ikg% z->*AG;=rK;2Mz>8LK>htCyX3JE)v$NLE#CNoI^zQ2H$$uCVC=x62OWnKLB* z{r%m3pCMw;C0k=dBMl1!0~?D50YRgLgoMP_4gdcpCnO}bTFVdQ&MBb@09U&6h2a^)Yld&@_dU!2if|TqL>4nJa0`PlBg3pY z5H=O_WMlS>?+LfFPAL>3Ke_0IEGl9K048x>wp4}%kc-2Z%tqAir&5LxFVdQ&MBb@0NE%}H2?qr delta 307 zcmaFHc$jH|WIZzj1A~Sxe=v|L4e$wZ1=8Hy+#DPnKn5HnotH?uAd!AXF!PLHUS4kT z1>X8AT%9-Ar`%y)@Q`8AqDAZ1ufKTu?!_}ebnnvHyO+=0y?plW)w6eQUV3ut^5eVL zp4`3m^xnPuPoF+}_Uz^B*Kgjweg78({?-5c_wWDz|C)B&-UDr8FA4GsW)PLpFf}v3 z`eM2=P^iq)#WAFUvGmM!zC#8)t%=)j@L1h)(5QC!Soz=m2&=b%K>WI*FQ>mKORE|s zeff1o`yIpN7{7NhG2OE#$ZVgzuG>&AeD~LX35Qd{!b&f1^NpSQc_pvM4}k^W7``U{ yVAbIfi_?hPV{nlBkM4(k2R#g)8vRqStgU8Iz|9+%{;7C$d@=?US4;T5k05_ZRnqAU!^49N z3=DDiUO&S_4*-ynu?g+#>7`n&p%@fU3%}1LB4ko28o?InbPCTkyn6R0RxlWJ<7u6J zUPvwrxjjmo8-KCa4GF@CRbTK!hf3h$yAFQcrIE^Tl1DLM{CJ_&>Hgyxp3kqf6ddh3 zz{6XI|LnoXrU$#@$6U06Gj0EA(k<&^?kl`@N!^?$hYuH{$-BaqFcsZ}e<5gN5B z`K4uoumP&nt2N4-8z71R+BC;;U83rG60o^Z;`_HRSZlG7<>L81&YeAljcg2H8{qNs z+0!JT_sj+E+`di_1gI*7Vwn%0mk<=&%rSuDc$5l1lK^$v^!=y21Yv*ya7@d6(^Rkx zinRF)qiW-mEx`Vcc0m<`#8(+9C^!NE;4}+86tz|p$A5Wf>c^3;uFgm!3=lS5Z_OX` z@LZSK>DP0@pmL+IJ>P-r{&f16W18izBYDRSDzvmoJ zSf1#@7k)g?!~1`J7Y|db)f&dw-t{2wvV5%biMx_u@$(l%qJJ?&qw#-3e~H8bYHBzn zlV4$>no50N6~qGb@J~e`OvUhl@V$#+dJVqGIKsYpDKjG^5DzY_3Mzd&VVvB8hG{ig z!fJGU+Kk7Go6w)!fZjz0cO(tBLmS}`RJckR6J=>f5-4uKKb(gC%4?L$)Vl-!yFr#h zud4D=fHHwqY5tK9z<2X_B8|yIiw$bHd7SDTyVAnwtYC9%TYJG_dt#4p) zO@MQagL^OmbK4lI?~kGC?psve8%O@Rn@|Wc3eLmOG>GC_uSAhp>sC1|&t=#8vHz4! zDcG82K!NcQa;w^rTj@q-#T{t%HfYPN&=Few3VTlQ(0?AaCj$74D~Fn{{R3007*qoM6N<$f>|Rb AC;$Ke diff --git a/views/res/mdpi/text-d.png b/views/res/mdpi/text-d.png new file mode 100644 index 0000000000000000000000000000000000000000..05efc1691beddda609d17932109d9924e1ca0aca GIT binary patch literal 676 zcmV;V0$crwP)pmU!V<(C;$+NL_&>5;~{_m{tf+L zFnBJ6ux>XV@jn4z3nPlt0PyDE0NHF7@7LCbQd`Hzm^Tn2MuU5?7;Vdns+Fvg>91hRk^}9AmvRp2cB>Vk7d%Ye_ z)8yslC6meIyM={?;3Q%I08~}|qA1G7@6{f_R#o-1)oOW@2K)k1X1G7wHQTBH0000< KMNUMnLSTXmVl!0$ literal 0 HcmV?d00001 diff --git a/views/resources.list b/views/resources.list index 37875a2..5d7ee6b 100644 --- a/views/resources.list +++ b/views/resources.list @@ -16,9 +16,11 @@ res/mdpi/edit-paste.png res/mdpi/edit-redo.png res/mdpi/edit-undo.png res/mdpi/edit-unindent.png +res/mdpi/project-d.png res/mdpi/project-development.png res/mdpi/project-open.png res/mdpi/run-build.png res/mdpi/run-build-clean.png res/mdpi/run-build-configure.png +res/mdpi/text-d.png res/mdpi/tx_fabric.jpg