📄 aboutwindow.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: AboutWindow.java
package org.gudy.azureus2.ui.swt.help;
import com.aelitis.azureus.ui.swt.imageloader.ImageLoader;
import java.util.Properties;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CLabel;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.*;
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.internat.MessageText;
import org.gudy.azureus2.core3.util.*;
import org.gudy.azureus2.ui.swt.Messages;
import org.gudy.azureus2.ui.swt.Utils;
import org.gudy.azureus2.ui.swt.components.shell.ShellFactory;
import org.gudy.azureus2.ui.swt.mainwindow.*;
public class AboutWindow
{
private static final String IMG_SPLASH = "azureus_splash";
static Image image;
static AEMonitor class_mon = new AEMonitor("AboutWindow");
private static Shell instance;
private static Image imgSrc;
public AboutWindow()
{
}
public static void show(Display display)
{
if (instance != null)
{
instance.open();
return;
}
Properties properties = new Properties();
try
{
properties.load(org/gudy/azureus2/ui/swt/help/AboutWindow.getClassLoader().getResourceAsStream("org/gudy/azureus2/ui/swt/about.properties"));
}
catch (Exception e1)
{
Debug.printStackTrace(e1);
return;
}
Shell window = ShellFactory.createMainShell(Constants.isOSX ? 2144 : 0x10860);
Utils.setShellIcon(window);
window.setText((new StringBuilder()).append(MessageText.getString("MainWindow.about.title")).append(" ").append("4.2.0.0").toString());
window.setLayout(new GridLayout(3, false));
ImageLoader imageLoader = ImageLoader.getInstance();
image = imageLoader.getImage("azureus_splash");
if (image != null)
{
int w = image.getBounds().width;
int ow = w;
if (w > 350)
w = 350;
int h = image.getBounds().height;
h = 220;
imgSrc = new Image(display, w, h);
GC gc = new GC(imgSrc);
gc.drawImage(image, (w - ow) / 2, 0);
gc.dispose();
Image imgGray = new Image(display, imageLoader.getImage("azureus_splash"), 2);
imageLoader.releaseImage("azureus_splash");
gc = new GC(imgGray);
if (Constants.isOSX)
gc.drawImage(imgGray, (w - ow) / 2, 0);
else
gc.copyArea(0, 0, ow, h, (w - ow) / 2, 0);
gc.dispose();
Image image2 = new Image(display, w, h);
gc = new GC(image2);
gc.setBackground(Colors.black);
gc.fillRectangle(image2.getBounds());
gc.dispose();
image = Utils.renderTransparency(display, image2, imgGray, new Point(0, 0), 180);
image2.dispose();
imgGray.dispose();
}
imageLoader.releaseImage("azureus_splash");
Group gDevelopers = new Group(window, 0);
gDevelopers.setLayout(new GridLayout());
Messages.setLanguageText(gDevelopers, "MainWindow.about.section.developers");
GridData gridData = new GridData(272);
gDevelopers.setLayoutData(gridData);
Label label = new Label(gDevelopers, 16384);
label.setText(properties.getProperty("developers"));
label.setLayoutData(gridData = new GridData());
Label labelImage = new Label(window, 0);
labelImage.setImage(image);
gridData = new GridData(64);
labelImage.setLayoutData(gridData);
Group gTranslators = new Group(window, 0);
GridLayout gl = new GridLayout();
gl.marginHeight = 2;
gl.marginWidth = 0;
gTranslators.setLayout(gl);
Messages.setLanguageText(gTranslators, "MainWindow.about.section.translators");
gridData = new GridData(272);
gTranslators.setLayoutData(gridData);
Text txtTrans = new Text(gTranslators, 0x8004a);
txtTrans.setText(properties.getProperty("translators"));
gridData = new GridData(1808);
gridData.heightHint = txtTrans.computeSize(-1, -1).y + 10;
txtTrans.setLayoutData(gridData);
txtTrans.setBackground(display.getSystemColor(22));
Group gInternet = new Group(window, 0);
GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 2;
gridLayout.makeColumnsEqualWidth = true;
gInternet.setLayout(gridLayout);
Messages.setLanguageText(gInternet, "MainWindow.about.section.internet");
gridData = new GridData(272);
gridData.horizontalSpan = 2;
gInternet.setLayoutData(gridData);
Group gSys = new Group(window, 0);
gSys.setLayout(new GridLayout());
Messages.setLanguageText(gSys, "MainWindow.about.section.system");
gridData = new GridData(272);
gridData.verticalSpan = 1;
gSys.setLayoutData(gridData);
Text txtSysInfo = new Text(gSys, 74);
txtSysInfo.setBackground(display.getSystemColor(22));
txtSysInfo.setText((new StringBuilder()).append("Java ").append(System.getProperty("java.version")).append("\n ").append(System.getProperty("java.vendor")).append("\n").append("SWT v").append(SWT.getVersion()).append(", ").append(SWT.getPlatform()).append("\n").append(System.getProperty("os.name")).append(" v").append(System.getProperty("os.version")).append(", ").append(System.getProperty("os.arch")).append("\n").append(Constants.APP_NAME.charAt(0)).append("4.2.0.0").append(" ").append(COConfigurationManager.getStringParameter("ui")).toString());
txtSysInfo.setLayoutData(gridData = new GridData(1808));
if (window.getCaret() != null)
window.getCaret().setVisible(false);
String link[][] = {
{
"homepage", "sourceforge", "sourceforgedownloads", "bugreports", "forumdiscussion", "wiki"
}, {
"http://www.vuze.com", "http://sourceforge.net/projects/azureus/", "http://sourceforge.net/project/showfiles.php?group_id=84122", Constants.isCVSVersion() ? "http://forum.vuze.com/forum.jspa?forumID=4" : "http://sourceforge.net/tracker/?atid=575154&group_id=84122&func=browse", "http://forum.vuze.com/index.jspa", "http://www.azureuswiki.com/index.php/"
}
};
for (int i = 0; i < link[0].length; i++)
{
CLabel linkLabel = new CLabel(gInternet, 0);
linkLabel.setText(MessageText.getString((new StringBuilder()).append("MainWindow.about.internet.").append(link[0][i]).toString()));
linkLabel.setData(link[1][i]);
linkLabel.setCursor(Cursors.handCursor);
linkLabel.setForeground(Colors.blue);
gridData = new GridData(768);
gridData.horizontalSpan = 1;
linkLabel.setLayoutData(gridData);
linkLabel.addMouseListener(new MouseAdapter() {
public void mouseDoubleClick(MouseEvent arg0)
{
Utils.launch((String)((CLabel)arg0.widget).getData());
}
public void mouseDown(MouseEvent arg0)
{
Utils.launch((String)((CLabel)arg0.widget).getData());
}
});
}
Listener keyListener = new Listener(window) {
final Shell val$window;
public void handleEvent(Event e)
{
if (e.character == '\033')
window.dispose();
}
{
window = shell;
Object();
}
};
window.addListener(2, keyListener);
window.pack();
txtSysInfo.setFocus();
Utils.centreWindow(window);
window.open();
instance = window;
window.addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent event)
{
AboutWindow.instance = null;
AboutWindow.disposeImage();
}
});
Thread updater = new AEThread("Splash Screen Updater", display, labelImage) {
final Display val$display;
final Label val$labelImage;
public void runSupport()
{
if (AboutWindow.image == null || AboutWindow.image.isDisposed())
return;
final boolean finished[] = new boolean[1];
final int x[] = new int[1];
final int maxX = AboutWindow.image.getBounds().width;
final int maxY = AboutWindow.image.getBounds().height;
do
{
if (finished[0])
break;
if (AboutWindow.image == null || AboutWindow.image.isDisposed())
{
finished[0] = true;
break;
}
if (display.isDisposed())
{
finished[0] = true;
break;
}
Utils.execSWTThread(new AERunnable() {
final int val$x[];
final int val$maxY;
final int val$maxX;
final boolean val$finished[];
final 4 this$0;
public void runSupport()
{
if (labelImage.isDisposed())
return;
GC gcImage = new GC(labelImage);
gcImage.setClipping(x[0], 0, 1, maxY);
gcImage.drawImage(AboutWindow.imgSrc, 0, 0);
gcImage.dispose();
x[0]++;
if (x[0] >= maxX)
{
finished[0] = true;
labelImage.setImage(AboutWindow.imgSrc);
}
}
{
this$0 = 4.this;
x = ai;
maxY = i;
maxX = j;
finished = aflag;
AERunnable();
}
});
try
{
Thread.sleep(30L);
}
catch (Exception e)
{
Debug.printStackTrace(e);
}
} while (true);
}
{
display = display1;
labelImage = label;
AEThread(x0);
}
};
updater.start();
}
public static void disposeImage()
{
class_mon.enter();
if (image != null && !image.isDisposed())
image.dispose();
image = null;
if (imgSrc != null && !imgSrc.isDisposed())
imgSrc.dispose();
imgSrc = null;
class_mon.exit();
break MISSING_BLOCK_LABEL_74;
Exception exception;
exception;
class_mon.exit();
throw exception;
}
public static void main(String args[])
{
try
{
new Display();
Colors.getInstance();
SWTThread.createInstance(null);
show(Display.getCurrent());
}
catch (SWTThreadAlreadyInstanciatedException e)
{
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -