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

📄 configsectionipfilter.java

📁 java 文件下载器。可自定义
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
				if (field == 0 && !bIsCachingDescriptions)
				{
					ipFilterManager.cacheAllDescriptions();
					bIsCachingDescriptions = true;
				}
				ipRanges = getSortedRanges(filter.getRanges());
				table.setItemCount(ipRanges.length);
				table.clearAll();
				table.redraw();
			}

			
			{
				this$0 = ConfigSectionIPFilter.this;
				ipFilterManager = ipfiltermanager;
				super();
			}
		};
		columns[0].addListener(13, listener);
		columns[1].addListener(13, listener);
		columns[2].addListener(13, listener);
		table.setHeaderVisible(true);
		gridData = new GridData(1808);
		gridData.heightHint = table.getHeaderHeight() * 3;
		gridData.widthHint = 200;
		table.setLayoutData(gridData);
		Composite cArea = new Composite(gFilter, 0);
		layout = new GridLayout();
		layout.marginHeight = 0;
		layout.marginWidth = 0;
		layout.numColumns = 4;
		cArea.setLayout(layout);
		gridData = new GridData(768);
		cArea.setLayoutData(gridData);
		Button add = new Button(cArea, 8);
		gridData = new GridData(2);
		gridData.widthHint = 100;
		add.setLayoutData(gridData);
		Messages.setLanguageText(add, "ConfigView.section.ipfilter.add");
		add.addListener(13, new Listener() {

			final ConfigSectionIPFilter this$0;

			public void handleEvent(Event arg0)
			{
				addRange();
			}

			
			{
				this$0 = ConfigSectionIPFilter.this;
				super();
			}
		});
		Button remove = new Button(cArea, 8);
		gridData = new GridData(2);
		gridData.widthHint = 100;
		remove.setLayoutData(gridData);
		Messages.setLanguageText(remove, "ConfigView.section.ipfilter.remove");
		remove.addListener(13, new Listener() {

			final ConfigSectionIPFilter this$0;

			public void handleEvent(Event arg0)
			{
				TableItem selection[] = table.getSelection();
				if (selection.length == 0)
				{
					return;
				} else
				{
					removeRange((IpRange)selection[0].getData());
					ipRanges = getSortedRanges(filter.getRanges());
					table.setItemCount(ipRanges.length);
					table.clearAll();
					table.redraw();
					return;
				}
			}

			
			{
				this$0 = ConfigSectionIPFilter.this;
				super();
			}
		});
		Button edit = new Button(cArea, 8);
		gridData = new GridData(2);
		gridData.widthHint = 100;
		edit.setLayoutData(gridData);
		Messages.setLanguageText(edit, "ConfigView.section.ipfilter.edit");
		edit.addListener(13, new Listener() {

			final ConfigSectionIPFilter this$0;

			public void handleEvent(Event arg0)
			{
				TableItem selection[] = table.getSelection();
				if (selection.length == 0)
				{
					return;
				} else
				{
					editRange((IpRange)selection[0].getData());
					return;
				}
			}

			
			{
				this$0 = ConfigSectionIPFilter.this;
				super();
			}
		});
		percentage_blocked = new Label(cArea, 0x20040);
		percentage_blocked.setLayoutData(Utils.getWrappableLabelGridData(1, 0));
		setPercentageBlocked();
		table.addMouseListener(new MouseAdapter() {

			final ConfigSectionIPFilter this$0;

			public void mouseDoubleClick(MouseEvent arg0)
			{
				TableItem selection[] = table.getSelection();
				if (selection.length == 0)
				{
					return;
				} else
				{
					editRange((IpRange)selection[0].getData());
					return;
				}
			}

			
			{
				this$0 = ConfigSectionIPFilter.this;
				super();
			}
		});
		Control controls[] = new Control[3];
		controls[0] = add;
		controls[1] = remove;
		controls[2] = edit;
		org.gudy.azureus2.ui.swt.config.IAdditionalActionPerformer enabler = new ChangeSelectionActionPerformer(controls);
		enabled.setAdditionalActionPerformer(enabler);
		ipRanges = getSortedRanges(filter.getRanges());
		table.addListener(36, new Listener() {

			final ConfigSectionIPFilter this$0;

			public void handleEvent(Event event)
			{
				TableItem item = (TableItem)event.item;
				int index = table.indexOf(item);
				if (index < 0 || index >= ipRanges.length)
				{
					return;
				} else
				{
					IpRange range = ipRanges[index];
					item.setText(0, range.getDescription());
					item.setText(1, range.getStartIp());
					item.setText(2, range.getEndIp());
					item.setData(range);
					return;
				}
			}

			
			{
				this$0 = ConfigSectionIPFilter.this;
				super();
			}
		});
		table.setItemCount(ipRanges.length);
		table.clearAll();
		table.redraw();
		table.addListener(11, new Listener() {

			final ConfigSectionIPFilter this$0;

			public void handleEvent(Event e)
			{
				resizeTable();
			}

			
			{
				this$0 = ConfigSectionIPFilter.this;
				super();
			}
		});
		gFilter.addListener(11, new Listener() {

			final ConfigSectionIPFilter this$0;

			public void handleEvent(Event e)
			{
				resizeTable();
			}

			
			{
				this$0 = ConfigSectionIPFilter.this;
				super();
			}
		});
		filterListener = new IPFilterListener() {

			final ConfigSectionIPFilter this$0;

			public boolean canIPBeBanned(String ip)
			{
				return true;
			}

			public void IPBanned(BannedIp bannedip)
			{
			}

			public void IPBlockedListChanged(final IpFilter filter)
			{
				Utils.execSWTThread(new AERunnable() {

					final IpFilter val$filter;
					final 12 this$1;

					public void runSupport()
					{
						if (table.isDisposed())
						{
							filter.removeListener(filterListener);
							return;
						} else
						{
							ipRanges = getSortedRanges(filter.getRanges());
							table.setItemCount(ipRanges.length);
							table.clearAll();
							table.redraw();
							return;
						}
					}

					
					{
						this$1 = 12.this;
						filter = ipfilter;
						super();
					}
				});
			}

			public boolean canIPBeBlocked(String ip, byte torrent_hash[])
			{
				return true;
			}

			
			{
				this$0 = ConfigSectionIPFilter.this;
				super();
			}
		};
		filter.addListener(filterListener);
		return gFilter;
	}

	private void resizeTable()
	{
		int iNewWidth = table.getClientArea().width - table.getColumn(1).getWidth() - table.getColumn(2).getWidth() - 20;
		if (iNewWidth > 50)
			table.getColumn(0).setWidth(iNewWidth);
	}

	public void removeRange(IpRange range)
	{
		filter.removeRange(range);
	}

	public void editRange(IpRange range)
	{
		new IpFilterEditor(azureus_core, table.getShell(), range);
		noChange = false;
	}

	public void addRange()
	{
		new IpFilterEditor(azureus_core, table.getShell(), null);
	}

	public void refresh()
	{
		if (table == null || table.isDisposed() || noChange)
			return;
		noChange = true;
		TableItem items[] = table.getItems();
		for (int i = 0; i < items.length; i++)
		{
			if (items[i] == null || items[i].isDisposed())
				continue;
			String tmp = items[i].getText(0);
			IpRange range = (IpRange)items[i].getData();
			String desc = range.getDescription();
			if (desc != null && !desc.equals(tmp))
				items[i].setText(0, desc);
			tmp = items[i].getText(1);
			if (range.getStartIp() != null && !range.getStartIp().equals(tmp))
				items[i].setText(1, range.getStartIp());
			tmp = items[i].getText(2);
			if (range.getEndIp() != null && !range.getEndIp().equals(tmp))
				items[i].setText(2, range.getEndIp());
		}

	}

	protected IpRange[] getSortedRanges(IpRange ranges[])
	{
		Arrays.sort(ranges, comparator);
		return ranges;
	}

	protected void setPercentageBlocked()
	{
		long nbIPsBlocked = filter.getTotalAddressesInRange();
		if (COConfigurationManager.getBooleanParameter("Ip Filter Allow"))
			nbIPsBlocked = 0x100000000L - nbIPsBlocked;
		int percentIPsBlocked = (int)((nbIPsBlocked * 1000L) / 0x100000000L);
		String nbIps = (new StringBuilder()).append("").append(nbIPsBlocked).toString();
		String percentIps = DisplayFormatters.formatPercentFromThousands(percentIPsBlocked);
		Messages.setLanguageText(percentage_blocked, "ConfigView.section.ipfilter.totalIPs", new String[] {
			nbIps, percentIps
		});
	}




}

⌨️ 快捷键说明

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