From e28c0d0b4a9be73c9fcde53175b18e0d5a48ad2f Mon Sep 17 00:00:00 2001 From: hypercubus Date: Sun, 22 Aug 2004 04:56:43 +0000 Subject: [PATCH] * removed systray support for KDE as it remains buggy; win32 is the only supported systray platform for now * added an 'Open router console' option to the systray menu, for people who can't bring themselves to double-click the icon --- .../src/net/i2p/apps/systray/SysTray.java | 73 +++++++++++-------- 1 file changed, 42 insertions(+), 31 deletions(-) diff --git a/apps/systray/java/src/net/i2p/apps/systray/SysTray.java b/apps/systray/java/src/net/i2p/apps/systray/SysTray.java index 635070b84..1a0f2cbf8 100644 --- a/apps/systray/java/src/net/i2p/apps/systray/SysTray.java +++ b/apps/systray/java/src/net/i2p/apps/systray/SysTray.java @@ -27,10 +27,11 @@ public class SysTray implements SysTrayMenuListener { private String _browserString; private ConfigFile _configFile = new ConfigFile(); private Frame _frame; + private SysTrayMenuItem _itemOpenConsole = new SysTrayMenuItem("Open router console", "openconsole"); private SysTrayMenuItem _itemSelectBrowser = new SysTrayMenuItem("Select browser...", "selectbrowser"); private SysTrayMenuItem _itemShutdown = new SysTrayMenuItem("Shut down I2P router", "shutdown"); private SysTrayMenuIcon _sysTrayMenuIcon = new SysTrayMenuIcon("icons/iggy"); - private SysTrayMenu _sysTrayMenu = new SysTrayMenu(_sysTrayMenuIcon, "I2P Router Console"); + private SysTrayMenu _sysTrayMenu = new SysTrayMenu(_sysTrayMenuIcon, "I2P Control"); private UrlLauncher _urlLauncher = new UrlLauncher(); public SysTray() { @@ -45,12 +46,51 @@ public class SysTray implements SysTrayMenuListener { } public static void main(String[] args) { - new SysTray(); + + if (System.getProperty("os.name").startsWith("Windows")) + new SysTray(); } public void iconLeftClicked(SysTrayMenuEvent e) {} public void iconLeftDoubleClicked(SysTrayMenuEvent e) { + openRouterConsole(); + } + + public void menuItemSelected(SysTrayMenuEvent e) { + + String browser = null; + + if (e.getActionCommand().equals("shutdown")) { + _browserChooser = null; + _frame = null; + _itemShutdown = null; + _itemSelectBrowser = null; + _sysTrayMenuIcon = null; + _sysTrayMenu = null; + _browserChooser = null; + _frame = null; + System.exit(0); + } else if (e.getActionCommand().equals("selectbrowser")) { + + if (!(browser = promptForBrowser("Select browser")).equals("nullnull")) + setBrowser(browser); + + } else if (e.getActionCommand().equals("openconsole")) { + openRouterConsole(); + } + } + + private void createSysTrayMenu() { + _itemSelectBrowser.addSysTrayMenuListener(this); + _itemShutdown.addSysTrayMenuListener(this); + _sysTrayMenu.addItem(_itemShutdown); + _sysTrayMenu.addSeparator(); + _sysTrayMenu.addItem(_itemSelectBrowser); + _sysTrayMenu.addItem(_itemOpenConsole); + } + + private void openRouterConsole() { String browser = null; @@ -78,35 +118,6 @@ public class SysTray implements SysTrayMenuListener { setBrowser(browser); } - public void menuItemSelected(SysTrayMenuEvent e) { - - String browser = null; - - if (e.getActionCommand().equals("shutdown")) { - _browserChooser = null; - _frame = null; - _itemShutdown = null; - _itemSelectBrowser = null; - _sysTrayMenuIcon = null; - _sysTrayMenu = null; - _browserChooser = null; - _frame = null; - System.exit(0); - } else if (e.getActionCommand().equals("selectbrowser")) { - - if (!(browser = promptForBrowser("Select browser")).equals("nullnull")) - setBrowser(browser); - } - } - - private void createSysTrayMenu() { - _itemSelectBrowser.addSysTrayMenuListener(this); - _itemShutdown.addSysTrayMenuListener(this); - _sysTrayMenu.addItem(_itemShutdown); - _sysTrayMenu.addSeparator(); - _sysTrayMenu.addItem(_itemSelectBrowser); - } - private String promptForBrowser(String windowTitle) { String browser = null;