from Tools.FuzzyDate import FuzzyTime
import time
-from enigma import eListboxPythonMultiContent, eListbox, gFont
+from enigma import eListboxPythonMultiContent, eListbox, gFont, loadPNG
from timer import TimerEntry
+from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE
RT_HALIGN_LEFT = 0
RT_HALIGN_RIGHT = 1
state = "done!"
res.append((eListboxPythonMultiContent.TYPE_TEXT, 320, 50, 240, 20, 1, RT_HALIGN_RIGHT|RT_VALIGN_CENTER, state))
+
+ if timer.disabled:
+ png = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "/redx.png"))
+ res.append((eListboxPythonMultiContent.TYPE_PIXMAP, 490, 5, 40, 40, png))
return res
self["key_yellow"] = Button("")
self["key_blue"] = Button(_("Cleanup"))
- self["actions"] = ActionMap(["OkCancelActions", "ShortcutActions", "TimerEditActions"],
+ self["actions"] = ActionMap(["OkCancelActions", "DirectionActions", "ShortcutActions", "TimerEditActions"],
{
"ok": self.openEdit,
"cancel": self.leave,
"red": self.removeTimer,
"green": self.addCurrentTimer,
"blue": self.cleanupQuestion,
- "log": self.showLog
- })
+ "yellow": self.toggleDisabledState,
+ "log": self.showLog,
+ "left": self.left,
+ "right": self.right,
+ "up": self.up,
+ "down": self.down
+ }, -1)
self.session.nav.RecordTimer.on_state_change.append(self.onStateChange)
+ self.onShown.append(self.updateState)
+
+ def up(self):
+ self["timerlist"].instance.moveSelection(self["timerlist"].instance.moveUp)
+ self.updateState()
+
+ def down(self):
+ self["timerlist"].instance.moveSelection(self["timerlist"].instance.moveDown)
+ self.updateState()
+
+ def left(self):
+ self["timerlist"].instance.moveSelection(self["timerlist"].instance.pageUp)
+ self.updateState()
+
+ def right(self):
+ self["timerlist"].instance.moveSelection(self["timerlist"].instance.pageDown)
+ self.updateState()
+
+ def toggleDisabledState(self):
+ self["timerlist"].getCurrent()[0].disabled = not self["timerlist"].getCurrent()[0].disabled
+ self.updateState()
+ self.refill()
+
+ def updateState(self):
+ if self["timerlist"].getCurrent()[0].disabled:
+ self["key_yellow"].setText(_("disable"))
+ else:
+ self["key_yellow"].setText(_("enable"))
+ self["key_yellow"].instance.invalidate()
def fillTimerList(self):
del self.list[:]
self.resetRepeated()
self.backoff = 0
+ self.disabled = False
+
def resetRepeated(self):
self.repeated = int(0)
# when the timer has not yet started, and is already passed,
# don't go trough waiting/running/end-states, but sort it
# right into the processedTimers.
- if entry.shouldSkip() or entry.state == TimerEntry.StateEnded:
+ if entry.shouldSkip() or entry.state == TimerEntry.StateEnded or (entry.state == TimerEntry.StateWaiting and entry.disabled):
print "already passed, skipping"
bisect.insort(self.processed_timers, entry)
entry.state = TimerEntry.StateEnded