diff --git a/deluge/ui/gtkui/glade/main_window.glade b/deluge/ui/gtkui/glade/main_window.glade index 99f407784..dead45def 100644 --- a/deluge/ui/gtkui/glade/main_window.glade +++ b/deluge/ui/gtkui/glade/main_window.glade @@ -24,6 +24,7 @@ True + False _Add Torrent True @@ -39,6 +40,7 @@ True + False Add _URL True @@ -47,6 +49,7 @@ True + False _Clear Completed True @@ -60,12 +63,10 @@ - True - True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Quit & Shutdown Daemon True @@ -208,6 +209,7 @@ True + False Add torrent Add Torrent True @@ -221,6 +223,7 @@ True + False Remove the selected torrents Remove Torrent True @@ -234,6 +237,7 @@ True + False Remove the finished torrents Clear Finished True @@ -256,6 +260,7 @@ True + False Pause the selected torrents Pause True @@ -269,6 +274,7 @@ True + False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Resume the selected torrents Resume diff --git a/deluge/ui/gtkui/glade/torrent_menu.glade b/deluge/ui/gtkui/glade/torrent_menu.glade index 22766def1..deb1cecbf 100644 --- a/deluge/ui/gtkui/glade/torrent_menu.glade +++ b/deluge/ui/gtkui/glade/torrent_menu.glade @@ -7,6 +7,7 @@ True + False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK _Pause True @@ -22,6 +23,7 @@ True + False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Resume selected torrents. Resu_me @@ -45,6 +47,7 @@ True + False _Update Tracker True @@ -61,6 +64,7 @@ True + False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK _Edit Trackers True @@ -83,6 +87,7 @@ True + False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK _Remove Torrent True diff --git a/deluge/ui/gtkui/menubar.py b/deluge/ui/gtkui/menubar.py index 7ae91315a..12bea2206 100644 --- a/deluge/ui/gtkui/menubar.py +++ b/deluge/ui/gtkui/menubar.py @@ -95,6 +95,32 @@ class MenuBar(component.Component): }) + self.change_sensitivity = [ + "menuitem_addtorrent", + "menuitem_addurl", + "menuitem_clear" + ] + + def start(self): + for widget in self.change_sensitivity: + self.window.main_glade.get_widget(widget).set_sensitive(True) + + for child in self.torrentmenu: + child.set_sensitive(True) + + self.window.main_glade.get_widget("separatormenuitem").show() + self.window.main_glade.get_widget("menuitem_quitdaemon").show() + + def stop(self): + for widget in self.change_sensitivity: + self.window.main_glade.get_widget(widget).set_sensitive(False) + + for child in self.torrentmenu: + child.set_sensitive(False) + + self.window.main_glade.get_widget("separatormenuitem").hide() + self.window.main_glade.get_widget("menuitem_quitdaemon").hide() + ### Callbacks ### ## File Menu ## diff --git a/deluge/ui/gtkui/toolbar.py b/deluge/ui/gtkui/toolbar.py index d59491357..c67ae6b84 100644 --- a/deluge/ui/gtkui/toolbar.py +++ b/deluge/ui/gtkui/toolbar.py @@ -56,7 +56,23 @@ class ToolBar(component.Component): "on_toolbutton_connectionmanager_clicked": \ self.on_toolbutton_connectionmanager_clicked }) + self.change_sensitivity = [ + "toolbutton_add", + "toolbutton_remove", + "toolbutton_clear", + "toolbutton_pause", + "toolbutton_resume" + ] + + def start(self): + for widget in self.change_sensitivity: + self.window.main_glade.get_widget(widget).set_sensitive(True) + + def stop(self): + for widget in self.change_sensitivity: + self.window.main_glade.get_widget(widget).set_sensitive(False) + def visible(self, visible): if visible: self.toolbar.show() diff --git a/deluge/ui/gtkui/torrentdetails.py b/deluge/ui/gtkui/torrentdetails.py index aa6035855..b881a8153 100644 --- a/deluge/ui/gtkui/torrentdetails.py +++ b/deluge/ui/gtkui/torrentdetails.py @@ -52,6 +52,8 @@ class TorrentDetails(component.Component): self.notebook = glade.get_widget("torrent_info") self.details_tab = glade.get_widget("torrentdetails_tab") + self.is_visible = True + # Get the labels we need to update. self.progress_bar = glade.get_widget("progressbar") self.name = glade.get_widget("summary_name") @@ -80,13 +82,16 @@ class TorrentDetails(component.Component): self.notebook.hide() self.window.vpaned.set_position(-1) + self.is_visible = visible + def stop(self): self.clear() def update(self): # Only update if this page is showing if self.notebook.page_num(self.details_tab) is \ - self.notebook.get_current_page(): + self.notebook.get_current_page() and \ + self.notebook.get_property("visible"): # Get the first selected torrent #selected = self.window.torrentview.get_selected_torrents() selected = component.get("TorrentView").get_selected_torrents()