from Screen import Screen
from Components.TimerList import TimerList, TimerEntryComponent
-from Components.ConfigList import ConfigList
from Components.MenuList import MenuList
from Components.ActionMap import ActionMap
-from Components.TimeInput import TimeInput
from Components.Label import Label
from Components.Button import Button
from Screens.MessageBox import MessageBox
from TimerEntry import TimerEntry, TimerLog
-from RecordTimer import RecordTimerEntry, parseEvent
+from RecordTimer import RecordTimerEntry, parseEvent, AFTEREVENT
from time import *
from ServiceReference import ServiceReference
-from Components.config import *
from Components.TimerSanityCheck import TimerSanityCheck
class TimerEditList(Screen):
{
"ok": self.openEdit,
"cancel": self.leave,
- "red": self.removeTimer,
+ "red": self.removeTimerQuestion,
"green": self.addCurrentTimer,
"blue": self.cleanupQuestion,
"yellow": self.toggleDisabledState,
self.updateState()
def toggleDisabledState(self):
- self["timerlist"].getCurrent()[0].disabled = not self["timerlist"].getCurrent()[0].disabled
- self.session.nav.RecordTimer.timeChanged(self["timerlist"].getCurrent()[0])
- self.updateState()
- self.refill()
+ cur=self["timerlist"].getCurrent()
+ if cur:
+ t = cur[0]
+
+ if t.disabled:
+ t.enable()
+ else:
+ t.disable()
+
+ self.session.nav.RecordTimer.timeChanged(t)
+ self.updateState()
+ self.refill()
def updateState(self):
if len(self.list) > 0:
for timer in self.session.nav.RecordTimer.processed_timers:
self.list.append(TimerEntryComponent(timer, processed=True))
+ self.list.sort(cmp = lambda x, y: x[0].begin < y[0].begin)
def showLog(self):
- self.session.openWithCallback(self.finishedEdit, TimerLog, self["timerlist"].getCurrent()[0])
+ cur=self["timerlist"].getCurrent()
+ if cur:
+ self.session.openWithCallback(self.finishedEdit, TimerLog, cur[0])
def openEdit(self):
- self.session.openWithCallback(self.finishedEdit, TimerEntry, self["timerlist"].getCurrent()[0])
- #self.session.open(TimerEdit, self["timerlist"].getCurrent()[0])
-
+ cur=self["timerlist"].getCurrent()
+ if cur:
+ self.session.openWithCallback(self.finishedEdit, TimerEntry, cur[0])
+
def cleanupQuestion(self):
self.session.openWithCallback(self.cleanupTimer, MessageBox, _("Really delete done timers?"))
if delete:
self.session.nav.RecordTimer.cleanup()
self.refill()
+
+ def removeTimerQuestion(self):
+ self.session.openWithCallback(self.removeTimer, MessageBox, _("Really delete this timer?"))
- def removeTimer(self):
+ def removeTimer(self, result):
+ if not result:
+ return
list = self["timerlist"]
- timer = list.getCurrent()[0]
- currentIndex = list.getCurrentIndex()
- self.session.nav.RecordTimer.removeEntry(timer)
- list.moveDown()
- if list.getCurrentIndex() == currentIndex:
- currentIndex -= 1
- self.refill()
- list.moveToIndex(currentIndex)
+ cur = list.getCurrent()
+ if cur:
+ timer = cur[0]
+ timer.afterEvent = AFTEREVENT.NONE
+ self.session.nav.RecordTimer.removeEntry(timer)
+ self.refill()
def refill(self):
self.fillTimerList()
serviceref = ServiceReference(self.session.nav.getCurrentlyPlayingServiceReference())
if event is None:
- data = (int(time()), int(time() + 60), "unknown event", "", None)
+ data = (int(time()), int(time() + 60), "", "", None)
else:
- data = parseEvent(event)
+ data = parseEvent(event, description = False)
- self.addTimer(RecordTimerEntry(serviceref, *data))
+ self.addTimer(RecordTimerEntry(serviceref, checkOldTimers = True, *data))
def addTimer(self, timer):
self.session.openWithCallback(self.finishedAdd, TimerEntry, timer)
def __init__(self, session, timer):
Screen.__init__(self, session)
self.timer = timer
- print timer
+ print "TimerSanityConflict", timer
self["timer1"] = TimerList(self.getTimerList(timer[0]))
if len(timer) > 1: