📄 torrentoptionsview.java
字号:
if (managers.length > 3)
str = (new StringBuilder()).append(str).append("...").toString();
lHeader.setText((new StringBuilder()).append(" ").append(managers.length).append(" ").append(MessageText.getString("ConfigView.section.torrents")).append(" : ").append(str).toString());
}
gridData = new GridData(772);
lHeader.setLayoutData(gridData);
Group gTorrentOptions = new Group(panel, 0);
Messages.setLanguageText(gTorrentOptions, "ConfigView.section.transfer");
gridData = new GridData(272);
gTorrentOptions.setLayoutData(gridData);
layout = new GridLayout();
layout.numColumns = 2;
gTorrentOptions.setLayout(layout);
String k_unit = DisplayFormatters.getRateUnitBase10(1).trim();
Label label = new Label(gTorrentOptions, 0);
gridData = new GridData();
label.setLayoutData(gridData);
label.setText((new StringBuilder()).append(k_unit).append(" ").append(MessageText.getString("GeneralView.label.maxuploadspeed.tooltip")).toString());
GenericIntParameter max_upload = new GenericIntParameter(adhoc_param_adapter, gTorrentOptions, "max.upload");
adhoc_parameters.put("max.upload", max_upload);
gridData = new GridData();
gridData.widthHint = 40;
max_upload.setLayoutData(gridData);
if (userMode > 0)
{
label = new Label(gTorrentOptions, 0);
gridData = new GridData();
label.setLayoutData(gridData);
Messages.setLanguageText(label, "TorrentOptionsView.param.max.uploads.when.busy");
GenericIntParameter max_upload_when_busy = new GenericIntParameter(ds_param_adapter, gTorrentOptions, "max.upload.when.busy");
ds_parameters.put("max.upload.when.busy", max_upload_when_busy);
gridData = new GridData();
gridData.widthHint = 40;
max_upload_when_busy.setLayoutData(gridData);
}
label = new Label(gTorrentOptions, 0);
gridData = new GridData();
label.setLayoutData(gridData);
label.setText((new StringBuilder()).append(k_unit).append(" ").append(MessageText.getString("GeneralView.label.maxdownloadspeed.tooltip")).toString());
GenericIntParameter max_download = new GenericIntParameter(adhoc_param_adapter, gTorrentOptions, "max.download");
adhoc_parameters.put("max.download", max_download);
gridData = new GridData();
gridData.widthHint = 40;
max_download.setLayoutData(gridData);
if (userMode > 0)
{
label = new Label(gTorrentOptions, 0);
gridData = new GridData();
label.setLayoutData(gridData);
Messages.setLanguageText(label, "TorrentOptionsView.param.max.uploads");
GenericIntParameter max_uploads = new GenericIntParameter(ds_param_adapter, gTorrentOptions, "max.uploads");
ds_parameters.put("max.uploads", max_uploads);
max_uploads.setMinimumValue(2);
gridData = new GridData();
gridData.widthHint = 40;
max_uploads.setLayoutData(gridData);
Composite cMaxUploadsOptionsArea = new Composite(gTorrentOptions, 0);
layout = new GridLayout();
layout.numColumns = 3;
layout.marginWidth = 0;
layout.marginHeight = 0;
cMaxUploadsOptionsArea.setLayout(layout);
gridData = new GridData();
gridData.horizontalIndent = 15;
gridData.horizontalSpan = 2;
cMaxUploadsOptionsArea.setLayoutData(gridData);
label = new Label(cMaxUploadsOptionsArea, 0);
ImageLoader.getInstance().setLabelImage(label, "subitem");
gridData = new GridData(2);
label.setLayoutData(gridData);
gridData = new GridData();
GenericBooleanParameter max_uploads_when_seeding_enabled = new GenericBooleanParameter(ds_param_adapter, cMaxUploadsOptionsArea, "max.uploads.when.seeding.enabled", false, "TorrentOptionsView.param.alternative.value.enable");
ds_parameters.put("max.uploads.when.seeding.enabled", max_uploads_when_seeding_enabled);
max_uploads_when_seeding_enabled.setLayoutData(gridData);
GenericIntParameter max_uploads_when_seeding = new GenericIntParameter(ds_param_adapter, cMaxUploadsOptionsArea, "max.uploads.when.seeding");
ds_parameters.put("max.uploads.when.seeding", max_uploads_when_seeding);
gridData = new GridData();
gridData.widthHint = 40;
max_uploads_when_seeding.setMinimumValue(2);
max_uploads_when_seeding.setLayoutData(gridData);
max_uploads_when_seeding_enabled.setAdditionalActionPerformer(new ChangeSelectionActionPerformer(max_uploads_when_seeding.getControl()));
label = new Label(gTorrentOptions, 0);
gridData = new GridData();
label.setLayoutData(gridData);
Messages.setLanguageText(label, "TorrentOptionsView.param.max.peers");
GenericIntParameter max_peers = new GenericIntParameter(ds_param_adapter, gTorrentOptions, "max.peers");
ds_parameters.put("max.peers", max_peers);
gridData = new GridData();
gridData.widthHint = 40;
max_peers.setLayoutData(gridData);
Composite cMaxPeersOptionsArea = new Composite(gTorrentOptions, 0);
layout = new GridLayout();
layout.numColumns = 3;
layout.marginWidth = 0;
layout.marginHeight = 0;
cMaxPeersOptionsArea.setLayout(layout);
gridData = new GridData();
gridData.horizontalIndent = 15;
gridData.horizontalSpan = 2;
cMaxPeersOptionsArea.setLayoutData(gridData);
label = new Label(cMaxPeersOptionsArea, 0);
ImageLoader.getInstance().setLabelImage(label, "subitem");
gridData = new GridData(2);
label.setLayoutData(gridData);
gridData = new GridData();
GenericBooleanParameter max_peers_when_seeding_enabled = new GenericBooleanParameter(ds_param_adapter, cMaxPeersOptionsArea, "max.peers.when.seeding.enabled", false, "TorrentOptionsView.param.alternative.value.enable");
ds_parameters.put("max.peers.when.seeding.enabled", max_peers_when_seeding_enabled);
max_peers_when_seeding_enabled.setLayoutData(gridData);
GenericIntParameter max_peers_when_seeding = new GenericIntParameter(ds_param_adapter, cMaxPeersOptionsArea, "max.peers.when.seeding");
ds_parameters.put("max.peers.when.seeding", max_peers_when_seeding);
gridData = new GridData();
gridData.widthHint = 40;
max_peers_when_seeding.setLayoutData(gridData);
max_peers_when_seeding_enabled.setAdditionalActionPerformer(new ChangeSelectionActionPerformer(max_peers_when_seeding.getControl()));
label = new Label(gTorrentOptions, 0);
gridData = new GridData();
label.setLayoutData(gridData);
Messages.setLanguageText(label, "TorrentOptionsView.param.max.seeds");
GenericIntParameter max_seeds = new GenericIntParameter(ds_param_adapter, gTorrentOptions, "max.seeds");
ds_parameters.put("max.seeds", max_seeds);
gridData = new GridData();
gridData.widthHint = 40;
max_seeds.setLayoutData(gridData);
}
Label reset_label = new Label(gTorrentOptions, 0);
Messages.setLanguageText(reset_label, "TorrentOptionsView.param.reset.to.default");
Button reset_button = new Button(gTorrentOptions, 8);
Messages.setLanguageText(reset_button, "TorrentOptionsView.param.reset.button");
reset_button.addListener(13, new Listener() {
final TorrentOptionsView this$0;
public void handleEvent(Event event)
{
setDefaults();
}
{
this$0 = TorrentOptionsView.this;
super();
}
});
for (int i = 0; i < managers.length; i++)
managers[i].getDownloadState().addListener(this, "parameters", 1);
}
protected void setDefaults()
{
for (Iterator it = ds_parameters.keySet().iterator(); it.hasNext();)
{
String key = (String)it.next();
int i = 0;
while (i < managers.length)
{
managers[i].getDownloadState().setParameterDefault(key);
i++;
}
}
for (Iterator it = adhoc_parameters.values().iterator(); it.hasNext();)
{
Object param = it.next();
if (param instanceof GenericIntParameter)
{
GenericIntParameter int_param = (GenericIntParameter)param;
int_param.setValue(0, true);
} else
{
Debug.out((new StringBuilder()).append("Unknown parameter type: ").append(param.getClass()).toString());
}
}
}
public void attributeEventOccurred(DownloadManager dm, String attribute_name, int event_type)
{
final DownloadManagerState state = dm.getDownloadState();
Utils.execSWTThread(new Runnable() {
final DownloadManagerState val$state;
final TorrentOptionsView this$0;
public void run()
{
for (Iterator it = ds_parameters.entrySet().iterator(); it.hasNext();)
{
java.util.Map.Entry entry = (java.util.Map.Entry)it.next();
String key = (String)entry.getKey();
Object param = entry.getValue();
if (param instanceof GenericIntParameter)
{
GenericIntParameter int_param = (GenericIntParameter)param;
int value = state.getIntParameter(key);
int_param.setValue(value);
} else
if (param instanceof GenericBooleanParameter)
{
GenericBooleanParameter bool_param = (GenericBooleanParameter)param;
boolean value = state.getBooleanParameter(key);
bool_param.setSelected(value);
} else
{
Debug.out((new StringBuilder()).append("Unknown parameter type: ").append(param.getClass()).toString());
}
}
}
{
this$0 = TorrentOptionsView.this;
state = downloadmanagerstate;
super();
}
}, true);
}
public Composite getComposite()
{
return panel;
}
public String getFullTitle()
{
return MessageText.getString(multi_view ? "TorrentOptionsView.multi.title.full" : "TorrentOptionsView.title.full");
}
public String getData()
{
return MessageText.getString(multi_view ? "TorrentOptionsView.multi.title.short" : "TorrentOptionsView.title.short");
}
public void delete()
{
super.delete();
if (headerFont != null)
headerFont.dispose();
if (managers != null)
{
for (int i = 0; i < managers.length; i++)
managers[i].getDownloadState().removeListener(this, "parameters", 1);
}
}
public void dataSourceChanged(Object newDataSource)
{
if (newDataSource instanceof DownloadManager)
{
multi_view = false;
managers = (new DownloadManager[] {
(DownloadManager)newDataSource
});
} else
if (newDataSource instanceof DownloadManager[])
{
multi_view = true;
managers = (DownloadManager[])(DownloadManager[])newDataSource;
}
if (parent != null)
initialize(parent);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -