📄 webseedpanel.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: WebSeedPanel.java
package org.gudy.azureus2.ui.swt.maketorrent;
import java.util.*;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;
import org.gudy.azureus2.core3.internat.MessageText;
import org.gudy.azureus2.core3.util.TrackersUtil;
import org.gudy.azureus2.ui.swt.Messages;
import org.gudy.azureus2.ui.swt.wizard.*;
// Referenced classes of package org.gudy.azureus2.ui.swt.maketorrent:
// DirectoryPanel, NewTorrentWizard, SingleFilePanel, WebSeedsEditorListener,
// WebSeedsEditor
public class WebSeedPanel extends AbstractWizardPanel
implements WebSeedsEditorListener
{
private Combo configList;
private Tree configDetails;
private Button btnNew;
private Button btnEdit;
private Button btnDelete;
public WebSeedPanel(NewTorrentWizard wizard, AbstractWizardPanel previous)
{
AbstractWizardPanel(wizard, previous);
}
public void show()
{
wizard.setTitle(MessageText.getString("wizard.webseed.title"));
wizard.setCurrentInfo("");
Composite rootPanel = wizard.getPanel();
GridLayout layout = new GridLayout();
layout.numColumns = 1;
rootPanel.setLayout(layout);
Composite panel = new Composite(rootPanel, 0);
GridData gridData = new GridData(772);
panel.setLayoutData(gridData);
layout = new GridLayout();
layout.numColumns = 3;
panel.setLayout(layout);
Label labelTitle = new Label(panel, 0);
Messages.setLanguageText(labelTitle, "wizard.webseed.configuration");
gridData = new GridData();
gridData.horizontalSpan = 3;
labelTitle.setLayoutData(gridData);
configList = new Combo(panel, 8);
gridData = new GridData(768);
gridData.horizontalSpan = 3;
configList.setLayoutData(gridData);
configList.addListener(13, new Listener() {
final WebSeedPanel this$0;
public void handleEvent(Event e)
{
updateWebSeeds();
refreshDetails();
}
{
this$0 = WebSeedPanel.this;
Object();
}
});
btnNew = new Button(panel, 8);
Messages.setLanguageText(btnNew, "wizard.multitracker.new");
gridData = new GridData();
gridData.widthHint = 100;
btnNew.setLayoutData(gridData);
btnNew.addListener(13, new Listener() {
final WebSeedPanel this$0;
public void handleEvent(Event e)
{
Map webseeds = new HashMap();
webseeds.put("getright", new ArrayList());
webseeds.put("webseed", new ArrayList());
new WebSeedsEditor(null, webseeds, WebSeedPanel.this);
}
{
this$0 = WebSeedPanel.this;
Object();
}
});
btnEdit = new Button(panel, 8);
Messages.setLanguageText(btnEdit, "wizard.multitracker.edit");
gridData = new GridData();
gridData.widthHint = 100;
btnEdit.setLayoutData(gridData);
btnEdit.addListener(13, new Listener() {
final WebSeedPanel this$0;
public void handleEvent(Event e)
{
int selection = configList.getSelectionIndex();
String selected = configList.getItem(selection);
Map webseeds = TrackersUtil.getInstance().getWebSeeds();
new WebSeedsEditor(selected, (Map)webseeds.get(selected), WebSeedPanel.this);
}
{
this$0 = WebSeedPanel.this;
Object();
}
});
btnDelete = new Button(panel, 8);
Messages.setLanguageText(btnDelete, "wizard.multitracker.delete");
gridData = new GridData(128);
gridData.widthHint = 100;
btnDelete.setLayoutData(gridData);
btnDelete.addListener(13, new Listener() {
final WebSeedPanel this$0;
public void handleEvent(Event e)
{
int selection = configList.getSelectionIndex();
String selected = configList.getItem(selection);
TrackersUtil.getInstance().removeWebSeed(selected);
refreshList("");
refreshDetails();
setEditDeleteEnable();
}
{
this$0 = WebSeedPanel.this;
Object();
}
});
Label labelSeparator = new Label(panel, 258);
gridData = new GridData(768);
gridData.horizontalSpan = 3;
labelSeparator.setLayoutData(gridData);
configDetails = new Tree(panel, 2048);
gridData = new GridData(768);
gridData.heightHint = 150;
gridData.horizontalSpan = 3;
configDetails.setLayoutData(gridData);
refreshList(((NewTorrentWizard)wizard).webSeedConfig);
refreshDetails();
setEditDeleteEnable();
}
public IWizardPanel getNextPanel()
{
if (((NewTorrentWizard)wizard).create_from_dir)
return new DirectoryPanel((NewTorrentWizard)wizard, this);
else
return new SingleFilePanel((NewTorrentWizard)wizard, this);
}
public boolean isNextEnabled()
{
return true;
}
void refreshDetails()
{
configDetails.removeAll();
Map webseeds = ((NewTorrentWizard)wizard).webseeds;
TreeItem itemRoot;
for (Iterator iter = webseeds.entrySet().iterator(); iter.hasNext(); itemRoot.setExpanded(true))
{
java.util.Map.Entry entry = (java.util.Map.Entry)iter.next();
itemRoot = new TreeItem(configDetails, 0);
itemRoot.setText((String)entry.getKey());
String url;
for (Iterator iter2 = ((List)entry.getValue()).iterator(); iter2.hasNext(); (new TreeItem(itemRoot, 0)).setText(url))
url = (String)iter2.next();
}
}
void setEditDeleteEnable()
{
if (configList.getItemCount() > 0)
{
btnEdit.setEnabled(true);
btnDelete.setEnabled(true);
} else
{
btnEdit.setEnabled(false);
btnDelete.setEnabled(false);
}
}
public void webSeedsChanged(String oldName, String newName, Map ws)
{
TrackersUtil util = TrackersUtil.getInstance();
if (oldName != null && !oldName.equals(newName))
util.removeWebSeed(oldName);
util.addWebSeed(newName, ws);
refreshList(newName);
refreshDetails();
setEditDeleteEnable();
}
private void refreshList(String toBeSelected)
{
Map webseeds = TrackersUtil.getInstance().getWebSeeds();
configList.removeAll();
for (Iterator iter = webseeds.keySet().iterator(); iter.hasNext(); configList.add((String)iter.next()));
int selection = configList.indexOf(toBeSelected);
if (selection != -1)
configList.select(selection);
else
if (configList.getItemCount() > 0)
configList.select(0);
updateWebSeeds();
}
private void updateWebSeeds()
{
int selection = configList.getSelectionIndex();
if (selection == -1)
{
((NewTorrentWizard)wizard).webSeedConfig = "";
((NewTorrentWizard)wizard).webseeds = new HashMap();
setNext();
return;
} else
{
String selected = configList.getItem(selection);
((NewTorrentWizard)wizard).webSeedConfig = selected;
Map webseeds = TrackersUtil.getInstance().getWebSeeds();
((NewTorrentWizard)wizard).webseeds = (Map)webseeds.get(selected);
setNext();
return;
}
}
private void setNext()
{
wizard.setNextEnabled(true);
wizard.setErrorMessage("");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -