add space
[enigma2.git] / lib / python / Screens / TimerEdit.py
index 6240c676888e854a3d6c1eb2e8ddb0df4f7561c3..bdf3527dbbff0fd3f9592f935f07be79f810cf9b 100644 (file)
@@ -1,7 +1,8 @@
 from Components.ActionMap import ActionMap
 from Components.Button import Button
 from Components.ActionMap import ActionMap
 from Components.Button import Button
+from Components.config import config
 from Components.MenuList import MenuList
 from Components.MenuList import MenuList
-from Components.TimerList import TimerList, TimerEntryComponent
+from Components.TimerList import TimerList
 from Components.TimerSanityCheck import TimerSanityCheck
 from RecordTimer import RecordTimerEntry, parseEvent, AFTEREVENT
 from Screen import Screen
 from Components.TimerSanityCheck import TimerSanityCheck
 from RecordTimer import RecordTimerEntry, parseEvent, AFTEREVENT
 from Screen import Screen
@@ -63,7 +64,7 @@ class TimerEditList(Screen):
        def toggleDisabledState(self):
                cur=self["timerlist"].getCurrent()
                if cur:
        def toggleDisabledState(self):
                cur=self["timerlist"].getCurrent()
                if cur:
-                       t = cur[0]
+                       t = cur
                
                        if t.disabled:
                                t.enable()
                
                        if t.disabled:
                                t.enable()
@@ -97,7 +98,7 @@ class TimerEditList(Screen):
                
        def updateState(self):
                if len(self.list) > 0:
                
        def updateState(self):
                if len(self.list) > 0:
-                       if self["timerlist"].getCurrent()[0].disabled:
+                       if self["timerlist"].getCurrent().disabled:
                                self["key_yellow"].setText(_("Enable"))
                        else:
                                self["key_yellow"].setText(_("Disable"))
                                self["key_yellow"].setText(_("Enable"))
                        else:
                                self["key_yellow"].setText(_("Disable"))
@@ -107,21 +108,21 @@ class TimerEditList(Screen):
                del self.list[:]
                
                for timer in self.session.nav.RecordTimer.timer_list:
                del self.list[:]
                
                for timer in self.session.nav.RecordTimer.timer_list:
-                       self.list.append(TimerEntryComponent(timer, processed=False))
+                       self.list.append((timer, False))
                
                for timer in self.session.nav.RecordTimer.processed_timers:
                
                for timer in self.session.nav.RecordTimer.processed_timers:
-                       self.list.append(TimerEntryComponent(timer, processed=True))
+                       self.list.append((timer, True))
                self.list.sort(cmp = lambda x, y: x[0].begin < y[0].begin)
 
        def showLog(self):
                cur=self["timerlist"].getCurrent()
                if cur:
                self.list.sort(cmp = lambda x, y: x[0].begin < y[0].begin)
 
        def showLog(self):
                cur=self["timerlist"].getCurrent()
                if cur:
-                       self.session.openWithCallback(self.finishedEdit, TimerLog, cur[0])
+                       self.session.openWithCallback(self.finishedEdit, TimerLog, cur)
 
        def openEdit(self):
                cur=self["timerlist"].getCurrent()
                if cur:
 
        def openEdit(self):
                cur=self["timerlist"].getCurrent()
                if cur:
-                       self.session.openWithCallback(self.finishedEdit, TimerEntry, cur[0])
+                       self.session.openWithCallback(self.finishedEdit, TimerEntry, cur)
 
        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?"))
@@ -130,24 +131,33 @@ class TimerEditList(Screen):
                if delete:
                        self.session.nav.RecordTimer.cleanup()
                        self.refill()
                if delete:
                        self.session.nav.RecordTimer.cleanup()
                        self.refill()
-       
+
        def removeTimerQuestion(self):
        def removeTimerQuestion(self):
+               if not self["timerlist"].getCurrent():
+                       return
                self.session.openWithCallback(self.removeTimer, MessageBox, _("Really delete this timer?"))
                self.session.openWithCallback(self.removeTimer, MessageBox, _("Really delete this timer?"))
-               
+
        def removeTimer(self, result):
                if not result:
                        return
                list = self["timerlist"]
                cur = list.getCurrent()
                if cur:
        def removeTimer(self, result):
                if not result:
                        return
                list = self["timerlist"]
                cur = list.getCurrent()
                if cur:
-                       timer = cur[0]
+                       timer = cur
                        timer.afterEvent = AFTEREVENT.NONE
                        self.session.nav.RecordTimer.removeEntry(timer)
                        self.refill()
        
        def refill(self):
                        timer.afterEvent = AFTEREVENT.NONE
                        self.session.nav.RecordTimer.removeEntry(timer)
                        self.refill()
        
        def refill(self):
+               oldsize = len(self.list)
                self.fillTimerList()
                self.fillTimerList()
-               self["timerlist"].invalidate()
+               lst = self["timerlist"]
+               newsize = len(self.list)
+               if oldsize and oldsize != newsize:
+                       idx = lst.getCurrentIndex()
+                       lst.entryRemoved(idx)
+               else:
+                       lst.invalidate()
        
        def addCurrentTimer(self):
                event = None
        
        def addCurrentTimer(self):
                event = None
@@ -165,7 +175,7 @@ class TimerEditList(Screen):
                else:
                        data = parseEvent(event, description = False)
 
                else:
                        data = parseEvent(event, description = False)
 
-               self.addTimer(RecordTimerEntry(serviceref, checkOldTimers = True, *data))
+               self.addTimer(RecordTimerEntry(serviceref, checkOldTimers = True, dirname = config.movielist.last_timer_videodir.value, *data))
                
        def addTimer(self, timer):
                self.session.openWithCallback(self.finishedAdd, TimerEntry, timer)
                
        def addTimer(self, timer):
                self.session.openWithCallback(self.finishedAdd, TimerEntry, timer)
@@ -209,7 +219,7 @@ class TimerEditList(Screen):
 
        def onStateChange(self, entry):
                self.refill()
 
        def onStateChange(self, entry):
                self.refill()
-               
+
 class TimerSanityConflict(Screen):
        def __init__(self, session, timer):
                Screen.__init__(self, session)
 class TimerSanityConflict(Screen):
        def __init__(self, session, timer):
                Screen.__init__(self, session)
@@ -252,10 +262,10 @@ class TimerSanityConflict(Screen):
                        }, -1)
 
        def getTimerList(self, timer):
                        }, -1)
 
        def getTimerList(self, timer):
-               return [TimerEntryComponent(timer, processed=False)]
+               return [(timer, False)]
 
        def editTimer1(self):
 
        def editTimer1(self):
-               self.session.openWithCallback(self.finishedEdit, TimerEntry, self["timer1"].getCurrent()[0])
+               self.session.openWithCallback(self.finishedEdit, TimerEntry, self["timer1"].getCurrent())
 
        def disableTimer1(self):
                self.timer[0].disabled = True
 
        def disableTimer1(self):
                self.timer[0].disabled = True
@@ -266,10 +276,8 @@ class TimerSanityConflict(Screen):
 
        def up(self):
                self["list"].instance.moveSelection(self["list"].instance.moveUp)
 
        def up(self):
                self["list"].instance.moveSelection(self["list"].instance.moveUp)
-               self["timer2"].l.setList(self.getTimerList(self["list"].getCurrent()[1]))
+               self["timer2"].l.setList(self.getTimerList(self["list"].getCurrent()))
                
        def down(self):
                self["list"].instance.moveSelection(self["list"].instance.moveDown)
                
        def down(self):
                self["list"].instance.moveSelection(self["list"].instance.moveDown)
-               self["timer2"].l.setList(self.getTimerList(self["list"].getCurrent()[1]))
-                       
-               
\ No newline at end of file
+               self["timer2"].l.setList(self.getTimerList(self["list"].getCurrent()))