configsectiontrackerserver.java
来自「Azureus is a powerful, full-featured, cr」· Java 代码 · 共 635 行 · 第 1/2 页
JAVA
635 行
/*
* File : ConfigPanel*.java
* Created : 11 mar. 2004
* By : TuxPaper
*
* Copyright (C) 2004 Aelitis SARL, All rights Reserved
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details ( see the LICENSE file ).
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* AELITIS, SARL au capital de 30,000 euros,
* 8 Allee Lenotre, La Grille Royale, 78600 Le Mesnil le Roi, France.
*/
package org.gudy.azureus2.ui.swt.views.configsections;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.program.Program;
import com.aelitis.azureus.core.*;
import org.gudy.azureus2.plugins.ui.config.ConfigSection;
import org.gudy.azureus2.plugins.ui.config.ConfigSectionSWT;
import org.gudy.azureus2.ui.swt.config.*;
import org.gudy.azureus2.ui.swt.Messages;
import org.gudy.azureus2.core3.tracker.host.TRHost;
import org.gudy.azureus2.core3.tracker.server.TRTrackerServer;
import org.gudy.azureus2.core3.util.AERunnable;
import org.gudy.azureus2.ui.swt.ipchecker.IpCheckerWizard;
import org.gudy.azureus2.ui.swt.ipchecker.IpSetterCallBack;
import org.gudy.azureus2.ui.swt.mainwindow.Colors;
import org.gudy.azureus2.ui.swt.mainwindow.Cursors;
import org.gudy.azureus2.ui.swt.auth.*;
public class
ConfigSectionTrackerServer
implements ConfigSectionSWT
{
protected AzureusCore azureus_core;
public
ConfigSectionTrackerServer(
AzureusCore _azureus_core )
{
azureus_core = _azureus_core;
}
public String configSectionGetParentSection() {
return ConfigSection.SECTION_TRACKER;
}
public String configSectionGetName() {
return "tracker.server";
}
public void configSectionSave() {
}
public void configSectionDelete() {
}
public Composite configSectionCreate(final Composite parent) {
GridData gridData;
GridLayout layout;
Label label;
// main tab set up
Composite gMainTab = new Composite(parent, SWT.NULL);
gridData = new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL);
gMainTab.setLayoutData(gridData);
layout = new GridLayout();
layout.numColumns = 3;
gMainTab.setLayout(layout);
// MAIN TAB DATA
// Poll Group
Group gPollStuff = new Group(gMainTab, SWT.NULL);
Messages.setLanguageText(gPollStuff, "ConfigView.section.tracker.pollinterval");
gridData = new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL);
gridData.horizontalSpan = 3;
gPollStuff.setLayoutData(gridData);
layout = new GridLayout();
layout.numColumns = 4;
gPollStuff.setLayout(layout);
label = new Label(gPollStuff, SWT.NULL);
Messages.setLanguageText(label, "ConfigView.section.tracker.pollintervalmin");
gridData = new GridData();
label.setLayoutData( gridData );
IntParameter pollIntervalMin = new IntParameter(gPollStuff, "Tracker Poll Interval Min", TRHost.DEFAULT_MIN_RETRY_DELAY );
gridData = new GridData();
gridData.widthHint = 30;
pollIntervalMin.setLayoutData( gridData );
label = new Label(gPollStuff, SWT.NULL);
Messages.setLanguageText(label, "ConfigView.section.tracker.pollintervalmax");
gridData = new GridData();
label.setLayoutData( gridData );
IntParameter pollIntervalMax = new IntParameter(gPollStuff, "Tracker Poll Interval Max", TRHost.DEFAULT_MAX_RETRY_DELAY );
gridData = new GridData();
gridData.widthHint = 30;
pollIntervalMax.setLayoutData( gridData );
// row
label = new Label(gPollStuff, SWT.NULL);
Messages.setLanguageText(label, "ConfigView.section.tracker.pollintervalincby");
gridData = new GridData();
label.setLayoutData( gridData );
IntParameter pollIntervalIncBy = new IntParameter(gPollStuff, "Tracker Poll Inc By", TRHost.DEFAULT_INC_BY );
gridData = new GridData();
gridData.widthHint = 30;
pollIntervalIncBy.setLayoutData( gridData );
label = new Label(gPollStuff, SWT.NULL);
Messages.setLanguageText(label, "ConfigView.section.tracker.pollintervalincper");
gridData = new GridData();
label.setLayoutData( gridData );
IntParameter pollIntervalIncPer = new IntParameter(gPollStuff, "Tracker Poll Inc Per", TRHost.DEFAULT_INC_PER );
gridData = new GridData();
gridData.widthHint = 30;
pollIntervalIncPer.setLayoutData( gridData );
// scrape + cache group
Group gScrapeCache = new Group(gMainTab, SWT.NULL);
Messages.setLanguageText(gScrapeCache, "ConfigView.section.tracker.scrapeandcache");
gridData = new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL);
gridData.horizontalSpan = 3;
gScrapeCache.setLayoutData(gridData);
layout = new GridLayout();
layout.numColumns = 4;
gScrapeCache.setLayout(layout);
// row
label = new Label(gScrapeCache, SWT.NULL);
Messages.setLanguageText(label, "ConfigView.section.tracker.announcescrapepercentage");
IntParameter scrapeannouncepercentage = new IntParameter(gScrapeCache, "Tracker Scrape Retry Percentage", TRHost.DEFAULT_SCRAPE_RETRY_PERCENTAGE );
gridData = new GridData();
gridData.widthHint = 30;
scrapeannouncepercentage.setLayoutData( gridData );
label = new Label(gScrapeCache, SWT.NULL);
Messages.setLanguageText(label, "ConfigView.section.tracker.scrapecacheperiod");
gridData = new GridData();
label.setLayoutData( gridData );
IntParameter scrapeCachePeriod = new IntParameter(gScrapeCache, "Tracker Scrape Cache", TRHost.DEFAULT_SCRAPE_CACHE_PERIOD );
gridData = new GridData();
gridData.widthHint = 30;
scrapeCachePeriod.setLayoutData( gridData );
// row
label = new Label(gScrapeCache, SWT.NULL);
Messages.setLanguageText(label, "ConfigView.section.tracker.announcecacheminpeers");
IntParameter announceCacheMinPeers = new IntParameter(gScrapeCache, "Tracker Announce Cache Min Peers", TRHost.DEFAULT_ANNOUNCE_CACHE_PEER_THRESHOLD );
gridData = new GridData();
gridData.widthHint = 30;
announceCacheMinPeers.setLayoutData( gridData );
label = new Label(gScrapeCache, SWT.NULL);
Messages.setLanguageText(label, "ConfigView.section.tracker.announcecacheperiod");
gridData = new GridData();
label.setLayoutData( gridData );
IntParameter announceCachePeriod = new IntParameter(gScrapeCache, "Tracker Announce Cache", TRHost.DEFAULT_ANNOUNCE_CACHE_PERIOD );
gridData = new GridData();
gridData.widthHint = 30;
announceCachePeriod.setLayoutData( gridData );
// processing limits group
Group gProcessing = new Group(gMainTab, SWT.NULL);
Messages.setLanguageText(gProcessing, "ConfigView.section.tracker.processinglimits");
gridData = new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL);
gridData.horizontalSpan = 3;
gProcessing.setLayoutData(gridData);
layout = new GridLayout();
layout.numColumns = 3;
gProcessing.setLayout(layout);
// row annouce/scrape max process time
label = new Label(gProcessing, SWT.NULL);
Messages.setLanguageText(label, "ConfigView.section.tracker.maxgettime");
gridData = new GridData();
label.setLayoutData( gridData );
IntParameter maxGetTime = new IntParameter(gProcessing, "Tracker Max GET Time", 20 );
maxGetTime.setMinimumValue(1);
gridData = new GridData();
gridData.widthHint = 50;
maxGetTime.setLayoutData( gridData );
label = new Label(gProcessing, SWT.NULL);
Messages.setLanguageText(label, "ConfigView.section.tracker.maxgettime.info");
// row post multiplier
label = new Label(gProcessing, SWT.NULL);
Messages.setLanguageText(label, "ConfigView.section.tracker.maxposttimemultiplier");
gridData = new GridData();
label.setLayoutData( gridData );
IntParameter maxPostTimeMultiplier = new IntParameter(gProcessing, "Tracker Max POST Time Multiplier", 1 );
gridData = new GridData();
gridData.widthHint = 50;
maxPostTimeMultiplier.setLayoutData( gridData );
label = new Label(gProcessing, SWT.NULL);
Messages.setLanguageText(label, "ConfigView.section.tracker.maxposttimemultiplier.info");
// row max threads
label = new Label(gProcessing, SWT.NULL);
Messages.setLanguageText(label, "ConfigView.section.tracker.maxthreads");
gridData = new GridData();
label.setLayoutData( gridData );
IntParameter maxThreadsTime = new IntParameter(gProcessing, "Tracker Max Threads", 48 );
maxThreadsTime.setMinimumValue(1);
gridData = new GridData();
gridData.widthHint = 50;
maxThreadsTime.setLayoutData( gridData );
label = new Label(gProcessing, SWT.NULL);
// main tab again
// row
label = new Label(gMainTab, SWT.NULL);
Messages.setLanguageText(label, "ConfigView.section.tracker.maxpeersreturned");
gridData = new GridData();
label.setLayoutData( gridData );
IntParameter maxPeersReturned = new IntParameter(gMainTab, "Tracker Max Peers Returned", 100 );
gridData = new GridData();
gridData.widthHint = 50;
maxPeersReturned.setLayoutData( gridData );
label = new Label(gMainTab, SWT.NULL);
// seed retention limit
label = new Label(gMainTab, SWT.NULL);
Messages.setLanguageText(label, "ConfigView.section.tracker.seedretention");
gridData = new GridData();
label.setLayoutData( gridData );
IntParameter seedRetentionLimit = new IntParameter(gMainTab, "Tracker Max Seeds Retained");
gridData = new GridData();
gridData.widthHint = 50;
seedRetentionLimit.setLayoutData( gridData );
label = new Label(gMainTab, SWT.NULL);
Messages.setLanguageText(label, "ConfigView.section.tracker.seedretention.info");
// row
gridData = new GridData();
gridData.horizontalSpan = 2;
new BooleanParameter(gMainTab, "Tracker NAT Check Enable", true,
"ConfigView.section.tracker.natcheckenable").setLayoutData( gridData );
Composite gNATDetails = new Composite(gMainTab, SWT.NULL);
gridData = new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL);
gridData.horizontalSpan = 1;
gNATDetails.setLayoutData(gridData);
layout = new GridLayout();
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?