📄 viewutils.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: ViewUtils.java
package org.gudy.azureus2.ui.swt.views;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.*;
import org.gudy.azureus2.core3.internat.MessageText;
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.shells.InputShell;
public class ViewUtils
{
public static interface SpeedAdapter
{
public abstract void setUpSpeed(int i);
public abstract void setDownSpeed(int i);
}
public ViewUtils()
{
}
public static void addSpeedMenu(Shell shell, Menu menuAdvanced, boolean isTorrentContext, boolean hasSelection, boolean downSpeedDisabled, boolean downSpeedUnlimited, long totalDownSpeed,
long downSpeedSetMax, long maxDownload, boolean upSpeedDisabled, boolean upSpeedUnlimited, long totalUpSpeed, long upSpeedSetMax, long maxUpload, int num_entries, SpeedAdapter adapter)
{
MenuItem itemDownSpeed = new MenuItem(menuAdvanced, 64);
Messages.setLanguageText(itemDownSpeed, "MyTorrentsView.menu.setDownSpeed");
Utils.setMenuItemImage(itemDownSpeed, "speed");
Menu menuDownSpeed = new Menu(shell, 4);
itemDownSpeed.setMenu(menuDownSpeed);
MenuItem itemCurrentDownSpeed = new MenuItem(menuDownSpeed, 8);
itemCurrentDownSpeed.setEnabled(false);
StringBuffer speedText = new StringBuffer();
String separator = "";
if (downSpeedDisabled)
{
speedText.append(MessageText.getString("MyTorrentsView.menu.setSpeed.disabled"));
separator = " / ";
}
if (downSpeedUnlimited)
{
speedText.append(separator);
speedText.append(MessageText.getString("MyTorrentsView.menu.setSpeed.unlimited"));
separator = " / ";
}
if (totalDownSpeed > 0L)
{
speedText.append(separator);
speedText.append(DisplayFormatters.formatByteCountToKiBEtcPerSec(totalDownSpeed));
}
itemCurrentDownSpeed.setText(speedText.toString());
new MenuItem(menuDownSpeed, 2);
MenuItem itemsDownSpeed[] = new MenuItem[12];
Listener itemsDownSpeedListener = new Listener(adapter) {
final SpeedAdapter val$adapter;
public void handleEvent(Event e)
{
if (e.widget != null && (e.widget instanceof MenuItem))
{
MenuItem item = (MenuItem)e.widget;
int speed = item.getData("maxdl") != null ? ((Integer)item.getData("maxdl")).intValue() : 0;
adapter.setDownSpeed(speed);
}
}
{
adapter = speedadapter;
super();
}
};
itemsDownSpeed[1] = new MenuItem(menuDownSpeed, 8);
Messages.setLanguageText(itemsDownSpeed[1], "MyTorrentsView.menu.setSpeed.unlimit");
itemsDownSpeed[1].setData("maxdl", new Integer(0));
itemsDownSpeed[1].addListener(13, itemsDownSpeedListener);
if (hasSelection)
{
if (maxDownload == 0L)
if (downSpeedSetMax == 0L)
maxDownload = 0x32000L;
else
maxDownload = 4L * (downSpeedSetMax / 1024L) * 1024L;
for (int i = 2; i < 12; i++)
{
itemsDownSpeed[i] = new MenuItem(menuDownSpeed, 8);
itemsDownSpeed[i].addListener(13, itemsDownSpeedListener);
int limit = (int)((maxDownload / (long)(10 * num_entries)) * (long)(12 - i));
StringBuffer speed = new StringBuffer();
speed.append(DisplayFormatters.formatByteCountToKiBEtcPerSec(limit * num_entries));
if (num_entries > 1)
{
speed.append(" ");
speed.append(MessageText.getString("MyTorrentsView.menu.setSpeed.in"));
speed.append(" ");
speed.append(num_entries);
speed.append(" ");
speed.append(MessageText.getString("MyTorrentsView.menu.setSpeed.slots"));
speed.append(" ");
speed.append(DisplayFormatters.formatByteCountToKiBEtcPerSec(limit));
}
itemsDownSpeed[i].setText(speed.toString());
itemsDownSpeed[i].setData("maxdl", new Integer(limit));
}
}
new MenuItem(menuDownSpeed, 2);
String menu_key = "MyTorrentsView.menu.manual";
if (num_entries > 1)
menu_key = (new StringBuilder()).append(menu_key).append(isTorrentContext ? ".per_torrent" : ".per_peer").toString();
MenuItem itemDownSpeedManualSingle = new MenuItem(menuDownSpeed, 8);
Messages.setLanguageText(itemDownSpeedManualSingle, menu_key);
itemDownSpeedManualSingle.addSelectionListener(new SelectionAdapter(shell, adapter) {
final Shell val$shell;
final SpeedAdapter val$adapter;
public void widgetSelected(SelectionEvent e)
{
int speed_value = ViewUtils.getManualSpeedValue(shell, true);
if (speed_value > 0)
adapter.setDownSpeed(speed_value);
}
{
shell = shell1;
adapter = speedadapter;
super();
}
});
if (num_entries > 1)
{
MenuItem itemDownSpeedManualShared = new MenuItem(menuDownSpeed, 8);
Messages.setLanguageText(itemDownSpeedManualShared, isTorrentContext ? "MyTorrentsView.menu.manual.shared_torrents" : "MyTorrentsView.menu.manual.shared_peers");
itemDownSpeedManualShared.addSelectionListener(new SelectionAdapter(shell, num_entries, adapter) {
final Shell val$shell;
final int val$num_entries;
final SpeedAdapter val$adapter;
public void widgetSelected(SelectionEvent e)
{
int speed_value = ViewUtils.getManualSharedSpeedValue(shell, true, num_entries);
if (speed_value > 0)
adapter.setDownSpeed(speed_value);
}
{
shell = shell1;
num_entries = i;
adapter = speedadapter;
super();
}
});
}
MenuItem itemUpSpeed = new MenuItem(menuAdvanced, 64);
Messages.setLanguageText(itemUpSpeed, "MyTorrentsView.menu.setUpSpeed");
Utils.setMenuItemImage(itemUpSpeed, "speed");
Menu menuUpSpeed = new Menu(shell, 4);
itemUpSpeed.setMenu(menuUpSpeed);
MenuItem itemCurrentUpSpeed = new MenuItem(menuUpSpeed, 8);
itemCurrentUpSpeed.setEnabled(false);
separator = "";
speedText = new StringBuffer();
if (upSpeedDisabled)
{
speedText.append(MessageText.getString("MyTorrentsView.menu.setSpeed.disabled"));
separator = " / ";
}
if (upSpeedUnlimited)
{
speedText.append(separator);
speedText.append(MessageText.getString("MyTorrentsView.menu.setSpeed.unlimited"));
separator = " / ";
}
if (totalUpSpeed > 0L)
{
speedText.append(separator);
speedText.append(DisplayFormatters.formatByteCountToKiBEtcPerSec(totalUpSpeed));
}
itemCurrentUpSpeed.setText(speedText.toString());
new MenuItem(menuUpSpeed, 2);
MenuItem itemsUpSpeed[] = new MenuItem[12];
Listener itemsUpSpeedListener = new Listener(adapter) {
final SpeedAdapter val$adapter;
public void handleEvent(Event e)
{
if (e.widget != null && (e.widget instanceof MenuItem))
{
MenuItem item = (MenuItem)e.widget;
int speed = item.getData("maxul") != null ? ((Integer)item.getData("maxul")).intValue() : 0;
adapter.setUpSpeed(speed);
}
}
{
adapter = speedadapter;
super();
}
};
itemsUpSpeed[1] = new MenuItem(menuUpSpeed, 8);
Messages.setLanguageText(itemsUpSpeed[1], "MyTorrentsView.menu.setSpeed.unlimit");
itemsUpSpeed[1].setData("maxul", new Integer(0));
itemsUpSpeed[1].addListener(13, itemsUpSpeedListener);
if (hasSelection)
{
if (maxUpload == 0L)
maxUpload = 0x12c00L;
else
if (upSpeedSetMax == 0L)
maxUpload = 0x32000L;
else
maxUpload = 4L * (upSpeedSetMax / 1024L) * 1024L;
for (int i = 2; i < 12; i++)
{
itemsUpSpeed[i] = new MenuItem(menuUpSpeed, 8);
itemsUpSpeed[i].addListener(13, itemsUpSpeedListener);
int limit = (int)((maxUpload / (long)(10 * num_entries)) * (long)(12 - i));
StringBuffer speed = new StringBuffer();
speed.append(DisplayFormatters.formatByteCountToKiBEtcPerSec(limit * num_entries));
if (num_entries > 1)
{
speed.append(" ");
speed.append(MessageText.getString("MyTorrentsView.menu.setSpeed.in"));
speed.append(" ");
speed.append(num_entries);
speed.append(" ");
speed.append(MessageText.getString("MyTorrentsView.menu.setSpeed.slots"));
speed.append(" ");
speed.append(DisplayFormatters.formatByteCountToKiBEtcPerSec(limit));
}
itemsUpSpeed[i].setText(speed.toString());
itemsUpSpeed[i].setData("maxul", new Integer(limit));
}
}
new MenuItem(menuUpSpeed, 2);
MenuItem itemUpSpeedManualSingle = new MenuItem(menuUpSpeed, 8);
Messages.setLanguageText(itemUpSpeedManualSingle, menu_key);
itemUpSpeedManualSingle.addSelectionListener(new SelectionAdapter(shell, adapter) {
final Shell val$shell;
final SpeedAdapter val$adapter;
public void widgetSelected(SelectionEvent e)
{
int speed_value = ViewUtils.getManualSpeedValue(shell, false);
if (speed_value > 0)
adapter.setUpSpeed(speed_value);
}
{
shell = shell1;
adapter = speedadapter;
super();
}
});
if (num_entries > 1)
{
MenuItem itemUpSpeedManualShared = new MenuItem(menuUpSpeed, 8);
Messages.setLanguageText(itemUpSpeedManualShared, isTorrentContext ? "MyTorrentsView.menu.manual.shared_torrents" : "MyTorrentsView.menu.manual.shared_peers");
itemUpSpeedManualShared.addSelectionListener(new SelectionAdapter(shell, num_entries, adapter) {
final Shell val$shell;
final int val$num_entries;
final SpeedAdapter val$adapter;
public void widgetSelected(SelectionEvent e)
{
int speed_value = ViewUtils.getManualSharedSpeedValue(shell, false, num_entries);
if (speed_value > 0)
adapter.setUpSpeed(speed_value);
}
{
shell = shell1;
num_entries = i;
adapter = speedadapter;
super();
}
});
}
}
public static int getManualSpeedValue(Shell shell, boolean for_download)
{
String sReturn;
String kbps_str = MessageText.getString("MyTorrentsView.dialog.setNumber.inKbps", new String[] {
DisplayFormatters.getRateUnit(1)
});
String set_num_str = MessageText.getString((new StringBuilder()).append("MyTorrentsView.dialog.setNumber.").append(for_download ? "download" : "upload").toString());
InputShell is = new InputShell("MyTorrentsView.dialog.setSpeed.title", new String[] {
set_num_str
}, "MyTorrentsView.dialog.setNumber.text", new String[] {
kbps_str, set_num_str
});
sReturn = is.open();
if (sReturn == null)
return -1;
int result;
result = (int)(Double.valueOf(sReturn).doubleValue() * 1024D);
if (result <= 0)
throw new NumberFormatException("non-positive number entered");
return result;
NumberFormatException er;
er;
MessageBox mb = new MessageBox(shell, 33);
mb.setText(MessageText.getString("MyTorrentsView.dialog.NumberError.title"));
mb.setMessage(MessageText.getString("MyTorrentsView.dialog.NumberError.text"));
mb.open();
return -1;
}
public static int getManualSharedSpeedValue(Shell shell, boolean for_download, int num_entries)
{
int result = getManualSpeedValue(shell, for_download);
if (result == -1)
return -1;
result /= num_entries;
if (result == 0)
result = 1;
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -