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

📄 generalview.java

📁 java 文件下载器。可自定义
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
			public void handleEvent(Event e)
			{
				if (e.widget instanceof MenuItem)
				{
					String text = ((MenuItem)e.widget).getText();
					TOTorrent torrent = manager.getTorrent();
					TorrentUtils.announceGroupsSetFirst(torrent, text);
					try
					{
						TorrentUtils.writeToFile(torrent);
					}
					catch (TOTorrentException f)
					{
						Debug.printStackTrace(f);
					}
					TRTrackerAnnouncer tc = manager.getTrackerClient();
					if (tc != null)
						tc.resetTrackerUrl(false);
				}
			}

			
			{
				this$0 = GeneralView.this;
				super();
			}
		};
		menuTracker.addListener(22, new Listener() {

			final Listener val$menuListener;
			final GeneralView this$0;

			public void handleEvent(Event e)
			{
				Menu menuSelect = itemSelect.getMenu();
				if (menuSelect != null && !menuSelect.isDisposed())
					menuSelect.dispose();
				if (manager == null || genComposite == null || genComposite.isDisposed())
					return;
				List groups = TorrentUtils.announceGroupsToList(manager.getTorrent());
				menuSelect = new Menu(genComposite.getShell(), 4);
				itemSelect.setMenu(menuSelect);
				for (Iterator iterGroups = groups.iterator(); iterGroups.hasNext();)
				{
					List trackers = (List)iterGroups.next();
					MenuItem menuItem = new MenuItem(menuSelect, 64);
					Messages.setLanguageText(menuItem, "wizard.multitracker.group");
					Menu menu = new Menu(genComposite.getShell(), 4);
					menuItem.setMenu(menu);
					Iterator iterTrackers = trackers.iterator();
					while (iterTrackers.hasNext()) 
					{
						String url = (String)iterTrackers.next();
						MenuItem menuItemTracker = new MenuItem(menu, 64);
						menuItemTracker.setText(url);
						menuItemTracker.addListener(13, menuListener);
					}
				}

			}

			
			{
				this$0 = GeneralView.this;
				menuListener = listener;
				super();
			}
		});
		trackerUrlValue = new BufferedTruncatedLabel(gInfo, 16384, 70);
		trackerUrlValue.addMouseListener(new MouseAdapter() {

			final GeneralView this$0;

			public void mouseDown(MouseEvent event)
			{
				if (event.button == 3 || event.button == 1 && event.stateMask == 0x40000)
					menuTracker.setVisible(true);
				else
				if (event.button == 1)
				{
					String url = trackerUrlValue.getText();
					if (url.startsWith("http://") || url.startsWith("https://"))
					{
						int pos = -1;
						if ((pos = url.indexOf("/announce")) != -1)
							url = url.substring(0, pos + 1);
						Utils.launch(url);
					}
				}
			}

			
			{
				this$0 = GeneralView.this;
				super();
			}
		});
		gridData = new GridData(768);
		gridData.horizontalSpan = 1;
		trackerUrlValue.setLayoutData(gridData);
		label = new Label(gInfo, 16384);
		Messages.setLanguageText(label, "GeneralView.label.size");
		pieceSize = new BufferedLabel(gInfo, 16384);
		gridData = new GridData(768);
		pieceSize.setLayoutData(gridData);
		label = new Label(gInfo, 16384);
		Messages.setLanguageText(label, "GeneralView.label.creationdate");
		creation_date = new BufferedLabel(gInfo, 16384);
		gridData = new GridData(768);
		creation_date.setLayoutData(gridData);
		label = new Label(gInfo, 16384);
		Messages.setLanguageText(label, "GeneralView.label.private");
		privateStatus = new BufferedLabel(gInfo, 16384);
		gridData = new GridData(768);
		privateStatus.setLayoutData(gridData);
		label = new Label(gInfo, 16384);
		gridData = new GridData(768);
		gridData.horizontalSpan = 4;
		label.setLayoutData(gridData);
		label = new Label(gInfo, 16384);
		Messages.setLanguageText(label, "GeneralView.label.tracker");
		tracker_status = new BufferedTruncatedLabel(gInfo, 16384, 150);
		gridData = new GridData(768);
		tracker_status.setLayoutData(gridData);
		tracker_status.addMouseListener(new MouseAdapter() {

			final GeneralView this$0;

			public void mouseDown(MouseEvent event)
			{
				if (event.button == 1 && manager.isUnauthorisedOnTracker())
				{
					com.aelitis.azureus.core.util.AZ3Functions.provider az3 = AZ3Functions.getProvider();
					if (az3 != null && az3.canShowCDP(manager))
						az3.showCDP(manager, "tracker.unauth");
				}
			}

			
			{
				this$0 = GeneralView.this;
				super();
			}
		});
		updateButton = new Button(gInfo, 8);
		Messages.setLanguageText(updateButton, "GeneralView.label.trackerurlupdate");
		gridData = new GridData(32);
		gridData.verticalSpan = 2;
		gridData.horizontalSpan = 2;
		updateButton.setLayoutData(gridData);
		updateButton.addSelectionListener(new SelectionAdapter() {

			final GeneralView this$0;

			public void widgetSelected(SelectionEvent event)
			{
				manager.requestTrackerAnnounce(false);
			}

			
			{
				this$0 = GeneralView.this;
				super();
			}
		});
		label = new Label(gInfo, 16384);
		Messages.setLanguageText(label, "GeneralView.label.updatein");
		trackerUpdateIn = new BufferedLabel(gInfo, 16384);
		gridData = new GridData(768);
		trackerUpdateIn.setLayoutData(gridData);
		label = new Label(gInfo, 16384);
		gridData = new GridData(768);
		gridData.horizontalSpan = 4;
		label.setLayoutData(gridData);
		label = new Label(gInfo, 16384);
		label.setCursor(Cursors.handCursor);
		label.setForeground(Colors.blue);
		Messages.setLanguageText(label, "GeneralView.label.user_comment");
		try
		{
			user_comment = new Link(gInfo, 16448);
			((Link)user_comment).addSelectionListener(new SelectionAdapter() {

				final GeneralView this$0;

				public void widgetSelected(SelectionEvent e)
				{
					Utils.launch(e.text);
				}

			
			{
				this$0 = GeneralView.this;
				super();
			}
			});
		}
		catch (Throwable e)
		{
			user_comment = new Label(gInfo, 16448);
		}
		gridData = new GridData(768);
		gridData.horizontalSpan = 3;
		user_comment.setLayoutData(gridData);
		label.addMouseListener(new MouseAdapter() {

			final GeneralView this$0;

			private void editComment()
			{
				TorrentUtil.promptUserForComment(new DownloadManager[] {
					manager
				});
			}

			public void mouseDoubleClick(MouseEvent arg0)
			{
				editComment();
			}

			public void mouseDown(MouseEvent arg0)
			{
				editComment();
			}

			
			{
				this$0 = GeneralView.this;
				super();
			}
		});
		label = new Label(gInfo, 16384);
		gridData = new GridData(2);
		label.setLayoutData(gridData);
		Messages.setLanguageText(label, "GeneralView.label.comment");
		try
		{
			lblComment = new Link(gInfo, 16448);
			((Link)lblComment).addSelectionListener(new SelectionAdapter() {

				final GeneralView this$0;

				public void widgetSelected(SelectionEvent e)
				{
					Utils.launch(e.text);
				}

			
			{
				this$0 = GeneralView.this;
				super();
			}
			});
		}
		catch (Throwable e)
		{
			lblComment = new Label(gInfo, 16448);
		}
		gridData = new GridData(1808);
		gridData.horizontalSpan = 3;
		lblComment.setLayoutData(gridData);
		piecesImage.addListener(9, new Listener() {

			final GeneralView this$0;

			public void handleEvent(Event e)
			{
				if (e.count == 0 && e.width > 0 && e.height > 0)
					updatePiecesInfo(true);
			}

			
			{
				this$0 = GeneralView.this;
				super();
			}
		});
		availabilityImage.addListener(9, new Listener() {

			final GeneralView this$0;

			public void handleEvent(Event e)
			{
				if (e.count == 0 && e.width > 0 && e.height > 0)
					updateAvailability();
			}

			
			{
				this$0 = GeneralView.this;
				super();
			}
		});
		if (Constants.isOSX)
		{
			Shell shell = genComposite.getShell();
			Point size = shell.getSize();
			shell.setSize(size.x - 1, size.y - 1);
			shell.setSize(size);
		}
		genComposite.addDisposeListener(new DisposeListener() {

			final GeneralView this$0;

			public void widgetDisposed(DisposeEvent e)
			{
				menuTracker.dispose();
			}

			
			{
				this$0 = GeneralView.this;
				super();
			}
		});
		genComposite.layout();
	}

	public Composite getComposite()
	{
		return genComposite;
	}

	public void refresh()
	{
		if (getComposite() == null || getComposite().isDisposed() || manager == null)
			return;
		loopFactor++;
		if (loopFactor % graphicsUpdate == 0)
		{
			updateAvailability();
			updatePiecesInfo(false);
		}
		DiskManager dm = manager.getDiskManager();
		String eta = DisplayFormatters.formatETA(manager.getStats().getETA());
		String remaining;
		if (dm != null)
		{
			long rem = dm.getRemainingExcludingDND();
			String data_rem = DisplayFormatters.formatByteCountToKiBEtc(rem);
			if (rem > 0L)
				remaining = (new StringBuilder()).append(eta).append(eta.length() != 0 ? " " : "").append(data_rem).toString();
			else
			if (eta.length() == 0)
				remaining = data_rem;
			else
				remaining = eta;
		} else
		{
			remaining = eta;
		}
		setTime(manager.getStats().getElapsedTime(), remaining);
		TRTrackerScraperResponse hd = manager.getTrackerScrapeResponse();
		String seeds_str = (new StringBuilder()).append(manager.getNbSeeds()).append(" ").append(MessageText.getString("GeneralView.label.connected")).toString();
		String peers_str = (new StringBuilder()).append(manager.getNbPeers()).append(" ").append(MessageText.getString("GeneralView.label.connected")).toString();
		String completed;
		if (hd != null && hd.isValid())
		{
			seeds_str = (new StringBuilder()).append(seeds_str).append(" ( ").append(hd.getSeeds()).append(" ").append(MessageText.getString("GeneralView.label.in_swarm")).append(" )").toString();
			peers_str = (new StringBuilder()).append(peers_str).append(" ( ").append(hd.getPeers()).append(" ").append(MessageText.getString("GeneralView.label.in_swarm")).append(" )").toString();
			completed = hd.getCompleted() <= -1 ? "?" : Integer.toString(hd.getCompleted());
		} else
		{
			completed = "?";
		}
		String _shareRatio = "";
		int sr = manager.getStats().getShareRatio();
		if (sr == -1)
			_shareRatio = "∞";
		if (sr > 0)
		{
			String partial;
			for (partial = (new StringBuilder()).append("").append(sr % 1000).toString(); partial.length() < 3; partial = (new StringBuilder()).append("0").append(partial).toString());
			_shareRatio = (new StringBuilder()).append(sr / 1000).append(".").append(partial).toString();
		}
		DownloadManagerStats stats = manager.getStats();
		String swarm_speed = (new StringBuilder()).append(DisplayFormatters.formatByteCountToKiBEtcPerSec(stats.getTotalAverage())).append(" ( ").append(DisplayFormatters.formatByteCountToKiBEtcPerSec(stats.getTotalAveragePerPeer())).append(" ").append(MessageText.getString("GeneralView.label.averagespeed")).append(" )").toString();
		String swarm_completion = "";
		String distributedCopies = "0.000";
		String piecesDoneAndSum = (new StringBuilder()).append("").append(manager.getNbPieces()).toString();
		PEPeerManager pm = manager.getPeerManager();
		if (pm != null)
		{
			int comp = pm.getAverageCompletionInThousandNotation();
			if (comp >= 0)
				swarm_completion = DisplayFormatters.formatPercentFromThousands(comp);
			piecesDoneAndSum = (new StringBuilder()).append(pm.getPiecePicker().getNbPiecesDone()).append("/").append(piecesDoneAndSum).toString();
			distributedCopies = (new DecimalFormat("0.000")).format(pm.getPiecePicker().getMinAvailability() - (float)pm.getNbSeeds() - (float)(!pm.isSeeding() || stats.getDownloadCompleted(false) != 1000 ? 0 : 1));
		}
		setStats(DisplayFormatters.formatDownloaded(stats), DisplayFormatters.formatByteCountToKiBEtc(stats.getTotalDataBytesSent()), DisplayFormatters.formatByteCountToKiBEtcPerSec(stats.getDataReceiveRate()), DisplayFormatters.formatByteCountToKiBEtcPerSec(stats.getDataSendRate()), swarm_speed, (new StringBuilder()).append("").append(manager.getStats().getDownloadRateLimitBytesPerSecond() / 1024).toString(), (new StringBuilder()).append("").append(manager.getStats().getUploadRateLimitBytesPerSecond() / 1024).toString(), seeds_str, peers_str, completed, DisplayFormatters.formatHashFails(manager), _shareRatio, swarm_completion, distributedCopies);
		setTracker();
		TOTorrent torrent = manager.getTorrent();
		String creation_date = DisplayFormatters.formatDate(manager.getTorrentCreationDate() * 1000L);
		byte created_by[] = torrent != null ? torrent.getCreatedBy() : null;
		if (created_by != null)
			try
			{
				creation_date = MessageText.getString("GeneralView.torrent_created_on_and_by", new String[] {
					creation_date, new String(created_by, "UTF8")
				});
			}
			catch (UnsupportedEncodingException e) { }
		setInfos(manager.getDisplayName(), DisplayFormatters.formatByteCountToKiBEtc(manager.getSize()), DisplayFormatters.formatDownloadStatus(manager), manager.getSaveLocation().toString(), TorrentUtils.nicePrintTorrentHash(torrent), piecesDoneAndSum, manager.getPieceLength(), manager.getTorrentComment(), creation_date, manager.getDownloadState().getUserComment(), MessageText.getString((new StringBuilder()).append("GeneralView.").append(torrent == null || !torrent.getPrivate() ? "no" : "yes").toString()));
		if (loopFactor == 2)
			getComposite().layout(true);
	}

	public void delete()
	{
		if (aImage != null)
			aImage.dispose();
		aImage = null;
		if (pImage != null)
			pImage.dispose();
		pImage = null;
		Utils.disposeComposite(genComposite);
		COConfigurationManager.removeParameterListener("Graphics Update", this);
	}

	public String getData()
	{
		return "GeneralView.title.short";
	}

	public String getFullTitle()
	{
		return MessageText.getString("GeneralView.title.full");
	}

	private void updateAvailability()
	{
		if (manager == null)
			return;
		int available[];
		this_mon.enter();
		PEPeerManager pm = manager.getPeerManager();
		if (manager.getPeerManager() == null)
		{
			if (availabilityPercent.getText() != "")
				availabilityPercent.setText("");
			available = new int[manager.getNbPieces()];
		} else
		{
			available = pm.getAvailability();
		}
		if (display == null || display.isDisposed())
		{
			this_mon.exit();
			return;
		}
		if (availabilityImage == null || availabilityImage.isDisposed())
		{
			this_mon.exit();
			return;
		}

⌨️ 快捷键说明

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