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: