From d021f2ee1e76f8573ac75576db689da351985ace Mon Sep 17 00:00:00 2001
From: Adrien Beraud <adrien.beraud@savoirfairelinux.com>
Date: Wed, 17 May 2017 01:51:08 -0400
Subject: [PATCH] Edit trackers for all selected torrents

---
 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 c95de1c08..1e141f300 100644
--- a/deluge/ui/gtkui/edittrackersdialog.py
+++ b/deluge/ui/gtkui/edittrackersdialog.py
@@ -44,8 +44,8 @@
 from deluge.log import LOG as log
 
 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.glade = gtk.glade.XML(
                     pkg_resources.resource_filename("deluge.ui.gtkui",
                                             "glade/edit_trackers.glade"))
@@ -90,12 +90,12 @@ 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"]).addCallback(self._on_get_torrent_status)
+        session.get_torrent_status(self.torrent_ids[0], ["trackers"]).addCallback(self._on_get_torrent_status)
         client.force_call()
 
     def _on_get_torrent_status(self, status):
@@ -181,7 +181,8 @@ def each(model, path, iter, data):
             self.trackers.append(tracker)
         self.liststore.foreach(each, None)
         # 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.dialog.destroy()
 
     def on_button_cancel_clicked(self, widget):
diff --git a/deluge/ui/gtkui/menubar.py b/deluge/ui/gtkui/menubar.py
index 08729c884..1376509a5 100644
--- a/deluge/ui/gtkui/menubar.py
+++ b/deluge/ui/gtkui/menubar.py
@@ -288,7 +288,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()
 
-- 
2.11.0

