subservice quickzap fixes
[vuplus_dvbapp] / lib / python / Screens / TimerEdit.py
index bbbf6b5..ed11874 100644 (file)
@@ -1,17 +1,14 @@
 from Screen import Screen
 from Components.TimerList import TimerList, TimerEntryComponent
 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.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 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 time import *
 from ServiceReference import ServiceReference
-from Components.config import *
 from Components.TimerSanityCheck import TimerSanityCheck
 
 class TimerEditList(Screen):
 from Components.TimerSanityCheck import TimerSanityCheck
 
 class TimerEditList(Screen):
@@ -63,16 +60,18 @@ class TimerEditList(Screen):
                self.updateState()
                
        def toggleDisabledState(self):
                self.updateState()
                
        def toggleDisabledState(self):
-               t = self["timerlist"].getCurrent()[0]
+               cur=self["timerlist"].getCurrent()
+               if cur:
+                       t = cur[0]
                
                
-               if t.disabled:
-                       t.enable()
-               else:
-                       t.disable()
+                       if t.disabled:
+                               t.enable()
+                       else:
+                               t.disable()
 
 
-               self.session.nav.RecordTimer.timeChanged(t)
-               self.updateState()
-               self.refill()
+                       self.session.nav.RecordTimer.timeChanged(t)
+                       self.updateState()
+                       self.refill()
                
        def updateState(self):
                if len(self.list) > 0:
                
        def updateState(self):
                if len(self.list) > 0:
@@ -93,12 +92,15 @@ class TimerEditList(Screen):
                self.list.sort(cmp = lambda x, y: x[0].begin < y[0].begin)
 
        def showLog(self):
                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):
 
        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?"))
        
        def cleanupQuestion(self):
                self.session.openWithCallback(self.cleanupTimer, MessageBox, _("Really delete done timers?"))
        
@@ -110,8 +112,9 @@ class TimerEditList(Screen):
        def removeTimer(self):
                list = self["timerlist"]
                cur = list.getCurrent()
        def removeTimer(self):
                list = self["timerlist"]
                cur = list.getCurrent()
-               if cur is not None:
+               if cur:
                        timer = cur[0]
                        timer = cur[0]
+                       timer.afterEvent = AFTEREVENT.NONE
                        self.session.nav.RecordTimer.removeEntry(timer)
                        self.refill()
        
                        self.session.nav.RecordTimer.removeEntry(timer)
                        self.refill()
        
@@ -135,7 +138,7 @@ class TimerEditList(Screen):
                else:
                        data = parseEvent(event)
 
                else:
                        data = parseEvent(event)
 
-               self.addTimer(RecordTimerEntry(serviceref, *data))
+               self.addTimer(RecordTimerEntry(serviceref, checkOldTimers = True, *data))
                
        def addTimer(self, timer):
                self.session.openWithCallback(self.finishedAdd, TimerEntry, timer)
                
        def addTimer(self, timer):
                self.session.openWithCallback(self.finishedAdd, TimerEntry, timer)