2 from Components.GUIComponent import GUIComponent
3 from Components.MultiContent import MultiContentEntryText
4 from enigma import eListboxPythonMultiContent, eListbox, gFont, RT_HALIGN_LEFT, RT_HALIGN_RIGHT, RT_VALIGN_CENTER
6 from ServiceReference import ServiceReference
7 from Tools.FuzzyDate import FuzzyTime
9 class AutoTimerList(GUIComponent):
10 """Defines a simple Component to show Timer name"""
12 def __init__(self, entries):
13 GUIComponent.__init__(self)
16 self.l = eListboxPythonMultiContent()
17 self.l.setFont(0, gFont("Regular", 22))
18 self.l.setBuildFunc(self.buildListboxEntry)
19 self.l.setList(self.list)
23 def postWidgetCreate(self, instance):
24 instance.setContent(self.l)
25 instance.setItemHeight(25)
28 # | <Name of AutoTimer> |
30 def buildListboxEntry(self, timer):
32 width = self.l.getItemSize().width()
35 # Append with default color
36 res.append(MultiContentEntryText(pos=(5, 0), size=(width, 25), font=0, flags = RT_HALIGN_LEFT, text = timer.name))
38 # Append with grey as color
39 res.append(MultiContentEntryText(pos=(5, 0), size=(width, 25), font=0, flags = RT_HALIGN_LEFT, text = timer.name, color = 12368828))
44 return self.l.getCurrentSelection()
47 return self.l.setList(l)
49 class AutoTimerPreviewList(GUIComponent):
50 """Preview Timers, emulates TimerList"""
52 def __init__(self, entries):
53 GUIComponent.__init__(self)
56 self.l = eListboxPythonMultiContent()
57 self.l.setFont(0, gFont("Regular", 20))
58 self.l.setFont(1, gFont("Regular", 18))
59 self.l.setBuildFunc(self.buildListboxEntry)
60 self.l.setList(self.list)
64 def postWidgetCreate(self, instance):
65 instance.setContent(self.l)
66 instance.setItemHeight(70)
69 # | <Service> <Name of the Event> |
70 # | <start, end> <Name of AutoTimer> |
72 def buildListboxEntry(self, name, begin, end, serviceref, timername):
74 width = self.l.getItemSize().width()
76 res.append((eListboxPythonMultiContent.TYPE_TEXT, 0, 0, width, 30, 0, RT_HALIGN_LEFT|RT_VALIGN_CENTER, ServiceReference(serviceref).getServiceName().replace('\xc2\x86', '').replace('\xc2\x87', '')))
77 res.append((eListboxPythonMultiContent.TYPE_TEXT, 0, 30, width, 20, 1, RT_HALIGN_LEFT|RT_VALIGN_CENTER, name))
79 res.append((eListboxPythonMultiContent.TYPE_TEXT, 0, 50, 400, 20, 1, RT_HALIGN_LEFT|RT_VALIGN_CENTER, (("%s, %s ... %s (%d " + _("mins") + ")") % (FuzzyTime(begin) + FuzzyTime(end)[1:] + ((end - begin) / 60,)))))
81 res.append((eListboxPythonMultiContent.TYPE_TEXT, width-240, 50, 240, 20, 1, RT_HALIGN_RIGHT|RT_VALIGN_CENTER, timername))
89 return self.l.getCurrentSelection()
92 return self.l.setList(l)
94 def moveToEntry(self, entry):
101 self.instance.moveSelectionTo(idx)