📄 torrentoptionsview.java
字号:
gridData = new GridData();
GenericBooleanParameter max_peers_when_seeding_enabled =
new GenericBooleanParameter(
ds_param_adapter,
cMaxPeersOptionsArea,
DownloadManagerState.PARAM_MAX_PEERS_WHEN_SEEDING_ENABLED,
false,
TEXT_PREFIX + "alternative.value.enable");
ds_parameters.put( DownloadManagerState.PARAM_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,
DownloadManagerState.PARAM_MAX_PEERS_WHEN_SEEDING);
ds_parameters.put( DownloadManagerState.PARAM_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()));
// max seeds
label = new Label(gTorrentOptions, SWT.NULL);
gridData = new GridData();
label.setLayoutData( gridData );
Messages.setLanguageText(label, TEXT_PREFIX + "max.seeds" );
GenericIntParameter max_seeds = new GenericIntParameter(
ds_param_adapter, gTorrentOptions,
DownloadManagerState.PARAM_MAX_SEEDS);
ds_parameters.put( DownloadManagerState.PARAM_MAX_SEEDS, max_seeds );
gridData = new GridData();
gridData.widthHint = 40;
max_seeds.setLayoutData(gridData);
}
Label reset_label = new Label(gTorrentOptions, SWT.NULL );
Messages.setLanguageText(reset_label, TEXT_PREFIX + "reset.to.default");
Button reset_button = new Button(gTorrentOptions, SWT.PUSH);
Messages.setLanguageText(reset_button, TEXT_PREFIX + "reset.button" );
reset_button.addListener(SWT.Selection,
new Listener()
{
public void
handleEvent(Event event)
{
setDefaults();
}
});
manager.getDownloadState().addListener( this );
}
protected void
setDefaults()
{
Iterator it = ds_parameters.keySet().iterator();
while( it.hasNext()){
String key = (String)it.next();
manager.getDownloadState().setParameterDefault( key );
}
it = adhoc_parameters.values().iterator();
while ( it.hasNext()){
Object param = it.next();
if ( param instanceof GenericIntParameter ){
GenericIntParameter int_param = (GenericIntParameter)param;
int_param.setValue( 0, true );
}else{
Debug.out( "Unknown parameter type: " + param.getClass());
}
}
}
public void
stateChanged(
DownloadManagerState state,
DownloadManagerStateEvent event )
{
if ( event.getType() == DownloadManagerStateEvent.ET_ATTRIBUTE_WRITTEN ){
String attribute_name = (String)event.getData();
if ( attribute_name.equals( DownloadManagerState.AT_PARAMETERS )){
Utils.execSWTThread(
new Runnable()
{
public void
run()
{
Iterator it = ds_parameters.entrySet().iterator();
while( it.hasNext()){
Map.Entry entry = (Map.Entry)it.next();
String key = (String)entry.getKey();
Object param = entry.getValue();
if ( param instanceof GenericIntParameter ){
GenericIntParameter int_param = (GenericIntParameter)param;
int value = manager.getDownloadState().getIntParameter( key );
int_param.setValue( value );
}else if ( param instanceof GenericBooleanParameter ){
GenericBooleanParameter bool_param = (GenericBooleanParameter)param;
boolean value = manager.getDownloadState().getBooleanParameter( key );
bool_param.setValue( value );
}else{
Debug.out( "Unknown parameter type: " + param.getClass());
}
}
}
},
true );
}
}
}
public Composite
getComposite()
{
return panel;
}
public String
getFullTitle()
{
return MessageText.getString("TorrentOptionsView.title.full");
}
public String
getData()
{
return( "TorrentOptionsView.title.short" );
}
public void
delete()
{
super.delete();
if ( headerFont != null ){
headerFont.dispose();
}
manager.getDownloadState().removeListener( this );
}
protected class
adhocParameterAdapter
extends GenericParameterAdapter
{
public int
getIntValue(
String key )
{
return( getIntValue( key, 0 ));
}
public int
getIntValue(
String key,
int def )
{
if ( key == MAX_UPLOAD ){
return( manager.getStats().getUploadRateLimitBytesPerSecond()/1024);
}else if ( key == MAX_DOWNLOAD ){
return( manager.getStats().getDownloadRateLimitBytesPerSecond()/1024);
}else{
Debug.out( "Unknown key '" + key + "'" );
return(0);
}
}
public void
setIntValue(
String key,
int value )
{
if ( value != getIntValue( key )){
if ( key == MAX_UPLOAD ){
manager.getStats().setUploadRateLimitBytesPerSecond(value*1024);
}else if ( key == MAX_DOWNLOAD ){
manager.getStats().setDownloadRateLimitBytesPerSecond(value*1024);
}else{
Debug.out( "Unknown key '" + key + "'" );
}
}
}
}
protected class
downloadStateParameterAdapter
extends GenericParameterAdapter
{
public int
getIntValue(
String key )
{
return( getIntValue( key, 0 ));
}
public int
getIntValue(
String key,
int def )
{
return( manager.getDownloadState().getIntParameter( key ));
}
public void
setIntValue(
String key,
int value )
{
if ( value != getIntValue(key)){
manager.getDownloadState().setIntParameter( key, value );
}
}
public boolean
getBooleanValue(
String key )
{
return( getBooleanValue(key,false));
}
public boolean
getBooleanValue(
String key,
boolean def )
{
return( manager.getDownloadState().getBooleanParameter( key ));
}
public void
setBooleanValue(
String key,
boolean value )
{
if ( value != getBooleanValue(key)){
manager.getDownloadState().setBooleanParameter( key, value );
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -