X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/7bc4a59528ab13f3062dc1520e76f9ecedd87400..1e1c01fece5a4a86a762af265e382da5dbb2d8cb:/lib/python/Components/TimerList.py diff --git a/lib/python/Components/TimerList.py b/lib/python/Components/TimerList.py index da005b01..f4176fad 100644 --- a/lib/python/Components/TimerList.py +++ b/lib/python/Components/TimerList.py @@ -2,9 +2,10 @@ from HTMLComponent import * from GUIComponent import * from Tools.FuzzyDate import FuzzyTime +import time from enigma import eListboxPythonMultiContent, eListbox, gFont - +from timer import TimerEntry RT_HALIGN_LEFT = 0 RT_HALIGN_RIGHT = 1 @@ -20,18 +21,44 @@ RT_WRAP = 32 # # | | -# | | +# | | # -def TimerEntry(timer, processed): - res = [ ] +def TimerEntryComponent(timer, processed): + res = [ timer ] res.append((0, 0, 400, 30, 0, RT_HALIGN_LEFT, timer.service_ref.getServiceName())) - res.append((0, 30, 200, 20, 1, RT_HALIGN_LEFT, "%s, %s" % FuzzyTime(timer.begin))) + repeatedtext = "" + days = [ "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" ] + if (timer.repeated != 0): + flags = timer.repeated + count = 0 + for x in range(0, 7): + if (flags & 1 == 1): + if (count != 0): + repeatedtext += ", " + repeatedtext += days[x] + count += 1 + flags = flags >> 1 + res.append((0, 30, 200, 20, 1, RT_HALIGN_LEFT, repeatedtext + (" %s ... %s" % (FuzzyTime(timer.begin)[1], FuzzyTime(timer.end)[1])))) + else: + res.append((0, 30, 200, 20, 1, RT_HALIGN_LEFT, repeatedtext + ("%s, %s ... %s" % (FuzzyTime(timer.begin) + FuzzyTime(timer.end)[1:])))) + + res.append((300, 0, 200, 20, 1, RT_HALIGN_RIGHT, timer.name)) - if processed: - res.append((200, 30, 200, 20, 1, RT_HALIGN_RIGHT, FuzzyTime(timer.end)[1])) + if not processed: + if timer.state == TimerEntry.StateWait: + state = "waiting" + elif timer.state == TimerEntry.StatePrepare: + state = "about to start" + elif timer.state == TimerEntry.StateRunning: + state = "recording..." + else: + state = "" else: - res.append((200, 30, 200, 20, 1, RT_HALIGN_RIGHT, "done")) + state = "done!" + + res.append((300, 30, 200, 20, 1, RT_HALIGN_RIGHT, state)) + return res class TimerList(HTMLComponent, GUIComponent): @@ -45,7 +72,7 @@ class TimerList(HTMLComponent, GUIComponent): def getCurrent(self): return self.l.getCurrentSelection() - def GUIcreate(self, parent, skindata): + def GUIcreate(self, parent): self.instance = eListbox(parent) self.instance.setContent(self.l) self.instance.setItemHeight(50) @@ -54,4 +81,6 @@ class TimerList(HTMLComponent, GUIComponent): self.instance.setContent(None) self.instance = None + def invalidate(self): + self.l.invalidate()