+ def finishedAdd(self, answer):
+ print "finished add"
+ if answer[0]:
+ timersanitycheck = TimerSanityCheck(self.session.nav.RecordTimer.timer_list, answer[1])
+ if not timersanitycheck.check():
+ print "Sanity check failed"
+ self.session.openWithCallback(self.finishSanityCorrection, TimerSanityConflict, timersanitycheck.getSimulTimerList())
+ else:
+ print "Sanity check passed"
+ entry = answer[1]
+ self.session.nav.RecordTimer.record(entry)
+ self.fillTimerList()
+ else:
+ print "Timeredit aborted"
+
+ def finishSanityCorrection(self, answer):
+ self.finishedAdd(answer)
+
+ def leave(self):
+ self.session.nav.RecordTimer.saveTimer()
+ self.session.nav.RecordTimer.on_state_change.remove(self.onStateChange)
+ self.close()
+
+ def onStateChange(self, entry):
+ self.refill()
+
+class TimerSanityConflict(Screen):
+ def __init__(self, session, timer):
+ Screen.__init__(self, session)
+ self.timer = timer
+ print "TimerSanityConflict", timer
+
+ self["timer1"] = TimerList(self.getTimerList(timer[0]))
+ if len(timer) > 1:
+ self["timer2"] = TimerList(self.getTimerList(timer[1]))
+ else:
+ self["timer2"] = Button("No conflict")
+
+ self.list = []
+ count = 0
+ for x in timer:
+ if count != 0:
+ self.list.append((_("Conflicting timer") + " " + str(count), x))
+ count += 1
+
+ self["list"] = MenuList(self.list)
+
+ self["key_red"] = Button("Edit")
+ self["key_green"] = Button("Disable")
+ self["key_yellow"] = Button("Edit")
+ self["key_blue"] = Button("Disable")
+
+ self["actions"] = ActionMap(["OkCancelActions", "DirectionActions", "ShortcutActions", "TimerEditActions"],