configsectionconnection.java

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

JAVA
402
字号
    }
    final StringListParameter	socksType  = new StringListParameter(proxy_group, "Proxy.Data.SOCKS.version", "V4", dropLabels, dropValues);
    Label lSocksVersion = new Label(proxy_group, SWT.NULL);
    Messages.setLanguageText(lSocksVersion, "ConfigView.section.proxy.socks.version");


    final BooleanParameter sameConfig = new BooleanParameter(proxy_group, "Proxy.Data.Same", true, "ConfigView.section.proxy.peer.same");
    grid_data = new GridData();
    grid_data.horizontalSpan = 2;
    sameConfig.setLayoutData( grid_data );
    

    StringParameter pDataHost = new StringParameter(proxy_group, "Proxy.Data.Host", "");
    grid_data = new GridData();
    grid_data.widthHint = 105;
    pDataHost.setLayoutData( grid_data );
    Label lDataHost = new Label(proxy_group, SWT.NULL);
    Messages.setLanguageText(lDataHost, "ConfigView.section.proxy.host");


    StringParameter pDataPort = new StringParameter(proxy_group, "Proxy.Data.Port", "");
    grid_data = new GridData();
    grid_data.widthHint = 40;
    pDataPort.setLayoutData( grid_data );
    Label lDataPort = new Label(proxy_group, SWT.NULL);
    Messages.setLanguageText(lDataPort, "ConfigView.section.proxy.port");

    
    StringParameter pDataUser = new StringParameter(proxy_group, "Proxy.Data.Username", "");
    grid_data = new GridData();
    grid_data.widthHint = 105;
    pDataUser.setLayoutData( grid_data );
    Label lDataUser = new Label(proxy_group, SWT.NULL);
    Messages.setLanguageText(lDataUser, "ConfigView.section.proxy.username");

    
    StringParameter pDataPass = new StringParameter(proxy_group, "Proxy.Data.Password", "");
    grid_data = new GridData();
    grid_data.widthHint = 105;
    pDataPass.setLayoutData( grid_data );
    Label lDataPass = new Label(proxy_group, SWT.NULL);
    Messages.setLanguageText(lDataPass, "ConfigView.section.proxy.password");

    
    
    final Control[] proxy_controls = new Control[]
    {	enableSocks.getControl(),
	    lHost,
	    pHost.getControl(),
	    lPort,
	    pPort.getControl(),
	    lUser,
	    pUser.getControl(),
	    lPass,
	    pPass.getControl(),
    };
    
    IAdditionalActionPerformer proxy_enabler =
        new GenericActionPerformer(new Control[]{}) {
          public void performAction()
          {
          	for (int i=0;i<proxy_controls.length;i++){
          		
          		proxy_controls[i].setEnabled( enableProxy.isSelected());
          	}
          }
        };
        
        
        final Control[] proxy_peer_controls = new Control[]
			    {	lDataHost,
				    pDataHost.getControl(),
				    lDataPort,
				    pDataPort.getControl(),
				    lDataUser,
				    pDataUser.getControl(),
				    lDataPass,
				    pDataPass.getControl()
			    };
        
        final Control[] proxy_peer_details = new Control[]
				{
        			sameConfig.getControl(),
        			socksPeerInform.getControl(),
        			socksType.getControl(),
        			lSocksVersion
				};
        
        IAdditionalActionPerformer proxy_peer_enabler =
            new GenericActionPerformer(new Control[]{}) {
              public void performAction()
              {
                for (int i=0;i<proxy_peer_controls.length;i++){
             	  
                  proxy_peer_controls[i].setEnabled( enableSocksPeer.isSelected() && !sameConfig.isSelected());
                }
                
                for (int i=0;i<proxy_peer_details.length;i++){
              		
                  proxy_peer_details[i].setEnabled( enableSocksPeer.isSelected());
                }
              }
            };
    
    enableSocks.setAdditionalActionPerformer( proxy_enabler );
    enableProxy.setAdditionalActionPerformer( proxy_enabler );
    enableSocksPeer.setAdditionalActionPerformer( proxy_peer_enabler );
    sameConfig.setAdditionalActionPerformer( proxy_peer_enabler );
     
    
 ///////////////////////   
    
    final BooleanParameter enable_advanced = new BooleanParameter( cServer, "config.connection.show_advanced", false );
    formData = new FormData();
    formData.top = new FormAttachment( proxy_group, 5 );
    enable_advanced.setLayoutData( formData );
    
    
 ///////////////////////
    
    Group advanced_group = new Group( cServer, SWT.NULL );
    Messages.setLanguageText( advanced_group, "ConfigView.connection.group.advanced" );
    GridLayout advanced_layout = new GridLayout();
    advanced_layout.numColumns = 2;
    advanced_group.setLayout( advanced_layout );
    
    formData = new FormData();
    formData.left = new FormAttachment( enable_advanced.getControl() );
    formData.top = new FormAttachment( proxy_group, 6 );
    advanced_group.setLayoutData( formData );
    
    GridData advanced_grid_data;
    
    final IntParameter mtu_size = new IntParameter( advanced_group, "network.tcp.mtu.size" );
    advanced_grid_data = new GridData();
    advanced_grid_data.widthHint = 40;
    mtu_size.setLayoutData( advanced_grid_data );
    Label lmtu = new Label(advanced_group, SWT.NULL);
    Messages.setLanguageText(lmtu, "ConfigView.section.connection.advanced.mtu");
    
    
    final IntParameter SO_SNDBUF = new IntParameter( advanced_group, "network.tcp.socket.SO_SNDBUF" );
    advanced_grid_data = new GridData();
    advanced_grid_data.widthHint = 40;
    SO_SNDBUF.setLayoutData( advanced_grid_data );
    Label lsend = new Label(advanced_group, SWT.NULL);
    Messages.setLanguageText(lsend, "ConfigView.section.connection.advanced.SO_SNDBUF");
    
    
    final IntParameter SO_RCVBUF = new IntParameter( advanced_group, "network.tcp.socket.SO_RCVBUF" );
    advanced_grid_data = new GridData();
    advanced_grid_data.widthHint = 40;
    SO_RCVBUF.setLayoutData( advanced_grid_data );
    Label lreceiv = new Label(advanced_group, SWT.NULL);
    Messages.setLanguageText(lreceiv, "ConfigView.section.connection.advanced.SO_RCVBUF");
    

    StringParameter IPTOS = new StringParameter( advanced_group, "network.tcp.socket.IPTOS" );
    grid_data = new GridData();
    grid_data.widthHint = 30;
    IPTOS.setLayoutData( grid_data );
    Label ltos = new Label(advanced_group, SWT.NULL);
    Messages.setLanguageText(ltos, "ConfigView.section.connection.advanced.IPTOS");
    

    Control[] advanced_controls = { advanced_group,
                                    mtu_size.getControl(),
                                    lmtu,
                                    SO_SNDBUF.getControl(),
                                    lsend,
                                    SO_RCVBUF.getControl(),
                                    lreceiv,
                                    IPTOS.getControl(),
                                    ltos
                                   };
    
    enable_advanced.setAdditionalActionPerformer( new ChangeSelectionActionPerformer( advanced_controls ) );
    enable_advanced.setAdditionalActionPerformer( new IAdditionalActionPerformer() {
      boolean checked;
      public void performAction() {
        if( !checked ) {  //revert all advanced options back to defaults
          ConfigurationManager.getInstance().removeParameter( "network.tcp.mtu.size" );
          ConfigurationManager.getInstance().removeParameter( "network.tcp.socket.SO_SNDBUF" );
          ConfigurationManager.getInstance().removeParameter( "network.tcp.socket.SO_RCVBUF" );
          ConfigurationManager.getInstance().removeParameter( "network.tcp.socket.IPTOS" );
        }
      }
      public void setSelected(boolean selected) {  checked = selected;  }
      public void setIntValue(int value) { }
      public void setStringValue(String value) {}
    });
    
    
 ///////////////////////   
 
    
    return cServer;

  }
}

⌨️ 快捷键说明

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