add some checks, use SkinError exception instead of string
[enigma2.git] / lib / python / Screens / TimerEdit.py
index bbbf6b5fe446cf7cc126f8496a614c5e70d87bc0..4a4185c31758e1b28172520a692739efcb0b3664 100644 (file)
@@ -3,12 +3,11 @@ from Components.TimerList import TimerList, TimerEntryComponent
 from Components.ConfigList import ConfigList
 from Components.MenuList import MenuList
 from Components.ActionMap import ActionMap
 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 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 time import *
 from ServiceReference import ServiceReference
 from Components.config import *
@@ -63,16 +62,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 +94,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 +114,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 +140,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)