fix scheduler plugin

This commit is contained in:
Marcos Pinto 2007-09-30 22:27:08 +00:00
parent 47fe9bd11f
commit 2e398cb212
2 changed files with 207 additions and 190 deletions

View File

@ -1,5 +1,6 @@
Deluge 0.5.6 (xx October 2007)
* Tray lock password is no longer stored in plain text
* Update the Scheduler plugin and fix a bunch of bugs on it
* Web Interface Plugin
* Double-clicking on a torrent opens up its containing folder
* Fix SpeedLimiter plugin when setting upload limits

View File

@ -8,9 +8,12 @@ class plugin_Scheduler:
self.days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
self.conf_file = deluge.common.CONFIG_DIR + "/scheduler.conf"
self.config = self.config = deluge.pref.Preferences()
self.config = deluge.pref.Preferences()
self.button_state_temp = [[0] * 7 for dummy in xrange(24)]
self.status = -1
self.globalactivetor = self.config.get("max_active_torrents")
self.globaldlmax = self.config.get("max_download_speed")
self.globalulmax = self.config.get("max_upload_speed")
#Load config
try:
@ -22,8 +25,8 @@ class plugin_Scheduler:
reader.close()
except:
self.button_state = [[0] * 7 for dummy in xrange(24)]
self.dllimit = float(-1)
self.ullimit = float(-1)
self.dllimit = float(self.globaldlmax)
self.ullimit = float(self.globalulmax)
def unload(self):
self.resume()
@ -50,7 +53,7 @@ class plugin_Scheduler:
self.core.apply_queue()
def resume(self):
self.config.set("max_active_torrents", -1)
self.config.set("max_active_torrents", self.globalactivetor)
self.core.apply_queue()
def limit(self):
@ -58,6 +61,8 @@ class plugin_Scheduler:
self.config.set("max_upload_speed", float(self.ullimit))
def unlimit(self):
self.config.set("max_download_speed", float(self.globaldlmax))
self.config.set("max_upload_speed", float(self.globalulmax))
self.interface.apply_prefs()
#Configuration dialog
@ -98,13 +103,18 @@ class plugin_Scheduler:
dlinput.set_numeric(True)
dlinput.set_range(-1, 2048)
dlinput.set_increments(1, 10)
if self.dllimit != -1:
dlinput.set_value(float(self.dllimit))
else:
dlinput.set_value(float(-1))
ulinput = gtk.SpinButton()
ulinput.set_numeric(True)
ulinput.set_range(-1, 1024)
ulinput.set_increments(1, 10)
if self.ullimit != -1:
ulinput.set_value(float(self.ullimit))
else:
ulinput.set_value(float(-1))
#pack
dialog.vbox.pack_start(vbox_main)
@ -132,7 +142,13 @@ class plugin_Scheduler:
if dialog.run() == -5:
self.status = -1
self.button_state = copy.deepcopy(drawing.button_state)
if dlinput.get_value() != -1:
self.dllimit = float(dlinput.get_value())
else:
self.dllimit = float(dlinput.get_value())
if ulinput.get_value() != -1:
self.ullimit = float(ulinput.get_value())
else:
self.ullimit = float(ulinput.get_value())
self.interface.apply_prefs()