📄 mainwindow.java
字号:
if (tab != null) {
tab.setFocus();
} else {
tab = new Tab(view);
pluginTabs.put(name, tab);
}
}
});
}
protected void
closePluginView(
IView view)
{
Item tab = Tab.getTab( view );
if ( tab != null ){
Tab.closed( tab );
}
}
public void removeActivePluginView( String view_name ) {
pluginTabs.remove(view_name);
}
public void parameterChanged(String parameterName) {
if( parameterName.equals( "Show Download Basket" ) ) {
if (COConfigurationManager.getBooleanParameter("Show Download Basket")) {
if(downloadBasket == null) {
downloadBasket = new TrayWindow(this);
downloadBasket.setVisible(true);
}
} else if(downloadBasket != null) {
downloadBasket.setVisible(false);
downloadBasket = null;
}
}
if( parameterName.equals( "GUI_SWT_bFancyTab" ) &&
folder instanceof CTabFolder &&
folder != null && !folder.isDisposed()) {
try {
((CTabFolder)folder).setSimple(!COConfigurationManager.getBooleanParameter("GUI_SWT_bFancyTab"));
} catch (NoSuchMethodError e) {
/** < SWT 3.0RC1 **/
}
}
if( parameterName.equals( "config.style.useSIUnits" ) ) {
updateComponents();
}
}
public boolean isEnabled(String itemKey) {
if(itemKey.equals("open"))
return true;
if(itemKey.equals("new"))
return true;
IView currentView = getCurrentView();
if(currentView != null)
return currentView.isEnabled(itemKey);
return false;
}
public boolean isSelected(String itemKey) {
return false;
}
public void itemActivated(String itemKey) {
if(itemKey.equals("open")) {
TorrentOpener.openTorrentWindow();
return;
}
if(itemKey.equals("new")) {
new NewTorrentWizard(getAzureusCore(),display);
return;
}
IView currentView = getCurrentView();
if(currentView != null)
currentView.itemActivated(itemKey);
}
IView getCurrentView() {
try {
if(!useCustomTab) {
TabItem[] selection = ((TabFolder)folder).getSelection();
if(selection.length > 0) {
return Tab.getView(selection[0]);
}
return null;
}
return Tab.getView(((CTabFolder)folder).getSelection());
}
catch (Exception e) {
return null;
}
}
public void refreshIconBar() {
if (iconBar != null)
iconBar.setCurrentEnabler(this);
}
public void close() {
getShell().close();
}
public void closeViewOrWindow() {
if(getCurrentView() != null)
Tab.closeCurrent();
else
close();
}
protected ConfigView showConfig() {
if (config == null){
config_view = new ConfigView( azureus_core );
config = new Tab(config_view);
config_view.getComposite().addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
config = null;
config_view = null;
}
});
}else{
config.setFocus();
}
return config_view;
}
protected boolean showConfig(String id) {
showConfig();
if (config_view == null) {
return false;
}
if (id == null) {
return true;
}
return config_view.selectSection(id);
}
public void showConsole() {
if (console == null) {
console = new Tab(new LoggerView(events));
console.getView().getComposite().addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
console = null;
}
});
} else {
console.setFocus();
}
}
protected void showStats() {
if (stats_tab == null) {
stats_tab = new Tab(new StatsView(globalManager,azureus_core));
stats_tab.getView().getComposite().addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
stats_tab = null;
}
});
} else {
stats_tab.setFocus();
}
}
protected void showStatsDHT() {
showStats();
if (stats_tab == null) {
return;
}
((StatsView) stats_tab.getView()).showDHT();
}
protected void showStatsTransfers() {
showStats();
if (stats_tab == null) {
return;
}
((StatsView) stats_tab.getView()).showTransfers();
}
public void setSelectedLanguageItem()
{
try{
this_mon.enter();
Messages.updateLanguageForControl(shell);
if ( systemTraySWT != null ){
systemTraySWT.updateLanguage();
}
if (mainStatusBar != null) {
mainStatusBar.refreshStatusText();
}
if (folder != null) {
if(useCustomTab) {
((CTabFolder)folder).update();
} else {
((TabFolder)folder).update();
}
}
if (downloadBasket != null){
downloadBasket.updateLanguage();
}
Tab.updateLanguage();
if (mainStatusBar != null) {
mainStatusBar.updateStatusText();
}
if (mainMenu != null) {
mainMenu.updateMenuText(mainMenu.getMenu(MainMenu.MENU_BAR));
}
}finally{
this_mon.exit();
}
}
public MainMenu getMenu() {
return mainMenu;
}
public void setMenu(MainMenu menu) {
mainMenu = menu;
}
/**
* MUST be called by the SWT Thread
* @param updateWindow the updateWindow or null if no update is available
*/
public void setUpdateNeeded(UpdateWindow updateWindow) {
if (mainStatusBar != null) {
mainStatusBar.setUpdateNeeded(updateWindow);
}
}
//DownloadManagerListener implementation
public void completionChanged(DownloadManager manager, boolean bCompleted) {
// Do Nothing
}
public void
filePriorityChanged( DownloadManager download, org.gudy.azureus2.core3.disk.DiskManagerFileInfo file )
{
}
public void downloadComplete(DownloadManager manager) {
// Do Nothing
}
public void positionChanged(DownloadManager download, int oldPosition,
int newPosition) {
// Do Nothing
}
public void stateChanged(final DownloadManager manager, int state) {
// if state == STARTED, then open the details window (according to config)
if(state == DownloadManager.STATE_DOWNLOADING || state == DownloadManager.STATE_SEEDING) {
if(display != null && !display.isDisposed()) {
Utils.execSWTThread(new AERunnable() {
public void runSupport() {
if (display == null || display.isDisposed())
return;
if (COConfigurationManager.getBooleanParameter("Open Details",false)) {
openManagerView(manager);
}
if (COConfigurationManager.getBooleanParameter("Open Bar", false)) {
MinimizedWindow mw = MinimizedWindow.get(manager);
if (mw == null) {
new MinimizedWindow(manager, shell);
}
}
}
});
}
}
}
public AzureusCore
getAzureusCore()
{
return( azureus_core );
}
public void
generate(
IndentWriter writer )
{
writer.println("SWT UI");
try {
writer.indent();
writer.println("SWT Version:" + SWT.getVersion() + "/"
+ SWT.getPlatform());
writer.println("MyTorrents");
Tab t = mytorrents;
if (t != null) {
try {
writer.indent();
t.generateDiagnostics(writer);
} finally {
writer.exdent();
}
}
t = my_tracker_tab;
if (t != null) {
writer.println("MyTracker");
try {
writer.indent();
t.generateDiagnostics(writer);
} finally {
writer.exdent();
}
}
t = my_shares_tab;
if (t != null) {
writer.println("MyShares");
try {
writer.indent();
t.generateDiagnostics(writer);
} finally {
writer.exdent();
}
}
TableColumnManager.getInstance().generateDiagnostics(writer);
} finally {
writer.exdent();
}
}
private void checkForWhatsNewWindow() {
final String CONFIG_LASTSHOWN = "welcome.version.lastshown";
// Config used to store int, such as 2500. Now, it stores a string
// getIntParameter will return default value if parameter is string (user
// downgraded)
// getStringParameter will bork if parameter isn't really a string
try {
String lastShown = "";
boolean bIsStringParam = true;
try {
lastShown = COConfigurationManager.getStringParameter(
CONFIG_LASTSHOWN, "");
} catch (Exception e) {
bIsStringParam = false;
}
if (lastShown.length() == 0) {
// check if we have an old style version
int latestDisplayed = COConfigurationManager.getIntParameter(
CONFIG_LASTSHOWN, 0);
if (latestDisplayed > 0) {
bIsStringParam = false;
String s = "" + latestDisplayed;
for (int i = 0; i < s.length(); i++) {
if (i != 0) {
lastShown += ".";
}
lastShown += s.charAt(i);
}
}
}
if (Constants.compareVersions(lastShown, Constants.getBaseVersion()) < 0) {
new WelcomeWindow();
if (!bIsStringParam) {
// setting parameter to a different value type makes az unhappy
COConfigurationManager.removeParameter(CONFIG_LASTSHOWN);
}
COConfigurationManager.setParameter(CONFIG_LASTSHOWN,
Constants.getBaseVersion());
COConfigurationManager.save();
}
} catch (Exception e) {
Debug.out(e);
}
}
public UISWTInstanceImpl getUISWTInstanceImpl() {
return uiSWTInstanceImpl;
}
/**
* @param string
*/
protected void setStatusText(String string) {
// TODO Auto-generated method stub
if (mainStatusBar != null)
mainStatusBar.setStatusText(string);
}
public SystemTraySWT getSystemTraySWT() {
return systemTraySWT;
}
public MainStatusBar getMainStatusBar() {
return mainStatusBar;
}
public Image generateObfusticatedImage() {
Image image;
IView[] allViews = Tab.getAllViews();
for (int i = 0; i < allViews.length; i++) {
IView view = allViews[i];
if (view instanceof ObfusticateTab) {
Item tab = Tab.getTab(view);
tab.setText(((ObfusticateTab)view).getObfusticatedHeader());
folder.update();
}
}
Rectangle clientArea = shell.getClientArea();
image = new Image(display, clientArea.width, clientArea.height);
GC gc = new GC(shell);
try {
gc.copyArea(image, clientArea.x, clientArea.y);
} finally {
gc.dispose();
}
IView currentView = getCurrentView();
if (currentView instanceof ObfusticateImage) {
Point ofs = shell.toDisplay(clientArea.x, clientArea.y);
try {
((ObfusticateImage)currentView).obfusticatedImage(image, ofs);
} catch (Exception e) {
Debug.out("Obfusticating " + currentView, e);
}
}
for (int i = 0; i < allViews.length; i++) {
IView view = allViews[i];
if (view instanceof ObfusticateTab) {
view.refresh();
}
}
return image;
}
private static Point getStoredWindowSize() {
Point size = null;
boolean isMaximized = COConfigurationManager.getBooleanParameter(
"window.maximized", false);
if (isMaximized) {
Display current = Display.getCurrent();
if (current != null) {
Rectangle clientArea = current.getClientArea();
size = new Point(clientArea.width, clientArea.height);
return size;
}
}
String windowRectangle = COConfigurationManager.getStringParameter(
"window.rectangle", null);
if (windowRectangle != null) {
String[] values = windowRectangle.split(",");
if (values.length == 4) {
try {
size = new Point(Integer.parseInt(values[2]),
Integer.parseInt(values[3]));
} catch (Exception e) {
}
}
}
return size;
}
public static void addToVersionCheckMessage(final Map map) {
try {
Utils.execSWTThread(new AERunnable() {
public void runSupport() {
Point size = null;
if (window != null) {
final Shell shell = window.getShell();
if (shell != null && !shell.getMinimized()) {
size = shell.getSize();
}
}
if (size == null) {
size = getStoredWindowSize();
if (size == null) {
return;
}
}
map.put("mainwindow.w", new Long(size.x));
map.put("mainwindow.h", new Long(size.y));
}
}, false);
} catch (Exception e) {
e.printStackTrace();
}
}
public UIFunctionsSWT getUIFunctions() {
return uiFunctions;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -