From d1822952c7b1fc7d336e7307aa2d3e1b3a138eb6 Mon Sep 17 00:00:00 2001
From: "William J. Bowman" <wjb@williamjbowman.com>
Date: Sun, 4 Nov 2012 21:04:55 -0500
Subject: [PATCH] Added a hack to multi-edit trackers.

---
 deluge/ui/gtkui/edittrackersdialog.py | 11 ++++++-----
 deluge/ui/gtkui/menubar.py            |  2 +-
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/deluge/ui/gtkui/edittrackersdialog.py b/deluge/ui/gtkui/edittrackersdialog.py
index 89de267..5b7560c 100644
--- a/deluge/ui/gtkui/edittrackersdialog.py
+++ b/deluge/ui/gtkui/edittrackersdialog.py
@@ -46,8 +46,8 @@
 log = logging.getLogger(__name__)
 
 class EditTrackersDialog:
-    def __init__(self, torrent_id, parent=None):
-        self.torrent_id = torrent_id
+    def __init__(self, torrent_ids, parent=None):
+        self.torrent_ids = torrent_ids
         self.builder = gtk.Builder()
         # Main dialog
         self.builder.add_from_file(deluge.common.resource_filename(
@@ -103,13 +103,13 @@ def __init__(self, torrent_id, parent=None):
 
     def run(self):
         # Make sure we have a torrent_id.. if not just return
-        if self.torrent_id == None:
+        if not self.torrent_ids:
             return
 
         # Get the trackers for this torrent
         session = component.get("SessionProxy")
         session.get_torrent_status(
-            self.torrent_id, ["trackers"]
+            self.torrent_ids[0], ["trackers"]
         ).addCallback(self._on_get_torrent_status)
         client.force_call()
 
@@ -132,7 +132,8 @@ def each(model, path, iter, data):
             self.liststore.foreach(each, None)
             if self.old_trackers != self.trackers:
                 # Set the torrens trackers
-                client.core.set_torrent_trackers(self.torrent_id, self.trackers)
+                for torrent_id in self.torrent_ids:
+                    client.core.set_torrent_trackers(torrent_id, self.trackers)
                 self.deferred.callback(gtk.RESPONSE_OK)
             else:
                 self.deferred.callback(gtk.RESPONSE_CANCEL)
diff --git a/deluge/ui/gtkui/menubar.py b/deluge/ui/gtkui/menubar.py
index 23c7472..c076588 100644
--- a/deluge/ui/gtkui/menubar.py
+++ b/deluge/ui/gtkui/menubar.py
@@ -296,7 +296,7 @@ def on_menuitem_edittrackers_activate(self, data=None):
         log.debug("on_menuitem_edittrackers_activate")
         from edittrackersdialog import EditTrackersDialog
         dialog = EditTrackersDialog(
-            component.get("TorrentView").get_selected_torrent(),
+            component.get("TorrentView").get_selected_torrents(),
             component.get("MainWindow").window)
         dialog.run()
 
-- 
1.8.0

