diff --git a/deluge/ui/gtkui/glade/preferences_dialog.glade b/deluge/ui/gtkui/glade/preferences_dialog.glade index e3f645903..1bfd4d340 100644 --- a/deluge/ui/gtkui/glade/preferences_dialog.glade +++ b/deluge/ui/gtkui/glade/preferences_dialog.glade @@ -8,10 +8,11 @@ 5 Preferences center-on-parent - 510 - 530 + 500 + 560 True dialog + diff --git a/deluge/ui/gtkui/gtkui.py b/deluge/ui/gtkui/gtkui.py index 587acd2de..c0fa4d954 100644 --- a/deluge/ui/gtkui/gtkui.py +++ b/deluge/ui/gtkui/gtkui.py @@ -105,6 +105,8 @@ DEFAULT_PREFS = { "window_y_pos": 0, "window_width": 640, "window_height": 480, + "pref_dialog_width": None, + "pref_dialog_height": None, "window_pane_position": -1, "tray_download_speed_list" : [5.0, 10.0, 30.0, 80.0, 300.0], "tray_upload_speed_list" : [5.0, 10.0, 30.0, 80.0, 300.0], diff --git a/deluge/ui/gtkui/preferences.py b/deluge/ui/gtkui/preferences.py index ea087ab82..c732f339f 100644 --- a/deluge/ui/gtkui/preferences.py +++ b/deluge/ui/gtkui/preferences.py @@ -64,7 +64,6 @@ COLOR_STATES = { class Preferences(component.Component): def __init__(self): component.Component.__init__(self, "Preferences") - self.window = component.get("MainWindow") self.glade = gtk.glade.XML(deluge.common.resource_filename( "deluge.ui.gtkui", os.path.join("glade", "preferences_dialog.glade") )) @@ -74,6 +73,8 @@ class Preferences(component.Component): self.notebook = self.glade.get_widget("notebook") self.gtkui_config = ConfigManager("gtkui.conf") + self.load_pref_dialog_state() + self.glade.get_widget("image_magnet").set_from_file( deluge.common.get_pixmap("magnet.png")) @@ -168,7 +169,8 @@ class Preferences(component.Component): "on_waiting_color_set": self._on_waiting_color_set, "on_revert_color_waiting_clicked": self._on_revert_color_waiting_clicked, "on_missing_color_set": self._on_missing_color_set, - "on_revert_color_missing_clicked": self._on_revert_color_missing_clicked + "on_revert_color_missing_clicked": self._on_revert_color_missing_clicked, + "on_pref_dialog_configure_event": self.on_pref_dialog_configure_event, }) from deluge.ui.gtkui.gtkui import DEFAULT_PREFS @@ -877,6 +879,16 @@ class Preferences(component.Component): self.hide() return True + def load_pref_dialog_state(self): + w = self.gtkui_config["pref_dialog_width"] + h = self.gtkui_config["pref_dialog_height"] + if w != None and h != None: + self.pref_dialog.resize(w, h) + + def on_pref_dialog_configure_event(self, widget, event): + self.gtkui_config["pref_dialog_width"] = event.width + self.gtkui_config["pref_dialog_height"] = event.height + def on_toggle(self, widget): """Handles widget sensitivity based on radio/check button values.""" try: