From 33339b1dc65f6169d5c0c9c3b55b328ca0a488dd Mon Sep 17 00:00:00 2001 From: Calum Lind Date: Sun, 31 Aug 2014 14:28:12 +0100 Subject: [#2496] [GTKUI] Fix updating core_config before setting default options * Remove duplicate entry in init. * Call update if empty config and prevent potential loop in update method. * Ensure that the queue Add button is sensitive, even when automatically adding. --- deluge/ui/gtkui/addtorrentdialog.py | 9 +++++++-- deluge/ui/gtkui/queuedtorrents.py | 11 ++++++----- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/deluge/ui/gtkui/addtorrentdialog.py b/deluge/ui/gtkui/addtorrentdialog.py index 1bb8475ef..195ac601a 100644 --- a/deluge/ui/gtkui/addtorrentdialog.py +++ b/deluge/ui/gtkui/addtorrentdialog.py @@ -147,7 +147,6 @@ class AddTorrentDialog(component.Component): "move_completed", "move_completed_path" ] - self.core_config = {} self.glade.get_widget("notebook1").connect("switch-page", self._on_switch_page) @@ -194,7 +193,8 @@ class AddTorrentDialog(component.Component): def update_core_config(self, show=False, focus=False): def _on_config_values(config): self.core_config = config - self.set_default_options() + if self.core_config: + self.set_default_options() if show: self._show(focus) @@ -476,6 +476,11 @@ class AddTorrentDialog(component.Component): return priorities def set_default_options(self): + if not self.core_config: + # update_core_config will call this method again. + self.update_core_config() + return + if client.is_localhost(): self.glade.get_widget("button_location").set_current_folder( self.core_config["download_location"]) diff --git a/deluge/ui/gtkui/queuedtorrents.py b/deluge/ui/gtkui/queuedtorrents.py index 08f411d94..ef41ae1a9 100644 --- a/deluge/ui/gtkui/queuedtorrents.py +++ b/deluge/ui/gtkui/queuedtorrents.py @@ -86,15 +86,16 @@ class QueuedTorrents(component.Component): if len(self.queue) == 0: return - if self.config["autoadd_queued"] or self.config["classic_mode"]: - self.on_button_add_clicked(None) - return # Make sure status bar info is showing self.update_status_bar() # We only want the add button sensitive if we're connected to a host self.glade.get_widget("button_add").set_sensitive(True) - self.run() + + if self.config["autoadd_queued"] or self.config["classic_mode"]: + self.on_button_add_clicked(None) + else: + self.run() def stop(self): # We only want the add button sensitive if we're connected to a host @@ -174,7 +175,7 @@ class QueuedTorrents(component.Component): def add_torrent(model, path, iter, data): torrent_path = model.get_value(iter, 1) process_args([torrent_path]) - + self.liststore.foreach(add_torrent, None) del self.queue[:] self.dialog.hide() -- cgit