📄 mytorrentsview.java
字号:
}
}
itemNetwork.setSelection(bChecked);
}
}
final MenuItem itemPositionManual = new MenuItem(menuAdvanced, SWT.PUSH);
Messages.setLanguageText(itemPositionManual,
"MyTorrentsView.menu.reposition.manual");
itemPositionManual.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
InputShell is = new InputShell(
"MyTorrentsView.dialog.setPosition.title",
"MyTorrentsView.dialog.setPosition.text");
String sReturn = is.open();
if (sReturn == null)
return;
int newPosition = -1;
try {
newPosition = Integer.valueOf(sReturn).intValue();
} catch (NumberFormatException er) {
// Ignore
}
int size = globalManager.downloadManagerCount(isSeedingView);
if (newPosition > size)
newPosition = size;
if (newPosition <= 0) {
MessageBox mb = new MessageBox(getComposite().getShell(),
SWT.ICON_ERROR | SWT.OK);
mb.setText(MessageText
.getString("MyTorrentsView.dialog.NumberError.title"));
mb.setMessage(MessageText
.getString("MyTorrentsView.dialog.NumberError.text"));
mb.open();
return;
}
moveSelectedTorrentsTo(newPosition);
}
});
// back to main menu
if (userMode > 0 && isTrackerOn) {
// Host
final MenuItem itemHost = new MenuItem(menu, SWT.PUSH);
Messages.setLanguageText(itemHost, "MyTorrentsView.menu.host");
Utils.setMenuItemImage(itemHost, "host");
itemHost.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
hostSelectedTorrents();
}
});
// Publish
final MenuItem itemPublish = new MenuItem(menu, SWT.PUSH);
Messages.setLanguageText(itemPublish, "MyTorrentsView.menu.publish");
Utils.setMenuItemImage(itemPublish, "publish");
itemPublish.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
publishSelectedTorrents();
}
});
itemHost.setEnabled(hasSelection);
itemPublish.setEnabled(hasSelection);
}
/* Do we really need the Move submenu? There's shortcut keys and toolbar
* buttons..
new MenuItem(menu, SWT.SEPARATOR);
final MenuItem itemMove = new MenuItem(menu, SWT.CASCADE);
Messages.setLanguageText(itemMove, "MyTorrentsView.menu.move");
Utils.setMenuItemImage(itemMove, "move");
itemMove.setEnabled(hasSelection);
final Menu menuMove = new Menu(getComposite().getShell(), SWT.DROP_DOWN);
itemMove.setMenu(menuMove);
final MenuItem itemMoveTop = new MenuItem(menuMove, SWT.PUSH);
Messages.setLanguageText(itemMoveTop, "MyTorrentsView.menu.moveTop");
Utils.setMenuItemImage(itemMoveTop, "top");
itemMoveTop.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
moveSelectedTorrentsTop();
}
});
itemMoveTop.setEnabled(moveUp);
final MenuItem itemMoveUp = new MenuItem(menuMove, SWT.PUSH);
Messages.setLanguageText(itemMoveUp, "MyTorrentsView.menu.moveUp");
Utils.setMenuItemImage(itemMoveUp, "up");
itemMoveUp.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
moveSelectedTorrentsUp();
}
});
final MenuItem itemMoveDown = new MenuItem(menuMove, SWT.PUSH);
Messages.setLanguageText(itemMoveDown, "MyTorrentsView.menu.moveDown");
Utils.setMenuItemImage(itemMoveDown, "down");
itemMoveDown.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
moveSelectedTorrentsDown();
}
});
final MenuItem itemMoveEnd = new MenuItem(menuMove, SWT.PUSH);
Messages.setLanguageText(itemMoveEnd, "MyTorrentsView.menu.moveEnd");
Utils.setMenuItemImage(itemMoveEnd, "bottom");
itemMoveEnd.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
moveSelectedTorrentsEnd();
}
});
itemMoveEnd.setEnabled(moveDown);
*/
/* //TODO ensure that all limits combined don't go under the min 5kbs ?
//Disable at the end of the list, thus the first item of the array is instanciated last.
itemsSpeed[0] = new MenuItem(menuSpeed,SWT.PUSH);
Messages.setLanguageText(itemsSpeed[0],"MyTorrentsView.menu.setSpeed.disable");
itemsSpeed[0].setData("maxul", new Integer(-1));
itemsSpeed[0].addListener(SWT.Selection,itemsSpeedListener);
*/
// Category
menuCategory = new Menu(getComposite().getShell(), SWT.DROP_DOWN);
final MenuItem itemCategory = new MenuItem(menu, SWT.CASCADE);
Messages.setLanguageText(itemCategory, "MyTorrentsView.menu.setCategory"); //$NON-NLS-1$
//itemCategory.setImage(ImageRepository.getImage("speed"));
itemCategory.setMenu(menuCategory);
itemCategory.setEnabled(hasSelection);
addCategorySubMenu();
// Rename
final MenuItem itemRename = new MenuItem(menu, SWT.CASCADE);
Messages.setLanguageText(itemRename, "MyTorrentsView.menu.rename");
itemRename.setEnabled(hasSelection);
final Menu menuRename = new Menu(getComposite().getShell(), SWT.DROP_DOWN);
itemRename.setMenu(menuRename);
DownloadManager first_selected = ((DownloadManager)this.getFirstSelectedDataSource());
// Rename -> Displayed Name
final MenuItem itemRenameDisplayed = new MenuItem(menuRename, SWT.CASCADE);
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.valueOf(true));
itemRenameDisplayed.setData("save_name", Boolean.valueOf(false));
itemRenameDisplayed.setData("msg_key", "displayed");
}
// Rename -> Save Name
final MenuItem itemRenameSavePath = new MenuItem(menuRename, SWT.CASCADE);
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.valueOf(false));
itemRenameSavePath.setData("save_name", Boolean.valueOf(true));
itemRenameSavePath.setData("msg_key", "save_path");
}
// Rename -> Both
final MenuItem itemRenameBoth = new MenuItem(menuRename, SWT.CASCADE);
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.valueOf(true));
itemRenameBoth.setData("save_name", Boolean.valueOf(true));
itemRenameBoth.setData("msg_key", "displayed_and_save_path");
}
Listener rename_listener = new Listener() {
public void handleEvent(Event event) {
MenuItem mi = (MenuItem)event.widget;
String suggested = (String)mi.getData("suggested_text");
final boolean change_displayed_name = ((Boolean)mi.getData("display_name")).booleanValue();
final boolean change_save_name = ((Boolean)mi.getData("save_name")).booleanValue();
String msg_key_prefix = "MyTorrentsView.menu.rename." + (String)mi.getData("msg_key") + ".enter.";
SimpleTextEntryWindow text_entry = new SimpleTextEntryWindow(getComposite().getDisplay());
text_entry.setTitle(msg_key_prefix + "title");
text_entry.setMessages(new String[]{msg_key_prefix + "message", msg_key_prefix + "message.2"});
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) ? null : value;
MyTorrentsView.this.runForSelectedRows(new GroupTableRowRunner() {
public void run(TableRowCore row) {
DownloadManager dm = (DownloadManager)row.getDataSource(true);
if (change_displayed_name) {
dm.getDownloadState().setDisplayName(value_to_set);
}
if (change_save_name) {
try {dm.renameDownload((value_to_set==null) ? dm.getDisplayName() : value_to_set);}
catch (Exception e) {
Logger.log(new LogAlert(LogAlert.REPEATABLE,
"Download data rename operation failed", e));
}
}
}
});
}
}
};
itemRenameDisplayed.addListener(SWT.Selection, rename_listener);
itemRenameSavePath.addListener(SWT.Selection, rename_listener);
itemRenameBoth.addListener(SWT.Selection, rename_listener);
// Edit Comment
final MenuItem itemEditComment = new MenuItem(menu, SWT.CASCADE);
Messages.setLanguageText(itemEditComment, "MyTorrentsView.menu.edit_comment");
itemEditComment.setEnabled(dms.length > 0);
if (itemEditComment.isEnabled()) {
itemEditComment.setData("suggested_text", first_selected.getDownloadState().getUserComment());
}
Listener edit_comment_listener = new Listener() {
public void handleEvent(Event event) {
MenuItem mi = (MenuItem)event.widget;
String suggested = (String)mi.getData("suggested_text");
String msg_key_prefix = "MyTorrentsView.menu.edit_comment.enter.";
SimpleTextEntryWindow text_entry = new SimpleTextEntryWindow(getComposite().getDisplay());
text_entry.setTitle(msg_key_prefix + "title");
text_entry.setMessage(msg_key_prefix + "message");
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) ? null : value;
MyTorrentsView.this.runForSelectedRows(new GroupTableRowRunner() {
public void run(TableRowCore row) {
((DownloadManager)row.getDataSource(true)).getDownloadState().setUserComment(value_to_set);
}
});
}
}
};
itemEditComment.addListener(SWT.Selection, edit_comment_listener);
// ---
new MenuItem(menu, SWT.SEPARATOR);
// Queue
final MenuItem itemQueue = new MenuItem(menu, SWT.PUSH);
Messages.setLanguageText(itemQueue, "MyTorrentsView.menu.queue"); //$NON-NLS-1$
Utils.setMenuItemImage(itemQueue, "start");
itemQueue.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
queueSelectedTorrents();
}
});
itemQueue.setEnabled(start);
// Force Start
if (userMode > 0) {
final MenuItem itemForceStart = new MenuItem(menu, SWT.CHECK);
Messages.setLanguageText(itemForceStart, "MyTorrentsView.menu.forceStart");
Utils.setMenuItemImage(itemForceStart, "forcestart");
itemForceStart.addListener(SWT.Selection, new SelectedTableRowsListener() {
public void run(TableRowCore row) {
DownloadManager dm = (DownloadManager) row.getDataSource(true);
if (ManagerUtils.isForceStartable(dm)) {
dm.setForceStart(itemForceStart.getSelection());
}
}
});
itemForceStart.setSelection(forceStart);
itemForceStart.setEnabled(forceStartEnabled);
}
// Stop
final MenuItem itemStop = new MenuItem(menu, SWT.PUSH);
Messages.setLanguageText(itemStop, "MyTorrentsView.menu.stop"); //$NON-NLS-1$
Utils.setMenuItemImage(itemStop, "stop");
itemStop.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
stopSelectedTorrents();
}
});
itemStop.setEnabled(stop);
// Force Recheck
final MenuItem itemRecheck = new MenuItem(menu, SWT.PUSH);
Messages.setLanguageText(itemRecheck, "MyTorrentsView.menu.recheck");
Utils.setMenuItemImage(itemRecheck, "recheck");
itemRecheck.addListener(SWT.Selection, new SelectedTableRowsListener() {
public void run(TableRowCore row) {
DownloadManager dm = (DownloadManager) row.getDataSource(true);
if (dm.canForceRecheck()) {
dm.forceRecheck();
}
}
});
itemRecheck.setEnabled(recheck);
// Remove
final MenuItem itemRemove = new MenuItem(menu, SWT.PUSH);
Messages.setLanguageText(itemRemove, "MyTorrentsView.menu.remove"); //$NON-NLS-1$
Utils.setMenuItemImage(itemRemove, "delete");
itemRemove.addListener(SWT.Selection, new SelectedTableRowsListener() {
public void run(TableRowCore row) {
removeTorrent((DownloadManager) row.getDataSource(true), false, false);
}
});
itemRemove.setEnabled(hasSelection);
// === Remove And ===
// ==================
final MenuItem itemRemoveAnd = new MenuItem(menu, SWT.CASCADE);
Messages.setLanguageText(itemRemoveAnd, "MyTorrentsView.menu.removeand"); //$NON-NLS-1$
Utils.setMenuItemImage(itemRemoveAnd, "delete");
itemRemoveAnd.setEnabled(hasSelection);
final Menu menuRemove = new Menu(getComposite().getShell(), SWT.DROP_DOWN);
itemRemoveAnd.setMenu(menuRemove);
// Remove And > Delete Torrent
final MenuItem itemDeleteTorrent = new MenuItem(menuRemove, SWT.PUSH);
Messages.setLanguageText(itemDeleteTorrent,
"MyTorrentsView.menu.removeand.deletetorrent"); //$NON-NLS-1$
itemDeleteTorrent.addListener(SWT.Selection,
new SelectedTableRowsListener() {
public void run(TableRowCore row) {
removeTorrent((DownloadManager) row.getDataSource(true), true,
false);
}
});
// Remove And > Delete Data
final MenuItem itemDeleteData = new MenuItem(menuRemove, SWT.PUSH);
Messages.setLanguageText(itemDeleteData,
"MyTorrentsView.menu.removeand.deletedata");
itemDeleteData.addListener(SWT.Selection, new SelectedTableRowsListener() {
public void run(TableRowCore row) {
removeTorrent((DownloadManager) row.getDataSource(true), false, true);
}
});
// Remove And > Delete Both
final MenuItem itemDeleteBoth = new MenuItem(menuRemove, SWT.PUSH);
Messages.setLanguageText(itemDeleteBoth,
"MyTorrentsView.menu.removeand.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -