📄 torrentoptionsview.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: TorrentOptionsView.java
package org.gudy.azureus2.ui.swt.views;
import com.aelitis.azureus.ui.swt.imageloader.ImageLoader;
import java.util.*;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;
import org.gudy.azureus2.core3.config.COConfigurationManager;
import org.gudy.azureus2.core3.download.*;
import org.gudy.azureus2.core3.internat.MessageText;
import org.gudy.azureus2.core3.util.Debug;
import org.gudy.azureus2.core3.util.DisplayFormatters;
import org.gudy.azureus2.ui.swt.Messages;
import org.gudy.azureus2.ui.swt.Utils;
import org.gudy.azureus2.ui.swt.config.ChangeSelectionActionPerformer;
import org.gudy.azureus2.ui.swt.config.generic.*;
// Referenced classes of package org.gudy.azureus2.ui.swt.views:
// AbstractIView
public class TorrentOptionsView extends AbstractIView
implements DownloadManagerStateAttributeListener
{
protected class adhocParameterAdapter extends GenericParameterAdapter
{
final TorrentOptionsView this$0;
public int getIntValue(String key)
{
return getIntValue(key, 0);
}
public int getIntValue(String key, int def)
{
if (key == "max.upload")
{
int result = def;
for (int i = 0; i < managers.length; i++)
{
int val = managers[i].getStats().getUploadRateLimitBytesPerSecond() / 1024;
if (i == 0)
{
result = val;
continue;
}
if (result != val)
return def;
}
return result;
}
if (key == "max.download")
{
int result = def;
for (int i = 0; i < managers.length; i++)
{
int val = managers[i].getStats().getDownloadRateLimitBytesPerSecond() / 1024;
if (i == 0)
{
result = val;
continue;
}
if (result != val)
return def;
}
return result;
} else
{
Debug.out((new StringBuilder()).append("Unknown key '").append(key).append("'").toString());
return 0;
}
}
public void setIntValue(String key, int value)
{
if (key == "max.upload")
{
for (int i = 0; i < managers.length; i++)
{
DownloadManager manager = managers[i];
if (value != manager.getStats().getUploadRateLimitBytesPerSecond() / 1024)
manager.getStats().setUploadRateLimitBytesPerSecond(value * 1024);
}
} else
if (key == "max.download")
{
for (int i = 0; i < managers.length; i++)
{
DownloadManager manager = managers[i];
if (value != manager.getStats().getDownloadRateLimitBytesPerSecond() / 1024)
manager.getStats().setDownloadRateLimitBytesPerSecond(value * 1024);
}
} else
{
Debug.out((new StringBuilder()).append("Unknown key '").append(key).append("'").toString());
}
}
protected adhocParameterAdapter()
{
this$0 = TorrentOptionsView.this;
super();
}
}
protected class downloadStateParameterAdapter extends GenericParameterAdapter
{
final TorrentOptionsView this$0;
public int getIntValue(String key)
{
return getIntValue(key, 0);
}
public int getIntValue(String key, int def)
{
int result = def;
for (int i = 0; i < managers.length; i++)
{
int val = managers[i].getDownloadState().getIntParameter(key);
if (i == 0)
{
result = val;
continue;
}
if (result != val)
return def;
}
return result;
}
public void setIntValue(String key, int value)
{
for (int i = 0; i < managers.length; i++)
{
DownloadManager manager = managers[i];
if (value != manager.getDownloadState().getIntParameter(key))
manager.getDownloadState().setIntParameter(key, value);
}
}
public boolean getBooleanValue(String key)
{
return getBooleanValue(key, false);
}
public boolean getBooleanValue(String key, boolean def)
{
boolean result = def;
for (int i = 0; i < managers.length; i++)
{
boolean val = managers[i].getDownloadState().getBooleanParameter(key);
if (i == 0)
{
result = val;
continue;
}
if (result != val)
return def;
}
return result;
}
public void setBooleanValue(String key, boolean value)
{
for (int i = 0; i < managers.length; i++)
{
DownloadManager manager = managers[i];
if (value != manager.getDownloadState().getBooleanParameter(key))
manager.getDownloadState().setBooleanParameter(key, value);
}
}
protected downloadStateParameterAdapter()
{
this$0 = TorrentOptionsView.this;
super();
}
}
private static final String TEXT_PREFIX = "TorrentOptionsView.param.";
private static final String MAX_UPLOAD = "max.upload";
private static final String MAX_DOWNLOAD = "max.download";
private boolean multi_view;
private DownloadManager managers[];
private GenericParameterAdapter ds_param_adapter;
private GenericParameterAdapter adhoc_param_adapter;
private Map adhoc_parameters;
private Map ds_parameters;
private Composite panel;
private Font headerFont;
private Composite parent;
public TorrentOptionsView()
{
ds_param_adapter = new downloadStateParameterAdapter();
adhoc_param_adapter = new adhocParameterAdapter();
adhoc_parameters = new HashMap();
ds_parameters = new HashMap();
}
public TorrentOptionsView(DownloadManager managers2[])
{
ds_param_adapter = new downloadStateParameterAdapter();
adhoc_param_adapter = new adhocParameterAdapter();
adhoc_parameters = new HashMap();
ds_parameters = new HashMap();
dataSourceChanged(managers2);
}
public void initialize(Composite composite)
{
parent = composite;
if (managers == null)
return;
if (panel != null && !panel.isDisposed())
panel.dispose();
panel = new Composite(composite, 0);
GridLayout layout = new GridLayout();
layout.marginHeight = 0;
layout.marginWidth = 0;
layout.numColumns = 1;
panel.setLayout(layout);
int userMode = COConfigurationManager.getIntParameter("User Mode");
Composite cHeader = new Composite(panel, 2048);
GridLayout configLayout = new GridLayout();
configLayout.marginHeight = 3;
configLayout.marginWidth = 0;
cHeader.setLayout(configLayout);
GridData gridData = new GridData(772);
cHeader.setLayoutData(gridData);
Display d = panel.getDisplay();
cHeader.setBackground(d.getSystemColor(26));
cHeader.setForeground(d.getSystemColor(27));
Label lHeader = new Label(cHeader, 0);
lHeader.setBackground(d.getSystemColor(26));
lHeader.setForeground(d.getSystemColor(27));
FontData fontData[] = lHeader.getFont().getFontData();
fontData[0].setStyle(1);
int fontHeight = (int)((double)fontData[0].getHeight() * 1.2D);
fontData[0].setHeight(fontHeight);
headerFont = new Font(d, fontData);
lHeader.setFont(headerFont);
if (managers.length == 1)
{
lHeader.setText((new StringBuilder()).append(" ").append(MessageText.getString("authenticator.torrent")).append(" : ").append(managers[0].getDisplayName().replaceAll("&", "&&")).toString());
} else
{
String str = "";
for (int i = 0; i < Math.min(3, managers.length); i++)
str = (new StringBuilder()).append(str).append(i != 0 ? ", " : "").append(managers[i].getDisplayName().replaceAll("&", "&&")).toString();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -