diff options
author | Marcos Pinto <markybob@dipconsultants.com> | 2007-11-18 22:57:10 +0000 |
---|---|---|
committer | Marcos Pinto <markybob@dipconsultants.com> | 2007-11-18 22:57:10 +0000 |
commit | 5a01eec2979f0e1fc61639c6991a76718fb7a143 (patch) | |
tree | b180e0beddc2ffd22af65f22bc02c6e80f2c139e | |
parent | 06e8a0c6b9c431f88135d7d8e9a510c1c555df61 (diff) | |
download | deluge-5a01eec2979f0e1fc61639c6991a76718fb7a143.tar.gz deluge-5a01eec2979f0e1fc61639c6991a76718fb7a143.tar.bz2 deluge-5a01eec2979f0e1fc61639c6991a76718fb7a143.zip |
add proper preferences for selection popup
-rw-r--r-- | glade/preferences_dialog.glade | 26 | ||||
-rw-r--r-- | src/dialogs.py | 6 | ||||
-rw-r--r-- | src/interface.py | 24 | ||||
-rw-r--r-- | src/pref.py | 2 |
4 files changed, 54 insertions, 4 deletions
diff --git a/glade/preferences_dialog.glade b/glade/preferences_dialog.glade index c87b5dad2..710fa75c9 100644 --- a/glade/preferences_dialog.glade +++ b/glade/preferences_dialog.glade @@ -289,6 +289,7 @@ <property name="label" translatable="yes">Enable selecting files for torrents before loading</property> <property name="response_id">0</property> <property name="draw_indicator">True</property> + <signal name="toggled" handler="toggle_ui"/> </widget> <packing> <property name="expand">False</property> @@ -296,6 +297,27 @@ </packing> </child> <child> + <widget class="GtkAlignment" id="alignment39"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="left_padding">10</property> + <child> + <widget class="GtkCheckButton" id="chk_enable_multi_only"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="tooltip" translatable="yes">Enable selecting files for torrents before loading</property> + <property name="label" translatable="yes">Only show if torrent has more than 1 file</property> + <property name="response_id">0</property> + <property name="draw_indicator">True</property> + </widget> + </child> + </widget> + <packing> + <property name="position">2</property> + </packing> + </child> + <child> <widget class="GtkCheckButton" id="chk_prioritize_first_last_pieces"> <property name="visible">True</property> <property name="can_focus">True</property> @@ -307,7 +329,7 @@ </widget> <packing> <property name="expand">False</property> - <property name="position">2</property> + <property name="position">3</property> </packing> </child> <child> @@ -320,7 +342,7 @@ <property name="draw_indicator">True</property> </widget> <packing> - <property name="position">3</property> + <property name="position">4</property> </packing> </child> </widget> diff --git a/src/dialogs.py b/src/dialogs.py index 5e7b1776e..340422756 100644 --- a/src/dialogs.py +++ b/src/dialogs.py @@ -126,6 +126,7 @@ class PreferencesDlg: self.glade.get_widget("download_path_button").set_filename(self.preferences.get("default_download_path")) self.glade.get_widget("torrent_path_button").set_filename(self.preferences.get("default_torrent_path")) self.glade.get_widget("chk_enable_files_dialog").set_active(self.preferences.get("enable_files_dialog")) + self.glade.get_widget("chk_enable_multi_only").set_active(self.preferences.get("enable_multi_only")) self.glade.get_widget("chk_prioritize_first_last_pieces").set_active(self.preferences.get("prioritize_first_last_pieces")) self.glade.get_widget("radio_compact_allocation").set_active(self.preferences.get("use_compact_storage")) self.glade.get_widget("radio_full_allocation").set_active(not self.preferences.get("use_compact_storage")) @@ -164,6 +165,8 @@ class PreferencesDlg: self.glade.get_widget('chk_min_on_close').set_sensitive( self.glade.get_widget('chk_use_tray').get_active()) + self.glade.get_widget('chk_enable_multi_only').set_sensitive( + self.glade.get_widget('chk_enable_files_dialog').get_active()) self.glade.get_widget('chk_start_in_tray').set_sensitive( self.glade.get_widget('chk_use_tray').get_active()) self.glade.get_widget('chk_lock_tray').set_sensitive( @@ -249,6 +252,7 @@ class PreferencesDlg: self.preferences.set("default_download_path", self.glade.get_widget("download_path_button").get_filename()) self.preferences.set("default_torrent_path", self.glade.get_widget("torrent_path_button").get_filename()) self.preferences.set("enable_files_dialog", self.glade.get_widget("chk_enable_files_dialog").get_active()) + self.preferences.set("enable_multi_only", self.glade.get_widget("chk_enable_multi_only").get_active()) self.preferences.set("prioritize_first_last_pieces", self.glade.get_widget("chk_prioritize_first_last_pieces").get_active()) self.preferences.set("auto_end_seeding", self.glade.get_widget("chk_autoseed").get_active()) self.preferences.set("auto_seed_ratio", self.glade.get_widget("ratio_spinner").get_value()) @@ -339,6 +343,8 @@ class PreferencesDlg: self.glade.get_widget('chk_clear_max_ratio_torrents').set_sensitive(value) elif widget == self.glade.get_widget('chk_seedbottom'): self.glade.get_widget('chk_queue_above_completed').set_sensitive(value) + elif widget == self.glade.get_widget('chk_enable_files_dialog'): + self.glade.get_widget('chk_enable_multi_only').set_sensitive(value) elif widget == self.glade.get_widget('chk_peer_proxy'): value = self.glade.get_widget('chk_peer_proxy').get_active() for x in ['combo_peer_proxy_type', 'txt_peer_proxy_hostname', diff --git a/src/interface.py b/src/interface.py index abe0182f1..5e6c85a7b 100644 --- a/src/interface.py +++ b/src/interface.py @@ -1309,7 +1309,8 @@ window, please enter your password")) try: dumped_torrent = self.manager.dump_torrent_file_info(torrent) - if (self.config.get('enable_files_dialog')) and (len(dumped_torrent) > 1): + if self.config.get('enable_files_dialog') and not \ + self.config.get('enable_multi_only'): files_dialog = dialogs.FilesDlg(dumped_torrent) if files_dialog.show(self.window) == 1: unique_id = self.manager.add_torrent(torrent, path, @@ -1321,7 +1322,26 @@ window, please enter your password")) self.manager.set_priv(unique_id, True) else: return False - else: + elif self.config.get('enable_files_dialog') and \ + self.config.get('enable_multi_only') and (len(dumped_torrent) > 1): + files_dialog = dialogs.FilesDlg(dumped_torrent) + if files_dialog.show(self.window) == 1: + unique_id = self.manager.add_torrent(torrent, path, + self.config.get('use_compact_storage'), \ + self.config.get('start_paused')) + self.manager.prioritize_files(unique_id, + files_dialog.get_priorities()) + if files_dialog.is_private_flag_checked(): + self.manager.set_priv(unique_id, True) + else: + return False + elif self.config.get('enable_files_dialog') and \ + self.config.get('enable_multi_only') and not (len(dumped_torrent) > 1): + unique_id = self.manager.add_torrent(torrent, path, + self.config.get('use_compact_storage'), \ + self.config.get('start_paused')) + + elif not self.config.get('enable_files_dialog'): unique_id = self.manager.add_torrent(torrent, path, self.config.get('use_compact_storage'), \ self.config.get('start_paused')) diff --git a/src/pref.py b/src/pref.py index 0fee8b498..e66c03d7b 100644 --- a/src/pref.py +++ b/src/pref.py @@ -51,6 +51,7 @@ if common.windows_check(): "auto_seed_ratio" : 0, "close_to_tray" : False, "enable_files_dialog" : False, + "enable_multi_only" : True, "queue_above_completed" : False, "clear_max_ratio_torrents" : False, "default_autoload_path" : os.path.expanduser("~"), @@ -162,6 +163,7 @@ else: "auto_seed_ratio" : 0, "close_to_tray" : False, "enable_files_dialog" : False, + "enable_multi_only" : True, "queue_above_completed" : False, "clear_max_ratio_torrents" : False, "default_autoload_path" : os.path.expanduser("~"), |