⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 generalview.java

📁 java 文件下载器。可自定义
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
// 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:   GeneralView.java

package org.gudy.azureus2.ui.swt.views;

import com.aelitis.azureus.core.peermanager.piecepicker.PiecePicker;
import com.aelitis.azureus.core.util.AZ3Functions;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.text.DecimalFormat;
import java.util.Iterator;
import java.util.List;
import org.eclipse.swt.dnd.*;
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.config.ParameterListener;
import org.gudy.azureus2.core3.disk.DiskManager;
import org.gudy.azureus2.core3.disk.DiskManagerPiece;
import org.gudy.azureus2.core3.download.*;
import org.gudy.azureus2.core3.internat.MessageText;
import org.gudy.azureus2.core3.peer.PEPeerManager;
import org.gudy.azureus2.core3.torrent.TOTorrent;
import org.gudy.azureus2.core3.torrent.TOTorrentException;
import org.gudy.azureus2.core3.tracker.client.TRTrackerAnnouncer;
import org.gudy.azureus2.core3.tracker.client.TRTrackerScraperResponse;
import org.gudy.azureus2.core3.util.*;
import org.gudy.azureus2.ui.swt.*;
import org.gudy.azureus2.ui.swt.components.BufferedLabel;
import org.gudy.azureus2.ui.swt.components.BufferedTruncatedLabel;
import org.gudy.azureus2.ui.swt.debug.ObfusticateImage;
import org.gudy.azureus2.ui.swt.debug.UIDebugGenerator;
import org.gudy.azureus2.ui.swt.mainwindow.Colors;
import org.gudy.azureus2.ui.swt.mainwindow.Cursors;
import org.gudy.azureus2.ui.swt.maketorrent.MultiTrackerEditor;
import org.gudy.azureus2.ui.swt.maketorrent.TrackerEditorListener;

// Referenced classes of package org.gudy.azureus2.ui.swt.views:
//			AbstractIView

public class GeneralView extends AbstractIView
	implements ParameterListener, ObfusticateImage
{

	private Display display;
	private DownloadManager manager;
	boolean pieces[];
	int loopFactor;
	Composite genComposite;
	Composite gFile;
	Canvas piecesImage;
	Image pImage;
	BufferedLabel piecesPercent;
	Canvas availabilityImage;
	Image aImage;
	BufferedLabel availabilityPercent;
	Group gTransfer;
	BufferedLabel timeElapsed;
	BufferedLabel timeRemaining;
	BufferedLabel download;
	BufferedLabel downloadSpeed;
	BufferedLabel upload;
	BufferedLabel uploadSpeed;
	BufferedLabel totalSpeed;
	BufferedLabel ave_completion;
	BufferedLabel distributedCopies;
	BufferedLabel seeds;
	BufferedLabel peers;
	BufferedLabel completedLbl;
	Group gInfo;
	BufferedLabel fileName;
	BufferedLabel torrentStatus;
	BufferedLabel fileSize;
	BufferedLabel saveIn;
	BufferedLabel hash;
	BufferedTruncatedLabel tracker_status;
	BufferedLabel trackerUpdateIn;
	Menu menuTracker;
	MenuItem itemSelect;
	BufferedTruncatedLabel trackerUrlValue;
	BufferedLabel pieceNumber;
	BufferedLabel pieceSize;
	Control lblComment;
	BufferedLabel creation_date;
	BufferedLabel privateStatus;
	Control user_comment;
	BufferedLabel hashFails;
	BufferedLabel shareRatio;
	Button updateButton;
	private int graphicsUpdate;
	private Composite parent;

	public GeneralView()
	{
		manager = null;
		graphicsUpdate = COConfigurationManager.getIntParameter("Graphics Update");
	}

	public void dataSourceChanged(Object newDataSource)
	{
		if (newDataSource == null)
			manager = null;
		else
		if (newDataSource instanceof Object[])
			manager = (DownloadManager)((Object[])(Object[])newDataSource)[0];
		else
			manager = (DownloadManager)newDataSource;
		refreshInfo();
	}

	public void initialize(Composite composite)
	{
		parent = composite;
		genComposite = new Canvas(parent, 0);
		GridLayout genLayout = new GridLayout();
		genLayout.marginHeight = 0;
		try
		{
			genLayout.marginTop = 5;
		}
		catch (NoSuchFieldError e) { }
		genLayout.marginWidth = 2;
		genLayout.numColumns = 1;
		genComposite.setLayout(genLayout);
		refreshInfo();
		COConfigurationManager.addParameterListener("Graphics Update", this);
	}

	private void refreshInfo()
	{
		if (manager == null || parent == null)
			return;
		Utils.disposeComposite(genComposite, false);
		pieces = new boolean[manager.getNbPieces()];
		display = parent.getDisplay();
		gFile = new Composite(genComposite, 8);
		GridData gridData = new GridData(768);
		gFile.setLayoutData(gridData);
		GridLayout fileLayout = new GridLayout();
		fileLayout.marginHeight = 0;
		fileLayout.marginWidth = 10;
		fileLayout.numColumns = 3;
		gFile.setLayout(fileLayout);
		Label piecesInfo = new Label(gFile, 16384);
		Messages.setLanguageText(piecesInfo, "GeneralView.section.downloaded");
		gridData = new GridData(32);
		piecesInfo.setLayoutData(gridData);
		piecesImage = new Canvas(gFile, 0);
		gridData = new GridData(768);
		gridData.widthHint = 150;
		gridData.heightHint = 25;
		piecesImage.setLayoutData(gridData);
		piecesPercent = new BufferedLabel(gFile, 0x20000);
		gridData = new GridData(128);
		gridData.widthHint = 50;
		piecesPercent.setLayoutData(gridData);
		Label availabilityInfo = new Label(gFile, 16384);
		Messages.setLanguageText(availabilityInfo, "GeneralView.section.availability");
		gridData = new GridData(32);
		availabilityInfo.setLayoutData(gridData);
		availabilityImage = new Canvas(gFile, 0);
		gridData = new GridData(768);
		gridData.widthHint = 150;
		gridData.heightHint = 25;
		availabilityImage.setLayoutData(gridData);
		Messages.setLanguageText(availabilityImage, "GeneralView.label.status.pieces_available.tooltip");
		availabilityPercent = new BufferedLabel(gFile, 0x20000);
		gridData = new GridData(128);
		gridData.widthHint = 50;
		availabilityPercent.setLayoutData(gridData);
		Messages.setLanguageText(availabilityPercent.getWidget(), "GeneralView.label.status.pieces_available.tooltip");
		gTransfer = new Group(genComposite, 8);
		Messages.setLanguageText(gTransfer, "GeneralView.section.transfer");
		gridData = new GridData(768);
		gTransfer.setLayoutData(gridData);
		GridLayout layoutTransfer = new GridLayout();
		layoutTransfer.numColumns = 6;
		gTransfer.setLayout(layoutTransfer);
		Label label = new Label(gTransfer, 16384);
		Messages.setLanguageText(label, "GeneralView.label.timeelapsed");
		timeElapsed = new BufferedLabel(gTransfer, 16384);
		gridData = new GridData(768);
		timeElapsed.setLayoutData(gridData);
		label = new Label(gTransfer, 16384);
		Messages.setLanguageText(label, "GeneralView.label.remaining");
		timeRemaining = new BufferedLabel(gTransfer, 16384);
		gridData = new GridData(768);
		timeRemaining.setLayoutData(gridData);
		label = new Label(gTransfer, 16384);
		Messages.setLanguageText(label, "GeneralView.label.shareRatio");
		shareRatio = new BufferedLabel(gTransfer, 16384);
		gridData = new GridData(768);
		shareRatio.setLayoutData(gridData);
		label = new Label(gTransfer, 16384);
		Messages.setLanguageText(label, "GeneralView.label.downloaded");
		download = new BufferedLabel(gTransfer, 16384);
		gridData = new GridData(768);
		download.setLayoutData(gridData);
		label = new Label(gTransfer, 16384);
		Messages.setLanguageText(label, "GeneralView.label.downloadspeed");
		downloadSpeed = new BufferedLabel(gTransfer, 16384);
		gridData = new GridData(768);
		downloadSpeed.setLayoutData(gridData);
		label = new Label(gTransfer, 16384);
		Messages.setLanguageText(label, "GeneralView.label.hashfails");
		hashFails = new BufferedLabel(gTransfer, 16384);
		gridData = new GridData(768);
		hashFails.setLayoutData(gridData);
		label = new Label(gTransfer, 16384);
		Messages.setLanguageText(label, "GeneralView.label.uploaded");
		upload = new BufferedLabel(gTransfer, 16384);
		gridData = new GridData(768);
		upload.setLayoutData(gridData);
		label = new Label(gTransfer, 16384);
		Messages.setLanguageText(label, "GeneralView.label.uploadspeed");
		uploadSpeed = new BufferedLabel(gTransfer, 16384);
		gridData = new GridData(768);
		gridData.horizontalSpan = 3;
		uploadSpeed.setLayoutData(gridData);
		label = new Label(gTransfer, 16384);
		Messages.setLanguageText(label, "GeneralView.label.seeds");
		seeds = new BufferedLabel(gTransfer, 16384);
		gridData = new GridData(768);
		seeds.setLayoutData(gridData);
		label = new Label(gTransfer, 16384);
		Messages.setLanguageText(label, "GeneralView.label.peers");
		peers = new BufferedLabel(gTransfer, 16384);
		gridData = new GridData(768);
		peers.setLayoutData(gridData);
		label = new Label(gTransfer, 16384);
		Messages.setLanguageText(label, "GeneralView.label.completed");
		completedLbl = new BufferedLabel(gTransfer, 16384);
		gridData = new GridData(768);
		completedLbl.setLayoutData(gridData);
		label = new Label(gTransfer, 16384);
		Messages.setLanguageText(label, "GeneralView.label.totalspeed");
		totalSpeed = new BufferedLabel(gTransfer, 16384);
		gridData = new GridData(768);
		totalSpeed.setLayoutData(gridData);
		label = new Label(gTransfer, 16384);
		Messages.setLanguageText(label, "GeneralView.label.swarm_average_completion");
		ave_completion = new BufferedLabel(gTransfer, 16384);
		gridData = new GridData(768);
		ave_completion.setLayoutData(gridData);
		label = new Label(gTransfer, 16384);
		Messages.setLanguageText(label, "GeneralView.label.distributedCopies");
		distributedCopies = new BufferedLabel(gTransfer, 16384);
		gridData = new GridData(768);
		distributedCopies.setLayoutData(gridData);
		gInfo = new Group(genComposite, 8);
		Messages.setLanguageText(gInfo, "GeneralView.section.info");
		gridData = new GridData(1808);
		gInfo.setLayoutData(gridData);
		GridLayout layoutInfo = new GridLayout();
		layoutInfo.numColumns = 4;
		gInfo.setLayout(layoutInfo);
		label = new Label(gInfo, 16384);
		Messages.setLanguageText(label, "GeneralView.label.filename");
		fileName = new BufferedLabel(gInfo, 16384);
		gridData = new GridData(768);
		fileName.setLayoutData(gridData);
		label = new Label(gInfo, 16384);
		Messages.setLanguageText(label, "GeneralView.label.status");
		torrentStatus = new BufferedLabel(gInfo, 16384);
		gridData = new GridData(768);
		torrentStatus.setLayoutData(gridData);
		label = new Label(gInfo, 16384);
		Messages.setLanguageText(label, "GeneralView.label.savein");
		saveIn = new BufferedLabel(gInfo, 16384);
		gridData = new GridData(768);
		saveIn.setLayoutData(gridData);
		label = new Label(gInfo, 16384);
		Messages.setLanguageText(label, "GeneralView.label.totalsize");
		fileSize = new BufferedLabel(gInfo, 16384);
		gridData = new GridData(768);
		fileSize.setLayoutData(gridData);
		label = new Label(gInfo, 16384);
		Messages.setLanguageText(label, "GeneralView.label.numberofpieces");
		pieceNumber = new BufferedLabel(gInfo, 16384);
		gridData = new GridData(768);
		pieceNumber.setLayoutData(gridData);
		label = new Label(gInfo, 16384);
		Messages.setLanguageText(label, "GeneralView.label.hash");
		hash = new BufferedLabel(gInfo, 16384);
		Messages.setLanguageText(hash.getWidget(), "GeneralView.label.hash.tooltip", true);
		gridData = new GridData(768);
		hash.setLayoutData(gridData);
		hash.setCursor(Cursors.handCursor);
		hash.setForeground(Colors.blue);
		label.addMouseListener(new MouseAdapter() {

			final GeneralView this$0;

			public void mouseDoubleClick(MouseEvent arg0)
			{
				String hash_str = hash.getText();
				if (hash_str != null && hash_str.length() != 0)
					(new Clipboard(display)).setContents(new Object[] {
						hash_str.replaceAll(" ", "")
					}, new Transfer[] {
						TextTransfer.getInstance()
					});
			}

			public void mouseDown(MouseEvent arg0)
			{
				String hash_str = hash.getText();
				if (hash_str != null && hash_str.length() != 0)
					(new Clipboard(display)).setContents(new Object[] {
						hash_str.replaceAll(" ", "")
					}, new Transfer[] {
						TextTransfer.getInstance()
					});
			}

			
			{
				this$0 = GeneralView.this;
				super();
			}
		});
		hash.addMouseListener(new MouseAdapter() {

			final GeneralView this$0;

			public void mouseDoubleClick(MouseEvent arg0)
			{
				String hash_str = hash.getText();
				if (hash_str != null && hash_str.length() != 0)
					(new Clipboard(display)).setContents(new Object[] {
						hash_str.replaceAll(" ", "")
					}, new Transfer[] {
						TextTransfer.getInstance()
					});
			}

			public void mouseDown(MouseEvent arg0)
			{
				String hash_str = hash.getText();
				if (hash_str != null && hash_str.length() != 0)
					(new Clipboard(display)).setContents(new Object[] {
						hash_str.replaceAll(" ", "")
					}, new Transfer[] {
						TextTransfer.getInstance()
					});
			}

			
			{
				this$0 = GeneralView.this;
				super();
			}
		});
		label = new Label(gInfo, 16384);
		Messages.setLanguageText(label, "GeneralView.label.trackerurl");
		label.setCursor(Cursors.handCursor);
		label.setForeground(Colors.blue);
		label.addMouseListener(new MouseAdapter() {

			final GeneralView this$0;

			public void mouseDoubleClick(MouseEvent arg0)
			{
				String announce = trackerUrlValue.getText();
				if (announce != null && announce.length() != 0)
					(new Clipboard(display)).setContents(new Object[] {
						announce
					}, new Transfer[] {
						TextTransfer.getInstance()
					});
			}

			public void mouseDown(MouseEvent arg0)
			{
				String announce = trackerUrlValue.getText();
				if (announce != null && announce.length() != 0)
					(new Clipboard(display)).setContents(new Object[] {
						announce
					}, new Transfer[] {
						TextTransfer.getInstance()
					});
			}

			
			{
				this$0 = GeneralView.this;
				super();
			}
		});
		menuTracker = new Menu(genComposite.getShell(), 8);
		itemSelect = new MenuItem(menuTracker, 64);
		Messages.setLanguageText(itemSelect, "GeneralView.menu.selectTracker");
		MenuItem itemEdit = new MenuItem(menuTracker, 0);
		Messages.setLanguageText(itemEdit, "MyTorrentsView.menu.editTracker");
		itemEdit.addListener(13, new Listener() {

			final GeneralView this$0;

			public void handleEvent(Event e)
			{
				final TOTorrent torrent = manager.getTorrent();
				if (torrent == null)
				{
					return;
				} else
				{
					List group = TorrentUtils.announceGroupsToList(torrent);
					new MultiTrackerEditor(null, group, new TrackerEditorListener() {

						final TOTorrent val$torrent;
						final 4 this$1;

						public void trackersChanged(String str, String str2, List _group)
						{
							TorrentUtils.listToAnnounceGroups(_group, torrent);
							try
							{
								TorrentUtils.writeToFile(torrent);
							}
							catch (Throwable e2)
							{
								Debug.printStackTrace(e2);
							}
							TRTrackerAnnouncer tc = manager.getTrackerClient();
							if (tc != null)
								tc.resetTrackerUrl(true);
						}

					
					{
						this$1 = 4.this;
						torrent = totorrent;
						super();
					}
					}, true);
					return;
				}
			}

			
			{
				this$0 = GeneralView.this;
				super();
			}
		});
		final Listener menuListener = new Listener() {

			final GeneralView this$0;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -