* 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
This commit is contained in:
@ -27,10 +27,11 @@ public class SysTray implements SysTrayMenuListener {
|
|||||||
private String _browserString;
|
private String _browserString;
|
||||||
private ConfigFile _configFile = new ConfigFile();
|
private ConfigFile _configFile = new ConfigFile();
|
||||||
private Frame _frame;
|
private Frame _frame;
|
||||||
|
private SysTrayMenuItem _itemOpenConsole = new SysTrayMenuItem("Open router console", "openconsole");
|
||||||
private SysTrayMenuItem _itemSelectBrowser = new SysTrayMenuItem("Select browser...", "selectbrowser");
|
private SysTrayMenuItem _itemSelectBrowser = new SysTrayMenuItem("Select browser...", "selectbrowser");
|
||||||
private SysTrayMenuItem _itemShutdown = new SysTrayMenuItem("Shut down I2P router", "shutdown");
|
private SysTrayMenuItem _itemShutdown = new SysTrayMenuItem("Shut down I2P router", "shutdown");
|
||||||
private SysTrayMenuIcon _sysTrayMenuIcon = new SysTrayMenuIcon("icons/iggy");
|
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();
|
private UrlLauncher _urlLauncher = new UrlLauncher();
|
||||||
|
|
||||||
public SysTray() {
|
public SysTray() {
|
||||||
@ -45,12 +46,51 @@ public class SysTray implements SysTrayMenuListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
if (System.getProperty("os.name").startsWith("Windows"))
|
||||||
new SysTray();
|
new SysTray();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void iconLeftClicked(SysTrayMenuEvent e) {}
|
public void iconLeftClicked(SysTrayMenuEvent e) {}
|
||||||
|
|
||||||
public void iconLeftDoubleClicked(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;
|
String browser = null;
|
||||||
|
|
||||||
@ -78,35 +118,6 @@ public class SysTray implements SysTrayMenuListener {
|
|||||||
setBrowser(browser);
|
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) {
|
private String promptForBrowser(String windowTitle) {
|
||||||
|
|
||||||
String browser = null;
|
String browser = null;
|
||||||
|
Reference in New Issue
Block a user