📄 menufactory.java
字号:
{
MenuItem file_exit = new MenuItem(menuParent, 0);
if (!COConfigurationManager.getBooleanParameter("Enable System Tray") || !COConfigurationManager.getBooleanParameter("Close To Tray"))
KeyBindings.setAccelerator(file_exit, "MainWindow.menu.file.exit");
Messages.setLanguageText(file_exit, "MainWindow.menu.file.exit");
file_exit.addListener(13, new Listener() {
public void handleEvent(Event e)
{
UIFunctionsManagerSWT.getUIFunctionsSWT().dispose(false, false);
}
});
ParameterListener paramListener = new ParameterListener(file_exit) {
final MenuItem val$file_exit;
public void parameterChanged(String parameterName)
{
if (COConfigurationManager.getBooleanParameter("Enable System Tray") && COConfigurationManager.getBooleanParameter("Close To Tray"))
KeyBindings.removeAccelerator(file_exit, "MainWindow.menu.file.exit");
else
KeyBindings.setAccelerator(file_exit, "MainWindow.menu.file.exit");
}
{
file_exit = menuitem;
super();
}
};
COConfigurationManager.addParameterListener("Enable System Tray", paramListener);
COConfigurationManager.addParameterListener("Close To Tray", paramListener);
return file_exit;
}
public static MenuItem addStartAllMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.transfers.startalltransfers", new Listener() {
public void handleEvent(Event event)
{
MenuFactory.getCore().getGlobalManager().startAllDownloads();
}
});
}
public static MenuItem addStopAllMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.transfers.stopalltransfers", new Listener() {
public void handleEvent(Event event)
{
ManagerUtils.asyncStopAll();
}
});
}
public static MenuItem addPauseMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.transfers.pausetransfers", new Listener() {
public void handleEvent(Event event)
{
ManagerUtils.asyncPause();
}
});
}
public static MenuItem addResumeMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.transfers.resumetransfers", new Listener() {
public void handleEvent(Event event)
{
ManagerUtils.asyncResume();
}
});
}
public static MenuItem addMyTorrentsMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.view.mytorrents", new Listener() {
public void handleEvent(Event e)
{
UIFunctions uiFunctions = UIFunctionsManager.getUIFunctions();
if (uiFunctions != null)
uiFunctions.openView(8, null);
}
});
}
public static MenuItem addDetailedListMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.view.detailedlist", new Listener() {
public void handleEvent(Event e)
{
UIFunctions uiFunctions = UIFunctionsManager.getUIFunctions();
if (uiFunctions != null)
uiFunctions.openView(11, null);
}
});
}
public static MenuItem addAllPeersMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.view.allpeers", new Listener() {
public void handleEvent(Event e)
{
UIFunctions uiFunctions = UIFunctionsManager.getUIFunctions();
if (uiFunctions != null)
uiFunctions.openView(10, null);
}
});
}
public static 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.openView(9, null);
}
});
}
public static 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.openView(7, null);
}
});
}
public static MenuItem addViewToolbarMenuItem(Menu menu)
{
MenuItem item = addMenuItem(menu, 32, "MainWindow.menu.view.iconbar", new Listener() {
public void handleEvent(Event e)
{
UIFunctionsSWT uiFunctions = MenuFactory.getUIFunctionSWT();
if (null != uiFunctions)
{
IMainWindow mainWindow = uiFunctions.getMainWindow();
boolean isToolbarVisible = mainWindow.isVisible(2);
mainWindow.setVisible(2, !isToolbarVisible);
}
}
});
ParameterListener listener = new ParameterListener(item) {
final MenuItem val$item;
public void parameterChanged(String parameterName)
{
item.setSelection(COConfigurationManager.getBooleanParameter(parameterName));
}
{
item = menuitem;
super();
}
};
COConfigurationManager.addAndFireParameterListener("IconBar.enabled", listener);
item.addDisposeListener(new DisposeListener(listener) {
final ParameterListener val$listener;
public void widgetDisposed(DisposeEvent e)
{
COConfigurationManager.removeParameterListener("IconBar.enabled", listener);
}
{
listener = parameterlistener;
super();
}
});
return item;
}
public static MenuItem addTransferBarToMenu(Menu menu)
{
MenuItem item = addMenuItem(menu, 32, "MainWindow.menu.view.open_global_transfer_bar", new Listener(menu) {
final Menu val$menu;
public void handleEvent(Event e)
{
if (AllTransfersBar.getManager().isOpen(MenuFactory.getCore().getGlobalManager()))
AllTransfersBar.close(MenuFactory.getCore().getGlobalManager());
else
AllTransfersBar.open(MenuFactory.getCore().getGlobalManager(), menu.getShell());
}
{
menu = menu1;
super();
}
});
menu.addListener(22, new Listener(item) {
final MenuItem val$item;
public void handleEvent(Event event)
{
item.setSelection(!MiniBarManager.getManager().getShellManager().isEmpty());
}
{
item = menuitem;
super();
}
});
return item;
}
public static MenuItem addBlockedIPsMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.view.ipFilter", new Listener() {
public void handleEvent(Event event)
{
BlockedIpsWindow.showBlockedIps(MenuFactory.getCore(), MenuFactory.getUIFunctionSWT().getMainShell());
}
});
}
public static 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.openView(0, null);
}
});
}
public static 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.openView(1, null);
}
});
}
public static MenuItem addNatTestMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.tools.nattest", new Listener() {
public void handleEvent(Event e)
{
new NatTestWindow();
}
});
}
public static MenuItem addSpeedTestMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.tools.speedtest", new Listener() {
public void handleEvent(Event e)
{
new SpeedTestWizard(MenuFactory.getCore(), MenuFactory.getDisplay());
}
});
}
public static MenuItem addConfigWizardMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.file.configure", new Listener() {
public void handleEvent(Event e)
{
new ConfigureWizard(MenuFactory.getCore(), false);
}
});
}
public static MenuItem addOptionsMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.view.configuration", new Listener() {
public void handleEvent(Event e)
{
UIFunctions uiFunctions = UIFunctionsManager.getUIFunctions();
if (uiFunctions != null)
uiFunctions.openView(4, null);
}
});
}
public static MenuItem addMinimizeWindowMenuItem(Menu menu)
{
Shell shell = menu.getShell();
MenuItem item = addMenuItem(menu, "MainWindow.menu.window.minimize", new Listener(shell) {
final Shell val$shell;
public void handleEvent(Event event)
{
if (null == shell || shell.isDisposed())
{
event.doit = false;
return;
} else
{
shell.setMinimized(true);
return;
}
}
{
shell = shell1;
super();
}
});
Listener enableHandler = new Listener(shell, item) {
final Shell val$shell;
final MenuItem val$item;
public void handleEvent(Event event)
{
if (null == shell || shell.isDisposed() || item.isDisposed())
{
event.doit = false;
return;
}
if ((shell.getStyle() & 0x80) != 0)
item.setEnabled(!shell.getMinimized());
else
item.setEnabled(false);
}
{
shell = shell1;
item = menuitem;
super();
}
};
menu.addListener(22, enableHandler);
shell.addListener(15, enableHandler);
shell.addListener(19, enableHandler);
shell.addListener(20, enableHandler);
return item;
}
public static MenuItem addBringAllToFrontMenuItem(Menu menu)
{
MenuItem item = addMenuItem(menu, "MainWindow.menu.window.alltofront", new Listener() {
public void handleEvent(Event event)
{
Iterator iter = ShellManager.sharedManager().getWindows();
do
{
if (!iter.hasNext())
break;
Shell shell = (Shell)iter.next();
if (!shell.isDisposed() && !shell.getMinimized())
shell.open();
} while (true);
}
});
Listener enableHandler = new Listener(item) {
final MenuItem val$item;
public void handleEvent(Event event)
{
if (item.isDisposed())
return;
Iterator iter = ShellManager.sharedManager().getWindows();
boolean hasNonMaximizedShell = false;
do
{
if (!iter.hasNext())
break;
Shell shell = (Shell)iter.next();
if (shell.isDisposed() || shell.getMinimized())
continue;
hasNonMaximizedShell = true;
break;
} while (true);
item.setEnabled(hasNonMaximizedShell);
}
{
item = menuitem;
super();
}
};
menu.addListener(22, enableHandler);
menu.getShell().addListener(15, enableHandler);
ShellManager.sharedManager().addWindowAddedListener(enableHandler);
ShellManager.sharedManager().addWindowRemovedListener(enableHandler);
item.addDisposeListener(new DisposeListener(enableHandler) {
final Listener val$enableHandler;
public void widgetDisposed(DisposeEvent event)
{
ShellManager.sharedManager().removeWindowAddedListener(enableHandler);
ShellManager.sharedManager().removeWindowRemovedListener(enableHandler);
}
{
enableHandler = listener;
super();
}
});
return item;
}
public static void appendWindowMenuItems(Menu menuParent)
{
Shell shell = menuParent.getShell();
int numTopItems = menuParent.getItemCount();
Listener rebuild = new Listener(menuParent, shell, numTopItems) {
final Menu val$menuParent;
final Shell val$shell;
final int val$numTopItems;
public void handleEvent(Event event)
{
if (menuParent.isDisposed() || shell.isDisposed())
return;
int size;
size = ShellManager.sharedManager().getSize();
if (size == menuParent.getItemCount() - numTopItems)
{
for (int i = numTopItems; i < menuParent.getItemCount(); i++)
{
MenuItem item = menuParent.getItem(i);
item.setSelection(item.getData() == shell);
}
return;
}
try
{
for (int i = numTopItems; i < menuParent.getItemCount(); menuParent.getItem(i).dispose());
Iterator iter = ShellManager.sharedManager().getWindows();
for (int i = 0; i < size; i++)
{
final Shell sh = (Shell)iter.next();
if (!sh.isDisposed() && sh.getText().length() != 0)
{
MenuItem item = new MenuItem(menuParent, 32);
item.setText(sh.getText());
item.setSelection(shell == sh);
item.setData(sh);
item.addSelectionListener(new SelectionAdapter() {
final Shell val$sh;
final 49 this$0;
public void widgetSelected(SelectionEvent event)
{
if (event.widget.isDisposed() || sh.isDisposed())
return;
if (sh.getMinimized())
sh.setMinimized(false);
sh.open();
}
{
this$0 = 49.this;
sh = shell1;
super();
}
});
}
}
}
catch (Exception e)
{
Logger.log(new LogEvent(LogIDs.GUI, "rebuild menu error", e));
}
return;
}
{
menuParent = menu;
shell = shell1;
numTopItems = i;
super();
}
};
ShellManager.sharedManager().addWindowAddedListener(rebuild);
ShellManager.sharedManager().addWindowRemovedListener(rebuild);
shell.addListener(15, rebuild);
menuParent.addListener(22, rebuild);
}
public static MenuItem addZoomWindowMenuItem(Menu menuParent)
{
Shell shell = menuParent.getShell();
MenuItem item = addMenuItem(menuParent, "MainWindow.menu.window.zoom", new Listener(shell) {
final Shell val$shell;
public void handleEvent(Event event)
{
if (shell.isDisposed())
{
event.doit = false;
return;
} else
{
shell.setMaximized(!shell.getMaximized());
return;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -