📄 mainmenu.java
字号:
// hig compliance
if(Constants.isOSX) {
addViewMenu(parent, notMainWindow);
addTransferMenu(parent, isModal, notMainWindow);
}
else { // previous ordering
addTransferMenu(parent, isModal, notMainWindow);
addViewMenu(parent, notMainWindow);
}
//the Tools menu
if(!Constants.isOSX) {
MenuItem menu_tools = new MenuItem(menuBar,SWT.CASCADE);
Messages.setLanguageText(menu_tools, "MainWindow.menu.tools"); //$NON-NLS-1$
Menu toolsMenu = new Menu(parent,SWT.DROP_DOWN);
menu_tools.setMenu(toolsMenu);
addBlockedIPsMenuItem(toolsMenu);
addConsoleMenuItem(toolsMenu);
addStatisticsMenuItem(toolsMenu);
addNatTestMenuItem( toolsMenu );
new MenuItem(toolsMenu, SWT.SEPARATOR);
addConfigWizardMenuItem(toolsMenu);
MenuItem view_config = new MenuItem(toolsMenu, SWT.NULL);
KeyBindings.setAccelerator(view_config, "MainWindow.menu.view.configuration");
Messages.setLanguageText(view_config, "MainWindow.menu.view.configuration"); //$NON-NLS-1$
view_config.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
UIFunctions uiFunctions = UIFunctionsManager.getUIFunctions();
if (uiFunctions != null) {
uiFunctions.showConfig(null);
}
}
});
if(isModal) {performOneTimeDisable(menu_tools, true);}
}
//the Plugins menu
menu_plugin = new MenuItem(menuBar, SWT.CASCADE);
Messages.setLanguageText(menu_plugin, "MainWindow.menu.view.plugins"); //$NON-NLS-1$
pluginMenu = new Menu(parent,SWT.DROP_DOWN);
menu_plugin.setEnabled(false);
menu_plugin.setMenu(pluginMenu);
if(notMainWindow) {performOneTimeDisable(menu_plugin, true);}
MenuItem menu_plugin_logViews = new MenuItem(pluginMenu, SWT.CASCADE);
Messages.setLanguageText(menu_plugin_logViews, "MainWindow.menu.view.plugins.logViews");
pluginLogsMenu = new Menu(parent, SWT.DROP_DOWN);
menu_plugin_logViews.setMenu(pluginLogsMenu);
menu_plugin_logViews.setData("EOL", "1");
new MenuItem(pluginMenu, SWT.SEPARATOR);
MenuItem plugins_install_wizard = new MenuItem(pluginMenu, SWT.NULL);
KeyBindings.setAccelerator(plugins_install_wizard, "MainWindow.menu.plugins.installPlugins");
Messages.setLanguageText(plugins_install_wizard, "MainWindow.menu.plugins.installPlugins"); //$NON-NLS-1$
plugins_install_wizard.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
new InstallPluginWizard(core, display);
}
});
MenuItem plugins_uninstall_wizard = new MenuItem(pluginMenu, SWT.NULL);
KeyBindings.setAccelerator(plugins_uninstall_wizard, "MainWindow.menu.plugins.uninstallPlugins");
Messages.setLanguageText(plugins_uninstall_wizard, "MainWindow.menu.plugins.uninstallPlugins"); //$NON-NLS-1$
plugins_uninstall_wizard.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
new UnInstallPluginWizard(core, display);
}
});
// standard items
if(Constants.isOSX) {
// Window menu
final MenuItem menu_window = new MenuItem(menuBar, SWT.CASCADE);
Messages.setLanguageText(menu_window, "MainWindow.menu.window");
final Menu windowMenu = new Menu(parent, SWT.DROP_DOWN);
menu_window.setMenu(windowMenu);
if(isModal) {performOneTimeDisable(menu_window, true);}
// minimize, zoom
addMinimizeWindowMenuItem(windowMenu);
addZoomWindowMenuItem(windowMenu);
new MenuItem(windowMenu, SWT.SEPARATOR);
addBlockedIPsMenuItem(windowMenu);
new MenuItem(windowMenu, SWT.SEPARATOR);
addBringAllToFrontMenuItem(windowMenu);
new MenuItem(windowMenu, SWT.SEPARATOR);
appendWindowMenuItems(windowMenu);
}
if (Constants.isCVSVersion()) {
addDebugMenu(menuBar);
}
//The Help Menu
MenuItem helpItem = new MenuItem(menuBar, SWT.CASCADE);
Messages.setLanguageText(helpItem, "MainWindow.menu.help"); //$NON-NLS-1$
final Menu helpMenu = new Menu(parent, SWT.DROP_DOWN);
helpItem.setMenu(helpMenu);
if(isModal) {performOneTimeDisable(helpItem, true);}
if(!Constants.isOSX) {
MenuItem help_about = new MenuItem(helpMenu, SWT.NULL);
Messages.setLanguageText(help_about, "MainWindow.menu.help.about"); //$NON-NLS-1$
help_about.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
AboutWindow.show(display);
}
});
new MenuItem(helpMenu,SWT.SEPARATOR);
}
MenuItem help_health = new MenuItem(helpMenu, SWT.NULL);
Messages.setLanguageText(help_health, "MyTorrentsView.menu.health");
help_health.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
HealthHelpWindow.show( display );
}
});
MenuItem help_whatsnew = new MenuItem(helpMenu, SWT.NULL);
Messages.setLanguageText(help_whatsnew, "MainWindow.menu.help.releasenotes");
help_whatsnew.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
new WelcomeWindow();
}
});
MenuItem help_new = new MenuItem(helpMenu, SWT.NULL);
Messages.setLanguageText(help_new, "MainWindow.menu.help.whatsnew"); //$NON-NLS-1$
help_new.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
Utils.launch("http://azureus.sourceforge.net/changelog.php?version=" + Constants.AZUREUS_VERSION);
}
});
MenuItem help_faq = new MenuItem(helpMenu, SWT.NULL);
Messages.setLanguageText(help_faq, "MainWindow.menu.help.faq"); //$NON-NLS-1$
help_faq.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
String faqString = Constants.AZUREUS_WIKI;
Utils.launch(faqString);
}
});
MenuItem help_plugin= new MenuItem(helpMenu, SWT.NULL);
Messages.setLanguageText(help_plugin, "MainWindow.menu.help.plugins"); //$NON-NLS-1$
help_plugin.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
String pluginString = "http://azureus.sourceforge.net/plugin_list.php";
Utils.launch(pluginString);
}
});
new MenuItem(helpMenu,SWT.SEPARATOR);
if ( !SystemProperties.isJavaWebStartInstance()){
MenuItem help_checkupdate = new MenuItem(helpMenu, SWT.NULL);
KeyBindings.setAccelerator(help_checkupdate, "MainWindow.menu.help.checkupdate");
Messages.setLanguageText(help_checkupdate, "MainWindow.menu.help.checkupdate"); //$NON-NLS-1$
help_checkupdate.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
UIFunctionsSWT uiFunctions = UIFunctionsManagerSWT.getUIFunctionsSWT();
if (uiFunctions != null) {
uiFunctions.bringToFront();
}
UpdateMonitor.getSingleton(core).performCheck(true, false, new UpdateCheckInstanceListener() {
public void cancelled(UpdateCheckInstance instance) {
}
public void complete(UpdateCheckInstance instance) {
if (instance.getUpdates().length == 0) {
Utils.execSWTThread(new AERunnable() {
public void runSupport() {
Utils.openMessageBox(parent,
SWT.ICON_INFORMATION | SWT.OK,
"window.update.noupdates", (String[]) null);
}
});
}
}
});
}
});
}
new MenuItem(helpMenu,SWT.SEPARATOR);
MenuItem help_debug = new MenuItem(helpMenu, SWT.NULL);
Messages.setLanguageText(help_debug, "MainWindow.menu.help.debug");
help_debug.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
UIDebugGenerator.generate();
}
});
/*
new MenuItem(helpMenu,SWT.SEPARATOR);
MenuItem testMenu = new MenuItem(helpMenu, SWT.NULL);
testMenu.setText("Test");
testMenu.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event arg0) {
final Shell shell = helpMenu.getShell();
AEThread runner = new AEThread("test list") {
public void runSupport() {
StringListChooser chooser = new StringListChooser(shell);
chooser.setTitle("Test Dialog");
chooser.setText("This is a test of a list choose dialog.\nPlease choose an item from the following list : ");
chooser.addOption("Option 1 : SWT");
chooser.addOption("Option 2 : Java");
chooser.addOption("Option 3 : I am alive");
System.out.println("Result =" + chooser.open());
}
};
runner.start();
}
});
*/
} catch (Exception e) {
Logger.log(new LogEvent(LOGID, "Error while creating menu items", e));
}
if (linkToParent) {
parent.setMenuBar(menuBar);
}
}
private void addDebugMenu(Menu menu) {
MenuItem item;
item = new MenuItem(menu, SWT.CASCADE);
item.setText("Debug");
Menu menuDebug = new Menu(menu.getParent(), SWT.DROP_DOWN);
item.setMenu(menuDebug);
item = new MenuItem(menuDebug, SWT.CASCADE);
item.setText("ScreenSize");
Menu menuSS = new Menu(menu.getParent(), SWT.DROP_DOWN);
item.setMenu(menuSS);
item = new MenuItem(menuSS, SWT.NONE);
item.setText("640x400");
item.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
mainWindow.getShell().setSize(640, 400);
}
});
item = new MenuItem(menuSS, SWT.NONE);
item.setText("800x560");
item.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
mainWindow.getShell().setSize(850, 560);
}
});
item = new MenuItem(menuSS, SWT.NONE);
item.setText("1024x700");
item.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
mainWindow.getShell().setSize(1024, 700);
}
});
item = new MenuItem(menuSS, SWT.NONE);
item.setText("1280x980");
item.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
mainWindow.getShell().setSize(1280, 980);
}
});
}
private void addTransferMenu(final Shell parent, boolean modal, boolean notMainWindow)
{
// ******** The Download Menu
MenuItem downloadItem = new MenuItem(menuBar, SWT.CASCADE);
Messages.setLanguageText(downloadItem, "MainWindow.menu.transfers"); //$NON-NLS-1$
transferMenu = new Menu(parent, SWT.DROP_DOWN);
downloadItem.setMenu(transferMenu);
if(modal) {performOneTimeDisable(downloadItem, true);}
// new MenuItem(fileMenu,SWT.SEPARATOR);
final MenuItem itemStartAll = new MenuItem(transferMenu,SWT.NULL);
KeyBindings.setAccelerator(itemStartAll, "MainWindow.menu.transfers.startalltransfers");
Messages.setLanguageText(itemStartAll,"MainWindow.menu.transfers.startalltransfers");
final MenuItem itemStopAll = new MenuItem(transferMenu,SWT.NULL);
KeyBindings.setAccelerator(itemStopAll, "MainWindow.menu.transfers.stopalltransfers");
Messages.setLanguageText(itemStopAll,"MainWindow.menu.transfers.stopalltransfers");
final MenuItem itemPause = new MenuItem(transferMenu,SWT.NULL);
KeyBindings.setAccelerator(itemPause, "MainWindow.menu.transfers.pausetransfers");
Messages.setLanguageText(itemPause,"MainWindow.menu.transfers.pausetransfers");
if(notMainWindow) {performOneTimeDisable(itemPause, true);}
final MenuItem itemResume = new MenuItem(transferMenu,SWT.NULL);
KeyBindings.setAccelerator(itemResume, "MainWindow.menu.transfers.resumetransfers");
Messages.setLanguageText(itemResume,"MainWindow.menu.transfers.resumetransfers");
if(notMainWindow) {performOneTimeDisable(itemResume, true);}
itemStartAll.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event arg0) {
core.getGlobalManager().startAllDownloads();
}
});
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -