📄 mainmenu.java
字号:
}
}
});
}
private MenuItem addMyTrackerMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.view.mytracker", new Listener() {
public void handleEvent(Event e) {
UIFunctions uiFunctions = UIFunctionsManager.getUIFunctions();
if (uiFunctions != null) {
uiFunctions.showMyTracker();
}
}
});
}
private MenuItem addMySharesMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.view.myshares", new Listener() {
public void handleEvent(Event e) {
UIFunctions uiFunctions = UIFunctionsManager.getUIFunctions();
if (uiFunctions != null) {
uiFunctions.showMyShares();
}
}
});
}
private MenuItem addViewToolbarMenuItem(Menu menu)
{
final MenuItem item = addMenuItem(menu, SWT.CHECK,
"MainWindow.menu.view.iconbar",
new Listener() {
public void handleEvent(Event e) {
mainWindow.setIconBarEnabled(!mainWindow.getIconBarEnabled());
}
});
final ParameterListener listener = new ParameterListener() {
public void parameterChanged(String parameterName) {
item.setSelection(COConfigurationManager.getBooleanParameter(parameterName));
}
};
COConfigurationManager.addAndFireParameterListener("IconBar.enabled",
listener);
item.addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
COConfigurationManager.removeParameterListener("IconBar.enabled",
listener);
}
});
return item;
}
private MenuItem addConsoleMenuItem(Menu menu) {
return addMenuItem(menu, "MainWindow.menu.view.console", new Listener() {
public void handleEvent(Event e) {
UIFunctions uiFunctions = UIFunctionsManager.getUIFunctions();
if (uiFunctions != null) {
uiFunctions.showConsole();
}
}
});
}
private MenuItem addStatisticsMenuItem(Menu menu) {
return addMenuItem(menu, "MainWindow.menu.view.stats", new Listener() {
public void handleEvent(Event e) {
UIFunctions uiFunctions = UIFunctionsManager.getUIFunctions();
if (uiFunctions != null) {
uiFunctions.showStats();
}
}
});
}
private MenuItem addNatTestMenuItem( Menu menu ) {
return addMenuItem(menu, "MainWindow.menu.tools.nattest", new Listener() {
public void handleEvent(Event e) {
new NatTestWindow();
}
});
}
private MenuItem addConfigWizardMenuItem(Menu menu) {
return addMenuItem(menu, "MainWindow.menu.file.configure", new Listener() {
public void handleEvent(Event e) {
new ConfigureWizard(core, display);
}
});
}
private MenuItem addCloseDetailsMenuItem(Menu menu) {
final MenuItem item = addMenuItem(menu, "MainWindow.menu.closealldetails", new Listener() {
public void handleEvent(Event e) {
Tab.closeAllDetails();
}
});
Listener enableHandler = new Listener() {
public void handleEvent(Event event) {
if(!item.isDisposed() && !event.widget.isDisposed())
item.setEnabled(mainWindow != null && mainWindow.getShell() == attachedShell && Tab.hasDetails());
}
};
menu.addListener(SWT.Show, enableHandler);
attachedShell.addListener(SWT.FocusIn, enableHandler);
Tab.addTabAddedListener(enableHandler);
Tab.addTabRemovedListener(enableHandler);
return item;
}
private MenuItem addCloseWindowMenuItem(Menu menu) {
final boolean isMainWindow = mainWindow != null && mainWindow.getShell() == attachedShell;
MenuItem item = addMenuItem(menu, "MainWindow.menu.file.closewindow", new Listener() {
public void handleEvent(Event event) {
if(isMainWindow)
{
if(MainWindow.isAlreadyDead) {return;}
mainWindow.close();
}
else if(attachedShell != null && !attachedShell.isDisposed())
{
attachedShell.close();
}
}
});
if(!isMainWindow)
{
String oldText = item.getText();
KeyBindings.setAccelerator(item, "MainWindow.menu.file.closetab");
item.setText(oldText);
}
return item;
}
private MenuItem addCloseTabMenuItem(Menu menu) {
return addMenuItem(menu, "MainWindow.menu.file.closetab", new Listener() {
public void handleEvent(Event event) {
if(MainWindow.isAlreadyDead) {return;}
mainWindow.closeViewOrWindow();
}
});
}
private MenuItem addMinimizeWindowMenuItem(Menu menu) {
final Predicable pred = new AllPredicate(new Predicable[]{new ShellCanMinimizePredicate(), new NotPredicate(new ShellIsMinimizedPredicate())});
final MenuItem item = addMenuItem(menu, "MainWindow.menu.window.minimize", new Listener() {
public void handleEvent(Event event) {
if(attachedShell.isDisposed()) {event.doit = false; return;}
attachedShell.setMinimized(true);
}
});
Listener enableHandler = getEnableHandler(item, pred, attachedShell);
menu.addListener(SWT.Show, enableHandler);
attachedShell.addListener(SWT.FocusIn, enableHandler);
attachedShell.addListener(SWT.Iconify, enableHandler);
attachedShell.addListener(SWT.Deiconify, enableHandler);
return item;
}
private MenuItem addZoomWindowMenuItem(Menu menu) {
final Predicable pred = new AllPredicate(new Predicable[]{new ShellCanMaximizePredicate(), new NotPredicate(new ShellIsMinimizedPredicate())});
final MenuItem item = addMenuItem(menu, "MainWindow.menu.window.zoom", new Listener() {
public void handleEvent(Event event) {
if(attachedShell.isDisposed()) {event.doit = false; return;}
attachedShell.setMaximized(!attachedShell.getMaximized());
}
});
Listener enableHandler = getEnableHandler(item, pred, attachedShell);
menu.addListener(SWT.Show, enableHandler);
attachedShell.addListener(SWT.FocusIn, enableHandler);
attachedShell.addListener(SWT.Iconify, enableHandler);
attachedShell.addListener(SWT.Deiconify, enableHandler);
return item;
}
private MenuItem addBringAllToFrontMenuItem(Menu menu) {
final Predicable pred = new NotPredicate(new AllManagedShellsAreMinimizedPredicate());
final MenuItem item = addMenuItem(menu, "MainWindow.menu.window.alltofront", new Listener() {
public void handleEvent(Event event) {
Iterator iter = ShellManager.sharedManager().getWindows();
while (iter.hasNext())
{
Shell shell = (Shell) iter.next();
if(!shell.isDisposed() && !shell.getMinimized())
shell.open();
}
}
});
Listener enableHandler = getEnableHandler(item, pred, ShellManager.sharedManager());
menu.addListener(SWT.Show, enableHandler);
attachedShell.addListener(SWT.FocusIn, enableHandler);
setHandlerForShellManager(item, ShellManager.sharedManager(), enableHandler);
return item;
}
private MenuItem addBlockedIPsMenuItem(Menu menu) {
return addMenuItem(menu, "MainWindow.menu.view.ipFilter", new Listener() {
public void handleEvent(Event event) {
if(MainWindow.isAlreadyDead) {return;}
BlockedIpsWindow.showBlockedIps(core, mainWindow.getShell());
}
});
}
public MenuItem addCloseDownloadBarsToMenu(Menu menu) {
final MenuItem item = addMenuItem(menu, "MainWindow.menu.closealldownloadbars", new Listener() {
public void handleEvent(Event e) {
MinimizedWindow.closeAll();
}
});
final NotPredicate pred = new NotPredicate(new ShellManagerIsEmptyPredicate());
final Listener enableHandler = getEnableHandler(item, pred, MinimizedWindow.getShellManager());
menu.addListener(SWT.Show, enableHandler);
attachedShell.addListener(SWT.FocusIn, enableHandler);
setHandlerForShellManager(item, MinimizedWindow.getShellManager(), enableHandler);
return item;
}
// utility methods
public void updateMenuText(Object menu) {
if (menu == null)
return;
if (menu instanceof Menu) {
MenuItem[] menus = ((Menu) menu).getItems();
for (int i = 0; i < menus.length; i++) {
updateMenuText(menus[i]);
}
}
else if (menu instanceof MenuItem) {
MenuItem item = (MenuItem) menu;
if (item.getData() != null) {
if (item.getData() instanceof String) {
item.setText(MessageText.getString((String) item.getData()));
updateMenuText(item.getMenu());
}
}
}
}
private static void setHandlerForShellManager(MenuItem item, final ShellManager mgr, final Listener evtHandler)
{
mgr.addWindowAddedListener(evtHandler);
mgr.addWindowRemovedListener(evtHandler);
item.addDisposeListener(new DisposeListener()
{
public void widgetDisposed(DisposeEvent event) {
mgr.removeWindowAddedListener(evtHandler);
mgr.removeWindowRemovedListener(evtHandler);
}
});
}
private static Listener getEnableHandler(final MenuItem item, final Predicable pred, final Object evalObj)
{
Listener enableHandler = new Listener() {
public void handleEvent(Event event) {
if(!item.isDisposed() && !event.widget.isDisposed())
item.setEnabled(pred.evaluate(evalObj));
}
};
return enableHandler;
}
private void performOneTimeDisable(MenuItem item, boolean affectsChildMenuItems)
{
item.setEnabled(false);
if(affectsChildMenuItems)
{
Menu childMenu = item.getMenu();
if(childMenu == null)
return;
for(int i = 0; i < childMenu.getItemCount(); i++)
{
childMenu.getItem(i).setEnabled(false);
}
}
}
public Menu getMenu(int id) {
if (id == MENU_BAR) {
return menuBar;
}
if (id == MENU_TRANSFER) {
return transferMenu;
}
if (id == MENU_VIEW) {
return viewMenu;
}
return null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -