diff --git a/glade/dgtkpref.glade b/glade/dgtkpref.glade index d20504bde..fd6a75ea1 100644 --- a/glade/dgtkpref.glade +++ b/glade/dgtkpref.glade @@ -44,18 +44,6 @@ - - - True - Enable system tray icon - True - True - - - - 2 - - True @@ -69,6 +57,18 @@ 12 + + + True + Enable system tray icon + True + True + + + + 2 + + @@ -95,15 +95,13 @@ 2 2 - + True - GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER + Ask me where to save each download + True - 1 2 - 1 - 2 @@ -119,13 +117,15 @@ - + True - Ask me where to save each download - True + GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER + 1 2 + 1 + 2 @@ -154,6 +154,14 @@ True 1 2 + + + True + Stop seeding torrents when +their share ratio reaches: + True + + True @@ -171,14 +179,6 @@ - - - True - Stop seeding torrents when -their share ratio reaches: - True - - @@ -272,53 +272,13 @@ their share ratio reaches: - + True - Try from: - - - - - True - to: - - - 2 - 3 - - - - - True - True - 0.5 - 0 0 65535 1 10 10 - - - 1 - 2 - - - - - True - True - 0.5 - 0 0 65535 1 10 10 + Test Port 3 4 - - - - - True - Active port: - - - 1 - 2 1 2 @@ -336,17 +296,57 @@ their share ratio reaches: - + True - Test Port + Active port: + + + 1 + 2 + 1 + 2 + + + + + True + True + 0.5 + 0 0 65535 1 10 10 3 4 - 1 - 2 + + + True + True + 0.5 + 0 0 65535 1 10 10 + + + 1 + 2 + + + + + True + to: + + + 2 + 3 + + + + + True + Try from: + + @@ -373,37 +373,122 @@ their share ratio reaches: 5 3 - + True - <i>(0 is unlimited)</i> - True + 0 + Maximum Upload Rate: - 3 + 1 + 2 - + True - KB/s + 0 + Maximum number of Uploads: - 2 - 3 + 2 + 3 + + + + + True + 0 + Maximum Download Rate: + + + 3 + 4 + + + + + True + 0 + Maximum number of Downloads: + + + 4 + 5 + + + + + True + True + 10 + 1 + 0 -1 1024 1 10 10 + + + 1 + 2 + 1 + 2 + + + + + + True + True + 10 + 1 + 0 -1 100 1 10 10 + + + 1 + 2 + 2 + 3 + + + + + + True + True + 10 + 1 + 0 -1 2048 1 10 10 + + + 1 + 2 3 4 - + + True + True + 10 + 1 + 0 -1 100 1 10 10 + + + 1 + 2 + 4 + 5 + + + + + True 2 3 - 2 - 3 + 4 + 5 @@ -421,123 +506,38 @@ their share ratio reaches: - + True 2 3 - 4 - 5 - - - - - - True - True - 10 - 1 - 0 0 100 1 10 10 - - - 1 - 2 - 4 - 5 - - - - - - True - True - 10 - 1 - 0 0 100 1 10 10 - - - 1 - 2 - 3 - 4 - - - - - - True - True - 10 - 1 - 0 0 100 1 10 10 - - - 1 - 2 2 3 - + True - True - 10 - 1 - 0 0 100 1 10 10 + KB/s - 1 - 2 - 1 - 2 + 2 + 3 + 3 + 4 - + True - 0 - Maximum number of Downloads: + <i>(0 is unlimited)</i> + True - 4 - 5 - - - - - True - 0 - Maximum Download Rate: - - - 3 - 4 - - - - - True - 0 - Maximum number of Uploads: - - - 2 - 3 - - - - - True - 0 - Maximum Upload Rate: - - - 1 - 2 + 3 diff --git a/src/dcommon.py b/src/dcommon.py index 654898a4d..0e09eaf71 100644 --- a/src/dcommon.py +++ b/src/dcommon.py @@ -21,6 +21,8 @@ import sys, os, os.path, webbrowser import xdg, xdg.BaseDirectory +import gettext + PROGRAM_NAME = "Deluge" PROGRAM_VERSION = "0.4.90.0" @@ -50,15 +52,17 @@ class DelugePreferences: return not (result == 0) else: return False - elif kind == str: - return str(result) elif kind == int: try: return int(result) except ValueError: return int(float(result)) + except: + return 0 elif kind == float: return float(result) + elif kind == str: + return str(result) else: return result diff --git a/src/delugegtk.py b/src/delugegtk.py index 2f25f46a9..eb0ccdbbe 100755 --- a/src/delugegtk.py +++ b/src/delugegtk.py @@ -94,7 +94,7 @@ class DelugeGTK(dbus.service.Object): self.connect_signals() - self.apply_prefs() + try: self.load_window_settings() @@ -108,6 +108,7 @@ class DelugeGTK(dbus.service.Object): self.plugins.enable_plugin(plugin) except KeyError: pass + self.apply_prefs() def connect_signals(self): self.wtree.signal_autoconnect({ @@ -414,7 +415,11 @@ class DelugeGTK(dbus.service.Object): def apply_prefs(self): - pass + self.tray.set_visible(self.pref.get("enable_system_tray", bool)) + self.manager.set_pref("listen_on", [self.pref.get("tcp_port_range_lower", int), self.pref.get("tcp_port_range_upper", int)]) + self.manager.set_pref("max_uploads", self.pref.get("max_number_uploads", int)) + self.manager.set_pref("max_download_rate", self.pref.get("max_download_rate", int)) + self.manager.set_pref("max_connections", self.pref.get("max_number_downloads", int)) # UID, Q#, Name, Size, Progress, Message, Seeders, Peers, DL, UL, ETA, Share