mainmenu.java

来自「Azureus is a powerful, full-featured, cr」· Java 代码 · 共 609 行 · 第 1/2 页

JAVA
609
字号
    				MenuEvent	menu )
          		{
          		  itemPause.setEnabled( mainWindow.getGlobalManager().canPauseDownloads() );
         			          			
          		  itemResume.setEnabled( mainWindow.getGlobalManager().canResumeDownloads() );
          		}
          		
        		public void
    			menuHidden(
    				MenuEvent	menu )
          		{
          			
          		}
    		});
      
      	// ******** The View Menu
      
      MenuItem viewItem = new MenuItem(menuBar, SWT.CASCADE);
      Messages.setLanguageText(viewItem, "MainWindow.menu.view"); //$NON-NLS-1$
      Menu viewMenu = new Menu(mainWindow.getShell(), SWT.DROP_DOWN);
      viewItem.setMenu(viewMenu);
  
      MenuItem view_torrents = new MenuItem(viewMenu, SWT.NULL);
      Messages.setLanguageText(view_torrents, "MainWindow.menu.view.mytorrents"); //$NON-NLS-1$
      view_torrents.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
    	mainWindow.showMyTorrents();
        }
      });
  
    MenuItem view_tracker = new MenuItem(viewMenu, SWT.NULL);
    Messages.setLanguageText(view_tracker, "MainWindow.menu.view.mytracker"); //$NON-NLS-1$
    view_tracker.addListener(SWT.Selection, new Listener() {
      public void handleEvent(Event e) {
        mainWindow.showMyTracker();
      }
    });
    
    MenuItem view_shares = new MenuItem(viewMenu, SWT.NULL);
    Messages.setLanguageText(view_shares, "MainWindow.menu.view.myshares"); //$NON-NLS-1$
    view_shares.addListener(SWT.Selection, new Listener() {
    	public void handleEvent(Event e) {
        mainWindow.showMyShares();
    	}
    });

  

      new MenuItem(viewMenu, SWT.SEPARATOR);
  
      MenuItem view_closeDetails = new MenuItem(viewMenu, SWT.NULL);
      Messages.setLanguageText(view_closeDetails, "MainWindow.menu.closealldetails"); //$NON-NLS-1$
      view_closeDetails.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
          Tab.closeAllDetails();
        }
      });
  
      addCloseDownloadBarsToMenu(viewMenu);
      
      
      //the Tools menu
      menu_tools = new MenuItem(menuBar,SWT.CASCADE);
      Messages.setLanguageText(menu_tools, "MainWindow.menu.tools"); //$NON-NLS-1$
      toolsMenu = new Menu(mainWindow.getShell(),SWT.DROP_DOWN);
      menu_tools.setMenu(toolsMenu);
      
      MenuItem view_console = new MenuItem(toolsMenu, SWT.NULL);
      Messages.setLanguageText(view_console, "MainWindow.menu.view.console"); //$NON-NLS-1$
      view_console.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
          mainWindow.showConsole();                    
        }
      });
  
      MenuItem view_stats = new MenuItem(toolsMenu, SWT.NULL);
      Messages.setLanguageText(view_stats, "MainWindow.menu.view.stats"); //$NON-NLS-1$
      view_stats.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
          mainWindow.showStats();
        }
      });
            
      
      
      new MenuItem(toolsMenu, SWT.SEPARATOR);
      
      MenuItem file_configure = new MenuItem(toolsMenu, SWT.NULL);
      Messages.setLanguageText(file_configure, "MainWindow.menu.file.configure"); //$NON-NLS-1$
      file_configure.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
          new ConfigureWizard(mainWindow.getAzureusCore(), display);
        }
      });
      
      
      //No need for configuration on OS X
      if(! Constants.isOSX) {                
        MenuItem view_config = new MenuItem(toolsMenu, SWT.NULL);
        Messages.setLanguageText(view_config, "MainWindow.menu.view.configuration"); //$NON-NLS-1$
        view_config.addListener(SWT.Selection, new Listener() {
          public void handleEvent(Event e) {
            mainWindow.showConfig();
          }
        });
      }
      
      
      
      
      //the Plugins menu
      menu_plugin = new MenuItem(menuBar, SWT.CASCADE);
      Messages.setLanguageText(menu_plugin, "MainWindow.menu.view.plugins"); //$NON-NLS-1$
      pluginMenu = new Menu(mainWindow.getShell(),SWT.DROP_DOWN);
      menu_plugin.setEnabled(false);
      menu_plugin.setMenu(pluginMenu);
      
      new MenuItem(pluginMenu, SWT.SEPARATOR);
      
      MenuItem plugins_install_wizard = new MenuItem(pluginMenu, SWT.NULL);
      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(mainWindow.getAzureusCore(), display);
        }
      });
      
      MenuItem plugins_uninstall_wizard = new MenuItem(pluginMenu, SWT.NULL);
      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(mainWindow.getAzureusCore(), display);
        }
      });
      
      
      //The Help Menu
      MenuItem helpItem = new MenuItem(menuBar, SWT.CASCADE);
      Messages.setLanguageText(helpItem, "MainWindow.menu.help"); //$NON-NLS-1$
      Menu helpMenu = new Menu(mainWindow.getShell(), SWT.DROP_DOWN);
      helpItem.setMenu(helpMenu);
  
      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);
        }
      });
      
      if ( !SystemProperties.isJavaWebStartInstance()){
        
        MenuItem help_checkupdate = new MenuItem(helpMenu, SWT.NULL);
        Messages.setLanguageText(help_checkupdate, "MainWindow.menu.help.checkupdate"); //$NON-NLS-1$
        help_checkupdate.addListener(SWT.Selection, new Listener() {
          public void handleEvent(Event e) {          
            UpdateMonitor.getSingleton( mainWindow.getAzureusCore()).performCheck();
          }
        });
      }
      
      
      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_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.AELITIS_WEB_SITE + "wiki/";
          Program.launch(faqString);
        }
      });
      
      new MenuItem(helpMenu,SWT.SEPARATOR);
      
      
      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) {
          Program.launch("http://azureus.sourceforge.net/changelog.php?version=" + Constants.AZUREUS_VERSION);
        }
      });
      
      
      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";
            Program.launch(pluginString);
          }
        });
    
  
      new MenuItem(helpMenu,SWT.SEPARATOR);
      
      MenuItem help_donate = new MenuItem(helpMenu, SWT.NULL);
      Messages.setLanguageText(help_donate, "MainWindow.menu.help.donate"); //$NON-NLS-1$
      help_donate.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
          new DonationWindow2(display).show();
          //String donationString = "https://www.paypal.com/xclick/business=olivier%40gudy.org&item_name=Azureus&no_note=1&tax=0&currency_code=EUR";
          //Program.launch(donationString);
        }
      });
    } catch (Exception e) {
      LGLogger.log(LGLogger.ERROR, "Error while creating menu items");
      Debug.printStackTrace( e );
    }
  }

  public void addCloseDownloadBarsToMenu(Menu menu) {
    MenuItem view_closeAll = new MenuItem(menu, SWT.NULL);
    Messages.setLanguageText(view_closeAll, "MainWindow.menu.closealldownloadbars"); //$NON-NLS-1$
    view_closeAll.addListener(SWT.Selection, new Listener() {
      public void handleEvent(Event e) {
        mainWindow.closeDownloadBars();
      }
    });
  }

  
  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());
        }
      }
    }
  }
  
  
  public void refreshLanguage() {
    if (display == null || display.isDisposed())
      return;

    display.asyncExec(new AERunnable() {
      public void runSupport() {
        updateMenuText(menuBar);
        mainWindow.setSelectedLanguageItem(); 
      }
    });
  }
  
  public void 
  addPluginView(
  	final PluginView view) 
  {
    display.asyncExec(new AERunnable() {
      public void runSupport() 
      {
      	String	name = view.getPluginViewName();
      	
      	MenuItem[]	items = pluginMenu.getItems();
      	
      	int	insert_at	= items.length;
      
      	for (int i=0;i<items.length;i++){
      	
      		if ( 	items[i].getStyle() == SWT.SEPARATOR ||
      				name.compareTo(items[i].getText()) < 0 ){
      			
      			insert_at  = i;
      			
      			break;
      		}
      	}
      	      	      	
        MenuItem item = new MenuItem(pluginMenu,SWT.NULL,insert_at);
        item.setText( name );
        item.addListener(SWT.Selection,new Listener() {
          public void handleEvent(Event e) {
            mainWindow.openPluginView(view);
          }
        });
        menu_plugin.setEnabled(true);
      }
    }); 
  }
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?