From 450bc1927bf3b21d2c309ef74294a5910ffba1f1 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Thu, 23 Apr 2020 12:40:01 +0200 Subject: [PATCH] Use Eclipse icons. --- rcp/dep/org.argeo.dep.cms.e4.rcp/pom.xml | 86 +++++++++--------- .../org/argeo/minidesktop/MiniBrowser.java | 2 +- .../argeo/minidesktop/MiniDesktopImages.java | 53 +++++++++++ .../argeo/minidesktop/MiniDesktopManager.java | 64 +++++++++---- .../argeo/minidesktop/cheatsheet_obj@2x.png | Bin 0 -> 698 bytes .../org/argeo/minidesktop/console_view@2x.png | Bin 0 -> 729 bytes .../src/org/argeo/minidesktop/delete@2x.png | Bin 0 -> 1296 bytes .../argeo/minidesktop/external_browser@2x.png | Bin 0 -> 1981 bytes .../src/org/argeo/minidesktop/file_obj@2x.png | Bin 0 -> 1047 bytes .../src/org/argeo/minidesktop/fldr_obj@2x.png | Bin 0 -> 851 bytes .../src/org/argeo/minidesktop/nav_home@2x.png | Bin 0 -> 1343 bytes 11 files changed, 144 insertions(+), 61 deletions(-) create mode 100644 rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/MiniDesktopImages.java create mode 100644 rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/cheatsheet_obj@2x.png create mode 100644 rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/console_view@2x.png create mode 100644 rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/delete@2x.png create mode 100644 rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/external_browser@2x.png create mode 100644 rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/file_obj@2x.png create mode 100644 rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/fldr_obj@2x.png create mode 100644 rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/nav_home@2x.png diff --git a/rcp/dep/org.argeo.dep.cms.e4.rcp/pom.xml b/rcp/dep/org.argeo.dep.cms.e4.rcp/pom.xml index 39f46714f..6197125b5 100644 --- a/rcp/dep/org.argeo.dep.cms.e4.rcp/pom.xml +++ b/rcp/dep/org.argeo.dep.cms.e4.rcp/pom.xml @@ -67,37 +67,7 @@ test - - - org.argeo.tp.rcp.e4 - org.eclipse.swt.gtk.linux.arm - 3.108.0.v20180905-1254 - - - org.argeo.tp.rcp.e4 - org.eclipse.swt.gtk.linux.aarch64 - 3.109.0.202003311246 - - - - - org.argeo.tp.rcp.e4 - org.eclipse.text - - - org.argeo.tp.rcp.e4 - org.eclipse.jface.text - - - - - org.argeo.tp.rcp.e4 - org.eclipse.swt - - - org.argeo.tp.rcp.e4 - org.eclipse.jface - + org.argeo.tp.rcp.e4 org.eclipse.swt.gtk.linux.x86_64 @@ -122,33 +92,65 @@ - - - + org.argeo.tp.rcp.e4 - org.eclipse.equinox.launcher + org.eclipse.swt.gtk.linux.arm + 3.108.0.v20180905-1254 org.argeo.tp.rcp.e4 - org.eclipse.equinox.launcher.gtk.linux.x86_64 + org.eclipse.swt.gtk.linux.aarch64 + 3.109.0.202003311246 + + + + + + + + + + + + + + + + + + + + + + + + + org.argeo.tp.rcp.e4 - org.eclipse.equinox.launcher.cocoa.macosx.x86_64 + org.eclipse.swt org.argeo.tp.rcp.e4 - org.eclipse.equinox.launcher.win32.win32.x86_64 + org.eclipse.jface - - - - + + + + org.argeo.tp.rcp.e4 + org.eclipse.text + + + org.argeo.tp.rcp.e4 + org.eclipse.jface.text + + diff --git a/rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/MiniBrowser.java b/rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/MiniBrowser.java index 16c405d4a..406382bce 100644 --- a/rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/MiniBrowser.java +++ b/rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/MiniBrowser.java @@ -150,7 +150,7 @@ public class MiniBrowser { } boolean fullscreen = options.contains("--fullscreen"); boolean appMode = options.contains("--app"); - String url = "https://duckduckgo.com/"; + String url = "https://start.duckduckgo.com/"; if (options.size() > 0) { String last = options.get(options.size() - 1); if (!last.startsWith("--")) diff --git a/rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/MiniDesktopImages.java b/rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/MiniDesktopImages.java new file mode 100644 index 000000000..db5e6f273 --- /dev/null +++ b/rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/MiniDesktopImages.java @@ -0,0 +1,53 @@ +package org.argeo.minidesktop; + +import java.io.IOException; +import java.io.InputStream; + +import org.eclipse.swt.SWTException; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.widgets.Display; + +/** Icons. */ +public class MiniDesktopImages { + + public final Image homeIcon; + public final Image exitIcon; + + public final Image terminalIcon; + public final Image browserIcon; + public final Image explorerIcon; + public final Image textEditorIcon; + + public final Image folderIcon; + public final Image fileIcon; + + public MiniDesktopImages(Display display) { + homeIcon = loadImage(display, "nav_home@2x.png"); + exitIcon = loadImage(display, "delete@2x.png"); + + terminalIcon = loadImage(display, "console_view@2x.png"); + browserIcon = loadImage(display, "external_browser@2x.png"); + explorerIcon = loadImage(display, "fldr_obj@2x.png"); + textEditorIcon = loadImage(display, "cheatsheet_obj@2x.png"); + + folderIcon = loadImage(display, "fldr_obj@2x.png"); + fileIcon = loadImage(display, "file_obj@2x.png"); + } + + static Image loadImage(Display display, String path) { + InputStream stream = MiniDesktopImages.class.getResourceAsStream(path); + if (stream == null) + throw new IllegalArgumentException("Image " + path + " not found"); + Image image = null; + try { + image = new Image(display, stream); + } catch (SWTException ex) { + } finally { + try { + stream.close(); + } catch (IOException ex) { + } + } + return image; + } +} diff --git a/rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/MiniDesktopManager.java b/rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/MiniDesktopManager.java index a1f6d333e..fa66a8e76 100644 --- a/rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/MiniDesktopManager.java +++ b/rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/MiniDesktopManager.java @@ -11,6 +11,7 @@ import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.custom.CTabItem; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.ImageData; import org.eclipse.swt.graphics.Point; @@ -37,17 +38,22 @@ public class MiniDesktopManager { private final boolean fullscreen; private final boolean stacking; + private MiniDesktopImages images; + public MiniDesktopManager(boolean fullscreen, boolean stacking) { this.fullscreen = fullscreen; this.stacking = stacking; } public void init() { + Display.setAppName("Mini SWT Desktop"); display = Display.getCurrent(); if (display != null) throw new IllegalStateException("Already a display " + display); display = new Display(); + images = new MiniDesktopImages(display); + int toolBarSize = 48; if (isFullscreen()) { @@ -56,9 +62,11 @@ public class MiniDesktopManager { Rectangle bounds = display.getBounds(); rootShell.setSize(bounds.width, bounds.height); } else { - rootShell = new Shell(display, SWT.SHELL_TRIM); + rootShell = new Shell(display, SWT.CLOSE | SWT.RESIZE); Rectangle shellArea = rootShell.computeTrim(200, 200, 800, 480); rootShell.setSize(shellArea.width, shellArea.height); + rootShell.setText(Display.getAppName()); + rootShell.setImage(images.terminalIcon); } rootShell.setLayout(noSpaceGridLayout(new GridLayout(2, false))); @@ -75,19 +83,33 @@ public class MiniDesktopManager { } else { toolBar = new ToolBar(toolBarArea, SWT.VERTICAL | SWT.FLAT | SWT.BORDER); createDock(toolBar); - toolBarArea.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false)); + toolBarArea.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false)); } if (isStacking()) { - tabFolder = new CTabFolder(rootShell, SWT.MULTI); + tabFolder = new CTabFolder(rootShell, SWT.MULTI | SWT.BORDER | SWT.BOTTOM); + tabFolder.setLayout(noSpaceGridLayout(new GridLayout())); tabFolder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); + + Color selectionBackground = display.getSystemColor(SWT.COLOR_LIST_SELECTION); + tabFolder.setSelectionBackground(selectionBackground); +// tabFolder.setSelectionForeground(selectionBackground); +// tabFolder.setSelectionBackground( +// new Color[] { display.getSystemColor(SWT.COLOR_WHITE), display.getSystemColor(SWT.COLOR_BLUE) }, +// new int[] { 100 }, true); + // background Control background = createBackground(tabFolder); - CTabItem noCloseItem = new CTabItem(tabFolder, SWT.NONE); - noCloseItem.setText("Home"); - noCloseItem.setControl(background); + CTabItem homeTabItem = new CTabItem(tabFolder, SWT.NONE); + homeTabItem.setText("Home"); + homeTabItem.setImage(images.homeIcon); + homeTabItem.setControl(background); + tabFolder.setFocus(); } else { - createBackground(rootShell); + if (isFullscreen()) + createBackground(rootShell); + else + rootShell.pack(); } rootShell.open(); @@ -101,9 +123,9 @@ public class MiniDesktopManager { protected void createDock(ToolBar toolBar) { // Terminal - addToolItem(toolBar, display.getSystemImage(SWT.ICON_INFORMATION), "Terminal", () -> { + addToolItem(toolBar, images.terminalIcon, "Terminal", () -> { String url = System.getProperty("user.home"); - AppContext appContext = createAppParent(); + AppContext appContext = createAppParent(images.terminalIcon); new MiniTerminal(appContext.getAppParent(), url) { @Override @@ -130,9 +152,9 @@ public class MiniDesktopManager { }); // Web browser - addToolItem(toolBar, display.getSystemImage(SWT.ICON_QUESTION), "Browser", () -> { - String url = "https://duckduckgo.com/"; - AppContext appContext = createAppParent(); + addToolItem(toolBar, images.browserIcon, "Browser", () -> { + String url = "https://start.duckduckgo.com/"; + AppContext appContext = createAppParent(images.browserIcon); new MiniBrowser(appContext.getAppParent(), url, false, false) { @Override protected void titleChanged(String title) { @@ -148,9 +170,9 @@ public class MiniDesktopManager { }); // File explorer - addToolItem(toolBar, display.getSystemImage(SWT.ICON_WARNING), "Explorer", () -> { + addToolItem(toolBar, images.explorerIcon, "Explorer", () -> { String url = System.getProperty("user.home"); - AppContext appContext = createAppParent(); + AppContext appContext = createAppParent(images.explorerIcon); new MiniExplorer(appContext.getAppParent(), url) { @Override @@ -166,8 +188,11 @@ public class MiniDesktopManager { openApp(appContext); }); + // Separator + new ToolItem(toolBar, SWT.SEPARATOR); + // Exit - addToolItem(toolBar, display.getSystemImage(SWT.ICON_ERROR), "Exit", () -> rootShell.dispose()); + addToolItem(toolBar, images.exitIcon, "Exit", () -> rootShell.dispose()); toolBar.pack(); } @@ -190,15 +215,17 @@ public class MiniDesktopManager { }); } - protected AppContext createAppParent() { + protected AppContext createAppParent(Image icon) { if (isStacking()) { - Composite appParent = new Composite(tabFolder, SWT.NONE); + Composite appParent = new Composite(tabFolder, SWT.CLOSE); appParent.setLayout(noSpaceGridLayout(new GridLayout())); CTabItem item = new CTabItem(tabFolder, SWT.CLOSE); + item.setImage(icon); item.setControl(appParent); return new AppContext(item); } else { - Shell shell = new Shell(rootShell, SWT.SHELL_TRIM); + Shell shell = new Shell(rootShell.getDisplay(), SWT.SHELL_TRIM); + shell.setImage(icon); return new AppContext(shell); } } @@ -210,6 +237,7 @@ public class MiniDesktopManager { shell.setSize(new Point(800, 480)); } if (appContext.tabItem != null) { + tabFolder.setFocus(); tabFolder.setSelection(appContext.tabItem); } } diff --git a/rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/cheatsheet_obj@2x.png b/rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/cheatsheet_obj@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..55c614dfabebdfe9ec26340e2cddd99348d98493 GIT binary patch literal 698 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=hEVFg1F*IEGZ*dOQ8D_vA#0_V4Ny z&ob*Bx9FDU{buiK;ZUb|v*T72=jy*VdObtc`{2+PR|OqnJi!Lm?v%VMj_ zfK@*mcYb?S)U#uEegB)%jtifU72n_$w=q9|@Acjrea{O1q-Mo39(+=;?q>0tw)3mE zo;&b*)o&TQ;G5;|t%K7tmOuZW$!B()^Fhsuoz>T$%@eS`n>@=ZPiO^~Lc;H({k+c; z({{eT=gl-@Pvn&6A(vP?Krka|4Huj*G}oD%aj z?@u;=D;?i0{gl7cKW%@M{+T_(U)~(vv(bh^5Vif= z6mRZ3%sPcxu52f(bN0{tCCLw%PBAJAZkOnM^R(f86cdPhSjOPaNygPxK+ZO%wjYea z!3;6ZWlZndU$ZRMWzbt7Q}8`&Zo(GU13-iF;#Z3IY-8BbP;_AJ>90)}#Tdi`_#~b% zv~kU1dLXq$*q~sgqrok(v46#-q53a~f9lxB*ALd_(8XNkEcffDvp++OgXM!`t!@W1 zxEr`N*i|eQRvI#_TQav{-sfJZ!8@+K6NT93p!7oY^9pUYKb9VMd{{N;~JwqU0 W_Xg&fk4%ASlEKr}&t;ucLK6T^Q9S7Y literal 0 HcmV?d00001 diff --git a/rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/console_view@2x.png b/rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/console_view@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..54ecae20f3fd17ef56a4d1c107a1eb50f99d1c92 GIT binary patch literal 729 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 literal 0 HcmV?d00001 diff --git a/rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/fldr_obj@2x.png b/rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/fldr_obj@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..adb7c2cc28c0bf62f0b9b040c5c6794c164248f5 GIT binary patch literal 851 zcmV-Z1FZasP)_|t!NK@TZ{)x(*r9uK+zmZywOX2IylqXbRXz6Au#EcAhTL?F*4H!qpl5KdW$iA zPXc{w6h`XK;Fa#QNtUh)J!ct4^*N_;=j0oo3XnZa!ii{Up83%H?;)l%1O>qZc7%T#LS8b<; zQFBK`)!Jc4_rBh0L9a%qB8V>@=4vPpbMdw|&~(ln6dB7iGxp1&NjS)g@5kH=1vin> zB@-&+>C5d@Fe>i&RMul$7%xMI?6~9NG#bwC1Vx6kV0@Xz75C%E9^(x|pA1BoZ>NAM zw3}EFQ_Oo)V)cEz1Ra^j*w|e^Eh|o=KFST0p(h^AalZV{FZp8bSrW)dHltv2c%!*? zt}uDlDUz|PFbyiumJ(pyxhmAz)!{u*8@U5&PK#upIl1wI7v`VFfefZ`q)fWaPzIC9 z$auqYD^q_4+NDPe8YN*|t^iD&~@<+ys7$Q`lL@{VE;4Y(k+r?X-F0 df5Cqhe*pj>{pBE{9@qc?002ovPDHLkV1k+?i0A+S literal 0 HcmV?d00001 diff --git a/rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/nav_home@2x.png b/rcp/org.argeo.minidesktop/src/org/argeo/minidesktop/nav_home@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4c9a16c0f0ac659ab4d8a11d9d3eb7786739b4f3 GIT binary patch literal 1343 zcmV-F1;F}=P)zfCva8p><=h?|b~ee^ax;SNzoN&L+R~?R$8hCp|4# z@c-j)9=##`FTF<$Ai^QT)ko*;2Q7<;`3t~|Kelh=P(5?j77)@82Zg(gIMwqOpnc0K z&ddO9)n;|u0b6XiyGs0IARw`NenQ9vXkzBge%tMlV?J^EZUl&p;?qID)a?oU zc?%E@=~2rJ>b=%jX0dqH*dm{)4>TI02I86pv&jS=+kMzGQ}aWY&v zE#B@&wBLh+6(&xkuM*T7Jz6EzR+;00@;M5T2;kk41;5*fp(Ewf;>~W1^tn-8Zp6M) z0rfRrUJv(_gJ!3C-BO^!G&dnAfOl&ayiOekyIc@|?qufW@Ra4l<*=ctxdo%Aqo@gb zd2gs|A8_Mi7G}TXa~tE{viz0*DL_qNH!4bX=xHf}c=Zs5kGSA=8sI4T(|m-Pk6jw) z&%uLUK8u7|h-u^XFF2mG*r$PO%%;~V)sYkfA5D$N>$LU@d${czW7YS%&<`HK4 zKm_L^3qh}gK|kLa4wXW@+<^X$5@~;_{-1|%78}$qhyGspP=P4^5M+WSC@t2Zu*iyr zrWTwUjpF_^X7T;lIPV7nJ~-KKq{jie4Ii>gOlyMOEBiQ#1+BWIP{+)LX>rVl{&qWx z3i4ntu%VurpJXPJ%utT+SO}U24*2=a@s2{^k`J8?Hi>CYlJ*nL1wofyXxGNN8ZDxD z!HvFFE9`<6cDogI%zStxiiwB7D$fq6oY}KjS-G9h&a)7-=kxpcZC|U6eMW9{)|sUO zd)|~FXfkBY&1S9IX3LFrHJB&G^Dcy2%&=HcGelEtv2nH#ge!Du>eNn-Ylb8gD?Bc=x)qMzDWa%z|0$4 zFcgU*_5gpOD%r%07va}iPjRTG-prkI7svUX$M5G_L+wU<5jMkQ(TFCKW}WQ2pf_r^ z>hg1-GvpvGV-0GU`5+Uy#{_4RQN#kAnGt~1)O&RA8y14@m%RBQ@|dRHm?IjD8ru`U z2U`8!th9`G@od_946x(7Q+SMJ1)E?!tVZawMI5TBC%60cg>k%)z7uI`3bALMqF=)E zOE%!eWxMd(eMy!~=PoQ0HqT;(V@J~ch0Cp6Px1diYGw%*uc^Wvc03o5R@&+^gT{fyxN_rZ4%O64wx7^b9N?{O4Ir-nF3FPm zffm)hui@;KXE;<-FWG)VPjP_E9nB!Fv12(>*BRgnsW3YB9EWP^CEHKvDGspuqgD_< z#U)u%)|z2!Uykl?U*b?ry=40dJ;edu$?X7fH73cDl4V0~OD5{hzRaPTddc<^dWr+Q zukQqLnH|fKvZ@f<>$0%#t5-NwQ!m+mLQipk4W29lv#Uyby&o>@@uNjKR-&-F)r{s1=^-N^{V4nzO|002ovPDHLkV1g&H Blv4lz literal 0 HcmV?d00001 -- 2.39.2