1 from HTMLComponent import *
2 from GUIComponent import *
4 from Tools.FuzzyDate import FuzzyTime
7 from enigma import eListboxPythonMultiContent, eListbox, gFont, loadPNG
8 from timer import TimerEntry
9 from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE
24 # | <Service> <Name of the Timer> |
25 # | <start, end> <state> |
27 def TimerEntryComponent(timer, processed):
30 res.append((eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 560, 30, 0, RT_HALIGN_LEFT|RT_VALIGN_CENTER, timer.service_ref.getServiceName()))
31 res.append((eListboxPythonMultiContent.TYPE_TEXT, 0, 30, 560, 20, 1, RT_HALIGN_LEFT|RT_VALIGN_CENTER, timer.name))
34 days = [ _("Mon"), _("Tue"), _("Wed"), _("Thu"), _("Fri"), _("Sat"), _("Sun") ]
36 flags = timer.repeated
42 repeatedtext += days[x]
45 res.append((eListboxPythonMultiContent.TYPE_TEXT, 0, 50, 400, 20, 1, RT_HALIGN_LEFT|RT_VALIGN_CENTER, repeatedtext + (" %s ... %s" % (FuzzyTime(timer.begin)[1], FuzzyTime(timer.end)[1]))))
47 res.append((eListboxPythonMultiContent.TYPE_TEXT, 0, 50, 400, 20, 1, RT_HALIGN_LEFT|RT_VALIGN_CENTER, repeatedtext + ("%s, %s ... %s" % (FuzzyTime(timer.begin) + FuzzyTime(timer.end)[1:]))))
50 if timer.state == TimerEntry.StateWaiting:
52 elif timer.state == TimerEntry.StatePrepared:
53 state = _("about to start")
54 elif timer.state == TimerEntry.StateRunning:
55 state = _("recording...")
57 state = _("<unknown>")
61 res.append((eListboxPythonMultiContent.TYPE_TEXT, 320, 50, 240, 20, 1, RT_HALIGN_RIGHT|RT_VALIGN_CENTER, state))
64 png = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "/redx.png"))
65 res.append((eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 490, 5, 40, 40, png))
69 class TimerList(HTMLComponent, GUIComponent):
70 def __init__(self, list):
71 GUIComponent.__init__(self)
72 self.l = eListboxPythonMultiContent()
74 self.l.setFont(0, gFont("Regular", 20))
75 self.l.setFont(1, gFont("Regular", 18))
78 return self.l.getCurrentSelection()
80 def GUIcreate(self, parent):
81 self.instance = eListbox(parent)
82 self.instance.setContent(self.l)
83 self.instance.setItemHeight(70)
85 def moveToIndex(self, index):
86 self.instance.moveSelectionTo(index)
88 def getCurrentIndex(self):
89 return self.instance.getCurrentIndex()
92 self.instance.moveSelection(self.instance.moveDown)
95 self.instance.setContent(None)