summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcos Pinto <markybob@dipconsultants.com>2007-11-18 22:57:10 +0000
committerMarcos Pinto <markybob@dipconsultants.com>2007-11-18 22:57:10 +0000
commit5a01eec2979f0e1fc61639c6991a76718fb7a143 (patch)
treeb180e0beddc2ffd22af65f22bc02c6e80f2c139e
parent06e8a0c6b9c431f88135d7d8e9a510c1c555df61 (diff)
downloaddeluge-5a01eec2979f0e1fc61639c6991a76718fb7a143.tar.gz
deluge-5a01eec2979f0e1fc61639c6991a76718fb7a143.tar.bz2
deluge-5a01eec2979f0e1fc61639c6991a76718fb7a143.zip
add proper preferences for selection popup
-rw-r--r--glade/preferences_dialog.glade26
-rw-r--r--src/dialogs.py6
-rw-r--r--src/interface.py24
-rw-r--r--src/pref.py2
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("~"),