From 267ba8f7ac159f294e363228c45a0f46f187ae32 Mon Sep 17 00:00:00 2001 From: Marcos Pinto Date: Sat, 28 Jul 2007 18:58:59 +0000 Subject: [PATCH] add use random port option --- glade/preferences_dialog.glade | 70 ++++++++++++++++++++++------------ src/core.py | 10 ++++- src/dialogs.py | 9 +++++ src/pref.py | 1 + 4 files changed, 64 insertions(+), 26 deletions(-) diff --git a/glade/preferences_dialog.glade b/glade/preferences_dialog.glade index a48d1d1a2..df4dce52c 100644 --- a/glade/preferences_dialog.glade +++ b/glade/preferences_dialog.glade @@ -438,11 +438,13 @@ - + True - 1 - Active Port: - GTK_JUSTIFY_RIGHT + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Random Ports + 0 + True False @@ -450,19 +452,6 @@ 4 - - - True - 0 - 0000 - 5 - - - False - 5 - 5 - - True @@ -476,7 +465,7 @@ False False - 6 + 5 @@ -489,10 +478,46 @@ - + True - <b>TCP Port</b> - True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + True + <b>TCP</b> + True + + + False + 5 + + + + + True + 1 + Active Port: + GTK_JUSTIFY_RIGHT + + + False + 5 + 1 + + + + + True + 0 + 0000 + 5 + + + False + 5 + 2 + + label_item @@ -530,9 +555,6 @@ True - - - diff --git a/src/core.py b/src/core.py index 9e97450aa..fd10ddab3 100644 --- a/src/core.py +++ b/src/core.py @@ -845,9 +845,15 @@ class Manager: print "Applying preferences" for pref in PREF_FUNCTIONS: - if PREF_FUNCTIONS[pref] is not None: + if PREF_FUNCTIONS[pref] is not None and self.get_pref("random_port") \ + == False: PREF_FUNCTIONS[pref](self.get_pref(pref)) - + if self.get_pref("random_port"): + import random + ports = [random.randrange(49152, 65535), random.randrange(49152, 65535)] + ports.sort() + deluge_core.set_listen_on(ports) + # We need to reapply priorities to files after preferences were # changed for unique_ID in self.unique_IDs: diff --git a/src/dialogs.py b/src/dialogs.py index 210983ae0..619a5f82a 100644 --- a/src/dialogs.py +++ b/src/dialogs.py @@ -63,6 +63,7 @@ class PreferencesDlg: self.glade.get_widget("chk_tracker_proxy").set_active(self.preferences.get("tracker_proxy")) self.glade.get_widget("chk_dht_proxy").set_active(self.preferences.get("dht_proxy")) self.glade.get_widget("chk_upnp").set_active(self.preferences.get("use_upnp")) + self.glade.get_widget("chk_random_port").set_active(self.preferences.get("random_port")) self.glade.get_widget("chk_natpmp").set_active(self.preferences.get("use_natpmp")) self.glade.get_widget("chk_utpex").set_active(self.preferences.get("use_utpex")) self.glade.get_widget("chk_use_tray").set_active(self.preferences.get("enable_system_tray")) @@ -135,6 +136,7 @@ class PreferencesDlg: self.preferences.set("tracker_proxy", self.glade.get_widget("chk_tracker_proxy").get_active()) self.preferences.set("dht_proxy", self.glade.get_widget("chk_dht_proxy").get_active()) self.preferences.set("use_upnp", self.glade.get_widget("chk_upnp").get_active()) + self.preferences.set("random_port", self.glade.get_widget("chk_random_port").get_active()) self.preferences.set("use_natpmp", self.glade.get_widget("chk_natpmp").get_active()) self.preferences.set("use_utpex", self.glade.get_widget("chk_utpex").get_active()) self.preferences.set("enable_system_tray", self.glade.get_widget("chk_use_tray").get_active()) @@ -203,6 +205,13 @@ class PreferencesDlg: self.glade.get_widget('chk_lock_tray').set_active(value) elif widget == self.glade.get_widget('chk_lock_tray'): self.glade.get_widget('txt_tray_passwd').set_sensitive(value) + elif widget == self.glade.get_widget('chk_move_completed'): + if self.glade.get_widget('chk_random_port').get_active(): + self.glade.get_widget('spin_port_min').set_sensitive(False) + self.glade.get_widget('spin_port_max').set_sensitive(False) + else: + self.glade.get_widget('spin_port_min').set_sensitive(True) + self.glade.get_widget('spin_port_max').set_sensitive(True) class MergeDlg: def __init__(self): diff --git a/src/pref.py b/src/pref.py index 0c2281626..f1ef71a74 100644 --- a/src/pref.py +++ b/src/pref.py @@ -78,6 +78,7 @@ DEFAULT_PREFS = { "proxy_password" : "", "proxy_port": 8080, "queue_seeds_to_bottom" : False, + "random_port" : False, "show_availability" : True, "show_dl" : True, "show_eta" : True,