X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/db2f1b7b345f68095dfeac660fda2105efb485a7..738adbb747be92f19cd7864490c982cac558358c:/lib/python/Screens/TimerEdit.py diff --git a/lib/python/Screens/TimerEdit.py b/lib/python/Screens/TimerEdit.py index 99939bd8..36502ca0 100644 --- a/lib/python/Screens/TimerEdit.py +++ b/lib/python/Screens/TimerEdit.py @@ -10,6 +10,7 @@ from RecordTimer import RecordTimerEntry, parseEvent from time import * from ServiceReference import ServiceReference from Components.config import * +from Components.TimerSanityCheck import TimerSanityCheck class TimerEditList(Screen): def __init__(self, session): @@ -26,16 +27,51 @@ class TimerEditList(Screen): 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 len(self.list) > 0: + if self["timerlist"].getCurrent()[0].disabled: + self["key_yellow"].setText(_("Enable")) + else: + self["key_yellow"].setText(_("Disable")) + self["key_yellow"].instance.invalidate() def fillTimerList(self): del self.list[:] @@ -98,8 +134,13 @@ class TimerEditList(Screen): def finishedEdit(self, answer): print "finished edit" + if answer[0]: print "Edited timer" + if not TimerSanityCheck(self.session.nav.RecordTimer.timer_list, answer[1]).check(): + print "Sanity check failed" + else: + print "Sanity check passed" self.session.nav.RecordTimer.timeChanged(answer[1]) self.fillTimerList() else: @@ -108,6 +149,10 @@ class TimerEditList(Screen): def finishedAdd(self, answer): print "finished add" if answer[0]: + if not TimerSanityCheck(self.session.nav.RecordTimer.timer_list, answer[1]).check(): + print "Sanity check failed" + else: + print "Sanity check passed" entry = answer[1] self.session.nav.RecordTimer.record(entry) self.fillTimerList()