📄 configsectionipfilter.java
字号:
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 + -