mirror of
https://git.deluge-torrent.org/deluge
synced 2025-04-20 11:35:49 +00:00
clear on max ratio - micah
This commit is contained in:
parent
e9a42b6fcd
commit
776004320e
4 changed files with 49 additions and 18 deletions
|
@ -308,6 +308,7 @@
|
|||
<property name="use_underline">True</property>
|
||||
<property name="response_id">0</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
<signal name="toggled" handler="on_chk_autoseed"/>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
@ -333,6 +334,19 @@
|
|||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkCheckButton" id="chk_clear_max_ratio_torrents">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label" translatable="yes">Automatically clear torrents that reach the max share ratio</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="response_id">0</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
|
|
|
@ -46,6 +46,7 @@ class PreferencesDlg:
|
|||
'on_chk_use_tray_toggled': self.tray_toggle,
|
||||
'on_save_all_to' : self.toggle_move_chk,
|
||||
'on_ask_save' : self.toggle_move_chk,
|
||||
'on_chk_autoseed' : self.toggle_clear_max_ratio_torrents_chk,
|
||||
'on_btn_testport_clicked': self.TestPort,
|
||||
})
|
||||
|
||||
|
@ -98,6 +99,8 @@ class PreferencesDlg:
|
|||
self.glade.get_widget("spin_torrents").set_value(float(self.preferences.get("max_active_torrents")))
|
||||
self.glade.get_widget("chk_seedbottom").set_active(self.preferences.get("queue_seeds_to_bottom"))
|
||||
self.glade.get_widget("chk_autoseed").set_active(self.preferences.get("auto_end_seeding"))
|
||||
self.glade.get_widget("chk_clear_max_ratio_torrents").set_sensitive(self.preferences.get("auto_end_seeding"))
|
||||
self.glade.get_widget("chk_clear_max_ratio_torrents").set_active(self.preferences.get("clear_max_ratio_torrents"))
|
||||
self.glade.get_widget("ratio_spinner").set_value(self.preferences.get("auto_seed_ratio"))
|
||||
self.glade.get_widget("chk_dht").set_active(self.preferences.get("enable_dht"))
|
||||
self.glade.get_widget("spin_gui").set_value(self.preferences.get("gui_update_interval"))
|
||||
|
@ -146,6 +149,7 @@ class PreferencesDlg:
|
|||
self.preferences.set("queue_seeds_to_bottom", self.glade.get_widget("chk_seedbottom").get_active())
|
||||
self.preferences.set("enable_dht", self.glade.get_widget("chk_dht").get_active())
|
||||
self.preferences.set("gui_update_interval", self.glade.get_widget("spin_gui").get_value())
|
||||
self.preferences.set("clear_max_ratio_torrents", self.glade.get_widget("chk_clear_max_ratio_torrents").get_active())
|
||||
|
||||
return r
|
||||
|
||||
|
@ -160,6 +164,13 @@ class PreferencesDlg:
|
|||
self.glade.get_widget("chk_lock_tray").set_sensitive(is_active)
|
||||
self.glade.get_widget("txt_tray_passwd").set_sensitive(is_active)
|
||||
|
||||
def toggle_clear_max_ratio_torrents_chk(self, widget):
|
||||
if(self.glade.get_widget("chk_autoseed").get_active()):
|
||||
self.glade.get_widget("chk_clear_max_ratio_torrents").set_sensitive(True)
|
||||
else:
|
||||
self.glade.get_widget("chk_clear_max_ratio_torrents").set_active(False)
|
||||
self.glade.get_widget("chk_clear_max_ratio_torrents").set_sensitive(False)
|
||||
|
||||
def toggle_move_chk(self, widget):
|
||||
if(self.glade.get_widget("radio_ask_save").get_active()):
|
||||
self.glade.get_widget("chk_move_completed").set_active(False)
|
||||
|
|
|
@ -847,14 +847,28 @@ class DelugeGTK:
|
|||
|
||||
while itr is not None:
|
||||
uid = self.torrent_model.get_value(itr, 0)
|
||||
state = self.manager.get_torrent_state(uid)
|
||||
tlist = self.get_list_from_unique_id(uid)
|
||||
for i in range(len(tlist)):
|
||||
try:
|
||||
self.torrent_model.set_value(itr, i, tlist[i])
|
||||
except:
|
||||
print "ERR", i, type(tlist[i]), tlist[i]
|
||||
itr = self.torrent_model.iter_next(itr)
|
||||
if self.manager.removed_unique_ids.count(uid) > 0:
|
||||
selected_unique_id = self.get_selected_torrent()
|
||||
# If currently selected torrent was complete and so removed clear
|
||||
# details pane
|
||||
if selected_unique_id == uid:
|
||||
self.clear_details_pane()
|
||||
next = self.torrent_model.iter_next(itr)
|
||||
self.torrent_model.remove(itr)
|
||||
itr = self.torrent_model.get_iter_first()
|
||||
if itr is None:
|
||||
return True
|
||||
itr = next
|
||||
self.manager.removed_unique_ids.pop(self.manager.removed_unique_ids.index(uid))
|
||||
else:
|
||||
state = self.manager.get_torrent_state(uid)
|
||||
tlist = self.get_list_from_unique_id(uid)
|
||||
for i in range(len(tlist)):
|
||||
try:
|
||||
self.torrent_model.set_value(itr, i, tlist[i])
|
||||
except:
|
||||
print "ERR", i, type(tlist[i]), tlist[i]
|
||||
itr = self.torrent_model.iter_next(itr)
|
||||
|
||||
# Disable moving top torrents up or bottom torrents down
|
||||
top_torrents_selected = True
|
||||
|
@ -1194,16 +1208,7 @@ class DelugeGTK:
|
|||
|
||||
def clear_finished(self, obj=None):
|
||||
print "Clearing completed torrents"
|
||||
unique_ids_remove = self.manager.clear_completed()
|
||||
for unique_id in unique_ids_remove:
|
||||
self.torrent_model_remove(unique_id)
|
||||
|
||||
selected_unique_id = self.get_selected_torrent()
|
||||
# If currently selected torrent was complete and so removed clear
|
||||
# details pane
|
||||
if selected_unique_id in unique_ids_remove:
|
||||
self.clear_details_pane()
|
||||
|
||||
self.manager.clear_completed()
|
||||
self.update()
|
||||
|
||||
def q_torrent_up(self, obj=None):
|
||||
|
|
|
@ -42,6 +42,7 @@ DEFAULT_PREFS = {
|
|||
"auto_seed_ratio" : 0,
|
||||
"close_to_tray" : False,
|
||||
"enable_files_dialog" : False,
|
||||
"clear_max_ratio_torrents" : False,
|
||||
"default_download_path" : os.path.expanduser("~/"),
|
||||
"default_load_path" : os.path.expanduser("~/"),
|
||||
"default_finished_path" : os.path.expanduser("~/"),
|
||||
|
|
Loading…
Add table
Reference in a new issue