1 from HTMLComponent import *
2 from GUIComponent import *
4 from Tools.FuzzyDate import FuzzyTime
7 from enigma import eListboxPythonMultiContent, eListbox, gFont
8 from timer import TimerEntry
23 # | <Service> <Name of the Timer> |
24 # | <start, end> <state> |
26 def TimerEntryComponent(timer, processed):
29 res.append((eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 560, 30, 0, RT_HALIGN_LEFT|RT_VALIGN_CENTER, timer.service_ref.getServiceName()))
30 res.append((eListboxPythonMultiContent.TYPE_TEXT, 0, 30, 560, 20, 1, RT_HALIGN_LEFT|RT_VALIGN_CENTER, timer.name))
33 days = [ "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" ]
34 if not timer.repeated:
35 flags = timer.repeated
41 repeatedtext += days[x]
44 res.append((eListboxPythonMultiContent.TYPE_TEXT, 0, 50, 300, 20, 1, RT_HALIGN_LEFT|RT_VALIGN_CENTER, repeatedtext + (" %s ... %s" % (FuzzyTime(timer.begin)[1], FuzzyTime(timer.end)[1]))))
46 res.append((eListboxPythonMultiContent.TYPE_TEXT, 0, 50, 300, 20, 1, RT_HALIGN_LEFT|RT_VALIGN_CENTER, repeatedtext + ("%s, %s ... %s" % (FuzzyTime(timer.begin) + FuzzyTime(timer.end)[1:]))))
49 if timer.state == TimerEntry.StateWaiting:
51 elif timer.state == TimerEntry.StatePrepared:
52 state = "about to start"
53 elif timer.state == TimerEntry.StateRunning:
54 state = "recording..."
60 res.append((eListboxPythonMultiContent.TYPE_TEXT, 320, 50, 240, 20, 1, RT_HALIGN_RIGHT|RT_VALIGN_CENTER, state))
64 class TimerList(HTMLComponent, GUIComponent):
65 def __init__(self, list):
66 GUIComponent.__init__(self)
67 self.l = eListboxPythonMultiContent()
69 self.l.setFont(0, gFont("Regular", 20))
70 self.l.setFont(1, gFont("Regular", 18))
73 return self.l.getCurrentSelection()
75 def GUIcreate(self, parent):
76 self.instance = eListbox(parent)
77 self.instance.setContent(self.l)
78 self.instance.setItemHeight(70)
80 def moveToIndex(self, index):
81 self.instance.moveSelectionTo(index)
83 def getCurrentIndex(self):
84 return self.instance.getCurrentIndex()
87 self.instance.moveSelection(self.instance.moveDown)
90 self.instance.setContent(None)