diff --git a/glade/delugegtk.glade b/glade/delugegtk.glade index 48b8f1036..99db1a8d2 100644 --- a/glade/delugegtk.glade +++ b/glade/delugegtk.glade @@ -836,6 +836,22 @@ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Plu_gins + True + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + gtk-disconnect + + + + True @@ -1186,6 +1202,18 @@ False + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Plugins + gtk-disconnect + + + + False + + 1 diff --git a/src/dialogs.py b/src/dialogs.py index bb0aae4ac..d6bce6bce 100644 --- a/src/dialogs.py +++ b/src/dialogs.py @@ -40,9 +40,11 @@ import pref PREFS_FILENAME = "prefs.state" class PreferencesDlg: - def __init__(self, preferences, active_port, plugins): + def __init__(self, preferences, active_port, plugins, plugin_tab=False): self.glade = gtk.glade.XML(common.get_glade_file("preferences_dialog.glade"), domain='deluge') self.dialog = self.glade.get_widget("pref_dialog") + if plugin_tab: + self.glade.get_widget("notebook").set_current_page(6) self.dialog.set_position(gtk.WIN_POS_CENTER) self.dialog.set_icon_from_file(common.get_pixmap("deluge32.png")) self.glade.signal_autoconnect({ diff --git a/src/interface.py b/src/interface.py index 0c9368aa3..ff8776cde 100644 --- a/src/interface.py +++ b/src/interface.py @@ -153,6 +153,7 @@ class DelugeGTK: "menu_quit": self.quit, ## Edit Menu "select_all_torrents": self.select_all_torrents, + "plugin_clicked": self.show_plugin_dialog_clicked, "pref_clicked": self.show_preferences_dialog_clicked, ## View Menu "toolbar_toggle": self.toolbar_toggle, @@ -204,6 +205,7 @@ class DelugeGTK: "quit": self.quit, "pause_all": self.pause_all_clicked, "resume_all": self.resume_all_clicked, + "plugins": self.show_plugin_dialog_clicked, "preferences": self.show_preferences_dialog_clicked, "add_torrent": self.add_torrent_clicked, "show_hide_window_toggled": self.show_hide_window_toggled @@ -681,6 +683,19 @@ class DelugeGTK: else: self.show_preferences_dialog() + def show_plugin_dialog(self, plugin_tab=True): + active_port = self.manager.get_state()['port'] + plugin_dialog = dialogs.PreferencesDlg(self.config, active_port, \ + self.plugins, plugin_tab=True) + plugin_dialog.show(self, self.window) + + def show_plugin_dialog_clicked(self, arg=None): + if self.config.get("enable_system_tray") and \ + self.config.get("lock_tray"): + self.unlock_tray("prefwinshow") + else: + self.show_plugin_dialog(plugin_tab=True) + def apply_prefs(self): # Show tray icon if necessary self.tray_icon.set_visible(self.config.get("enable_system_tray"))