📄 torrentutil.java
字号:
public void run(DownloadManager dms[])
{
if (dms.length > 0)
new TrackerChangerWindow(composite.getDisplay(), dms);
}
{
composite = composite1;
super(x0);
}
});
itemChangeTracker.setEnabled(changeUrl);
MenuItem itemEditTracker = new MenuItem(menuTracker, 8);
Messages.setLanguageText(itemEditTracker, "MyTorrentsView.menu.editTracker");
Utils.setMenuItemImage(itemEditTracker, "edit_trackers");
itemEditTracker.addListener(13, new DMTask(dms) {
public void run(DownloadManager dms[])
{
Map same_map = new HashMap();
DownloadManager arr$[] = dms;
int len$ = arr$.length;
for (int i$ = 0; i$ < len$; i$++)
{
DownloadManager dm = arr$[i$];
TOTorrent torrent = dm.getTorrent();
if (torrent == null)
continue;
List group = TorrentUtils.announceGroupsToList(torrent);
String str = "";
for (Iterator i$ = group.iterator(); i$.hasNext();)
{
List l = (List)i$.next();
str = (new StringBuilder()).append(str).append("[[").toString();
Iterator i$ = l.iterator();
while (i$.hasNext())
{
String s = (String)i$.next();
str = (new StringBuilder()).append(str).append(s).append(", ").toString();
}
}
List dl = (List)same_map.get(str);
if (dl == null)
{
dl = new ArrayList();
same_map.put(str, dl);
}
dl.add(dm);
}
final List set;
List group;
for (Iterator i$ = same_map.values().iterator(); i$.hasNext(); new MultiTrackerEditor(null, group, new TrackerEditorListener() {
final List val$set;
final 8 this$0;
public void trackersChanged(String str, String str2, List group)
{
Iterator i$ = set.iterator();
do
{
if (!i$.hasNext())
break;
DownloadManager dm = (DownloadManager)i$.next();
TOTorrent torrent = dm.getTorrent();
TorrentUtils.listToAnnounceGroups(group, torrent);
try
{
TorrentUtils.writeToFile(torrent);
}
catch (Throwable e)
{
Debug.printStackTrace(e);
}
if (dm.getTrackerClient() != null)
dm.getTrackerClient().resetTrackerUrl(true);
} while (true);
}
{
this$0 = 8.this;
set = list;
super();
}
}, true))
{
set = (List)i$.next();
TOTorrent torrent = ((DownloadManager)set.get(0)).getTorrent();
group = TorrentUtils.announceGroupsToList(torrent);
}
}
});
itemEditTracker.setEnabled(hasSelection);
MenuItem itemManualUpdate = new MenuItem(menuTracker, 8);
Messages.setLanguageText(itemManualUpdate, "GeneralView.label.trackerurlupdate");
itemManualUpdate.addListener(13, new DMTask(dms) {
public void run(DownloadManager dm)
{
dm.requestTrackerAnnounce(false);
}
});
itemManualUpdate.setEnabled(manualUpdate);
boolean scrape_enabled = COConfigurationManager.getBooleanParameter("Tracker Client Scrape Enable");
boolean scrape_stopped = COConfigurationManager.getBooleanParameter("Tracker Client Scrape Stopped Enable");
boolean manualScrape = !scrape_enabled || !scrape_stopped && allStopped;
MenuItem itemManualScrape = new MenuItem(menuTracker, 8);
Messages.setLanguageText(itemManualScrape, "GeneralView.label.trackerscrapeupdate");
itemManualScrape.addListener(13, new DMTask(dms, true, true) {
public void run(DownloadManager dm)
{
dm.requestTrackerScrape(true);
}
});
itemManualScrape.setEnabled(manualScrape);
MenuItem itemFiles = new MenuItem(menuAdvanced, 64);
Messages.setLanguageText(itemFiles, "ConfigView.section.files");
Menu menuFiles = new Menu(composite.getShell(), 4);
itemFiles.setMenu(menuFiles);
MenuItem itemFileMoveData = new MenuItem(menuFiles, 8);
Messages.setLanguageText(itemFileMoveData, "MyTorrentsView.menu.movedata");
itemFileMoveData.addListener(13, new DMTask(dms, composite) {
final Composite val$composite;
public void run(DownloadManager dms[])
{
if (dms != null && dms.length > 0)
{
DirectoryDialog dd = new DirectoryDialog(composite.getShell());
dd.setFilterPath(TorrentOpener.getFilterPathData());
dd.setText(MessageText.getString("MyTorrentsView.menu.movedata.dialog"));
String path = dd.open();
if (path != null)
{
TorrentOpener.setFilterPathData(path);
File target = new File(path);
for (int i = 0; i < dms.length; i++)
try
{
dms[i].moveDataFiles(target);
}
catch (Throwable e)
{
Logger.log(new LogAlert(dms[i], true, "Download data move operation failed", e));
}
}
}
}
{
composite = composite1;
super(x0);
}
});
itemFileMoveData.setEnabled(fileMove);
MenuItem itemFileMoveTorrent = new MenuItem(menuFiles, 8);
Messages.setLanguageText(itemFileMoveTorrent, "MyTorrentsView.menu.movetorrent");
itemFileMoveTorrent.addListener(13, new DMTask(dms, composite) {
final Composite val$composite;
public void run(DownloadManager dms[])
{
if (dms != null && dms.length > 0)
{
DirectoryDialog dd = new DirectoryDialog(composite.getShell());
String filter_path = TorrentOpener.getFilterPathTorrent();
if (filter_path == null || filter_path.trim().length() == 0)
filter_path = (new File(dms[0].getTorrentFileName())).getParent();
dd.setFilterPath(filter_path);
dd.setText(MessageText.getString("MyTorrentsView.menu.movedata.dialog"));
String path = dd.open();
if (path != null)
{
File target = new File(path);
TorrentOpener.setFilterPathTorrent(target.toString());
for (int i = 0; i < dms.length; i++)
try
{
dms[i].moveTorrentFile(target);
}
catch (Throwable e)
{
Logger.log(new LogAlert(dms[i], true, "Download torrent move operation failed", e));
}
}
}
}
{
composite = composite1;
super(x0);
}
});
itemFileMoveTorrent.setEnabled(fileMove);
MenuItem itemCheckFilesExist = new MenuItem(menuFiles, 8);
Messages.setLanguageText(itemCheckFilesExist, "MyTorrentsView.menu.checkfilesexist");
itemCheckFilesExist.addListener(13, new DMTask(dms) {
public void run(DownloadManager dm)
{
dm.filesExist(true);
}
});
MenuItem itemFileRescan = new MenuItem(menuFiles, 32);
Messages.setLanguageText(itemFileRescan, "MyTorrentsView.menu.rescanfile");
itemFileRescan.addListener(13, new DMTask(dms, itemFileRescan) {
final MenuItem val$itemFileRescan;
public void run(DownloadManager dm)
{
dm.getDownloadState().setFlag(2L, itemFileRescan.getSelection());
}
{
itemFileRescan = menuitem;
super(x0);
}
});
itemFileRescan.setSelection(allScanSelected);
itemFileRescan.setEnabled(fileRescan);
MenuItem itemFileClearResume = new MenuItem(menuFiles, 8);
Messages.setLanguageText(itemFileClearResume, "MyTorrentsView.menu.clear_resume_data");
itemFileClearResume.addListener(13, new DMTask(dms) {
public void run(DownloadManager dm)
{
dm.getDownloadState().clearResumeData();
}
});
itemFileClearResume.setEnabled(allStopped);
MenuItem itemRename = new MenuItem(menuAdvanced, 64);
Messages.setLanguageText(itemRename, "MyTorrentsView.menu.rename");
itemRename.setEnabled(hasSelection);
Menu menuRename = new Menu(composite.getShell(), 4);
itemRename.setMenu(menuRename);
DownloadManager first_selected = dms.length != 0 ? dms[0] : null;
MenuItem itemRenameDisplayed = new MenuItem(menuRename, 64);
Messages.setLanguageText(itemRenameDisplayed, "MyTorrentsView.menu.rename.displayed");
itemRenameDisplayed.setEnabled(hasSelection);
if (itemRenameDisplayed.isEnabled())
{
itemRenameDisplayed.setData("suggested_text", first_selected.getDisplayName());
itemRenameDisplayed.setData("display_name", Boolean.TRUE);
itemRenameDisplayed.setData("save_name", Boolean.FALSE);
itemRenameDisplayed.setData("rename_all", Boolean.FALSE);
itemRenameDisplayed.setData("msg_key", "displayed");
}
MenuItem itemRenameSavePath = new MenuItem(menuRename, 64);
Messages.setLanguageText(itemRenameSavePath, "MyTorrentsView.menu.rename.save_path");
itemRenameSavePath.setEnabled(fileMove && dms.length == 1);
if (itemRenameSavePath.isEnabled())
{
itemRenameSavePath.setData("suggested_text", first_selected.getAbsoluteSaveLocation().getName());
itemRenameSavePath.setData("display_name", Boolean.FALSE);
itemRenameSavePath.setData("save_name", Boolean.TRUE);
itemRenameSavePath.setData("rename_all", Boolean.FALSE);
itemRenameSavePath.setData("msg_key", "save_path");
}
MenuItem itemRenameBoth = new MenuItem(menuRename, 64);
Messages.setLanguageText(itemRenameBoth, "MyTorrentsView.menu.rename.displayed_and_save_path");
itemRenameBoth.setEnabled(fileMove && dms.length == 1);
if (itemRenameBoth.isEnabled())
{
itemRenameBoth.setData("suggested_text", first_selected.getAbsoluteSaveLocation().getName());
itemRenameBoth.setData("display_name", Boolean.TRUE);
itemRenameBoth.setData("save_name", Boolean.TRUE);
itemRenameBoth.setData("msg_key", "displayed_and_save_path");
itemRenameBoth.setData("rename_all", Boolean.FALSE);
}
Listener rename_listener = new Listener(composite, dms) {
final Composite val$composite;
final DownloadManager val$dms[];
public void handleEvent(Event event)
{
MenuItem mi = (MenuItem)event.widget;
String suggested = (String)mi.getData("suggested_text");
final boolean rename_all = ((Boolean)mi.getData("rename_all")).booleanValue();
final boolean change_displayed_name = ((Boolean)mi.getData("display_name")).booleanValue();
boolean change_save_name = ((Boolean)mi.getData("save_name")).booleanValue();
String msg_key_prefix = (new StringBuilder()).append("MyTorrentsView.menu.rename.").append((String)mi.getData("msg_key")).append(".enter.").toString();
SimpleTextEntryWindow text_entry = new SimpleTextEntryWindow(composite.getDisplay());
text_entry.setTitle((new StringBuilder()).append(msg_key_prefix).append("title").toString());
text_entry.setMessages(new String[] {
(new StringBuilder()).append(msg_key_prefix).append("message").toString(), (new StringBuilder()).append(msg_key_prefix).append("message.2").toString()
});
text_entry.setPreenteredText(suggested, false);
text_entry.prompt();
if (text_entry.hasSubmittedInput())
{
String value = text_entry.getSubmittedInput();
final String value_to_set = value.length() != 0 ? value : null;
DMTask task = new DMTask(change_save_name) {
final boolean val$rename_all;
final String val$value_to_set;
final boolean val$change_displayed_name;
final boolean val$change_save_name;
final 16 this$0;
public void run(DownloadManager dm)
{
if (rename_all)
try
{
dm.rename(value_to_set);
}
catch (Exception e)
{
Logger.log(new LogAlert(dm, true, "Download data rename operation failed", e));
}
if (change_displayed_name)
dm.getDownloadState().setDisplayName(value_to_set);
if (change_save_name)
try
{
dm.renameDownload(value_to_set != null ? value_to_set : dm.getDisplayName());
}
catch (Exception e)
{
Logger.log(new LogAlert(dm, true, "Download data rename operation failed", e));
}
}
{
this$0 = 16.this;
rename_all = flag;
value_to_set = s;
change_displayed_name = flag1;
change_save_name = flag2;
super(x0);
}
};
task.go();
}
}
{
composite = composite1;
dms = adownloadmanager;
super();
}
};
itemRenameDisplayed.addListener(13, rename_listener);
itemRenameSavePath.addListener(13, rename_listener);
itemRenameBoth.addListener(13, rename_listener);
if (userMode > 0)
{
MenuItem itemExport = new MenuItem(menuAdvanced, 64);
Messages.setLanguageText(itemExport, "MyTorrentsView.menu.exportmenu");
Utils.setMenuItemImage(itemExport, "export");
itemExport.setEnabled(hasSelection);
Menu menuExport = new Menu(composite.getShell(), 4);
itemExport.setMenu(menuExport);
MenuItem itemExportXML = new MenuItem(menuExport, 8);
Messages.setLanguageText(itemExportXML, "MyTorrentsView.menu.export");
itemExportXML.addListener(13, new DMTask(dms, azureus_core, itemExportXML) {
final AzureusCore val$azureus_core;
final MenuItem val$itemExportXML;
public void run(DownloadManager dms[])
{
DownloadManager dm = dms[0];
if (dm != null)
new ExportTorrentWizard(azureus_core, itemExportXML.getDisplay(), dm);
}
{
azureus_core = azureuscore;
itemExportXML = menuitem;
super(x0);
}
});
MenuItem itemExportTorrent = new MenuItem(menuExport, 8);
Messages.setLanguageText(itemExportTorrent, "MyTorrentsView.menu.exporttorrent");
itemExportTorrent.addListener(13, new DMTask(dms, composite) {
final Composite val$composite;
public void run(DownloadManager dms[])
{
File destinations[];
int i;
destinations = new File[dms.length];
if (dms.length == 1)
{
FileDialog fd = new FileDialog(composite.getShell(), 8192);
fd.setFileName(dms[0].getTorrentFileName());
String path = fd.open();
if (path == null)
return;
destinations[0] = new File(path);
} else
{
DirectoryDialog dd = new DirectoryDialog(composite.getShell(), 8192);
String path = dd.open();
if (path == null)
return;
for (int i = 0; i < dms.length; i++)
destinations[i] = new File(path, (new File(dms[i].getTorrentFileName())).getName());
}
i = 0;
_L2:
File target;
if (i >= dms.length)
break MISSING_BLOCK_LABEL_338;
target = destinations[i];
if (!target.exists())
break MISSING_BLOCK_LABEL_268;
MessageBox mb = new MessageBox(composite.getShell(), 196);
mb.setText(MessageText.getString("exportTorrentWizard.process.outputfileexists.title"));
mb.setMessage((new StringBuilder()).append(MessageText.getString("exportTorrentWizard.process.outputfileexists.message")).append("\n").append(destinations[i].getName()).toString());
int result = mb.open();
if (result == 128)
return;
if (!target.delete())
throw new Exception("Failed to delete file");
TorrentUtils.copyToFile(dms[i].getDownloadState().getTorrent(), target);
TOTorrent dest = TOTorrentFactory.deserialiseFromBEncodedFile(target);
dest.removeAdditionalProperties();
dest.serialiseToBEncodedFile(target);
i++;
if (true) goto _L2; else goto _L1
_L1:
Throwable e;
e;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -