1 # -*- coding: UTF-8 -*-
2 # for localized messages
6 from Components.MenuList import MenuList
7 from Components.MultiContent import MultiContentEntryText
8 from enigma import eListboxPythonMultiContent, gFont, RT_HALIGN_LEFT, \
9 RT_HALIGN_RIGHT, RT_VALIGN_CENTER
11 from ServiceReference import ServiceReference
12 from Tools.FuzzyDate import FuzzyTime
14 class AutoTimerList(MenuList):
15 """Defines a simple Component to show Timer name"""
17 def __init__(self, entries):
18 MenuList.__init__(self, entries, False, content = eListboxPythonMultiContent)
20 self.l.setFont(0, gFont("Regular", 22))
21 self.l.setBuildFunc(self.buildListboxEntry)
22 self.l.setItemHeight(25)
25 # | <Name of AutoTimer> |
27 def buildListboxEntry(self, timer):
29 width = self.l.getItemSize().width()
32 # Append with default color
33 res.append(MultiContentEntryText(pos=(5, 0), size=(width, 25), font=0, flags = RT_HALIGN_LEFT, text = timer.name))
35 # Append with grey as color
36 res.append(MultiContentEntryText(pos=(5, 0), size=(width, 25), font=0, flags = RT_HALIGN_LEFT, text = timer.name, color = 12368828, color_sel = 12368828))
41 cur = self.l.getCurrentSelection()
44 def moveToEntry(self, entry):
51 self.instance.moveSelectionTo(idx)
55 class AutoTimerPreviewList(MenuList):
56 """Preview Timers, emulates TimerList"""
58 def __init__(self, entries):
59 MenuList.__init__(self, entries, False, content = eListboxPythonMultiContent)
61 self.l.setFont(0, gFont("Regular", 20))
62 self.l.setFont(1, gFont("Regular", 18))
63 self.l.setBuildFunc(self.buildListboxEntry)
64 self.l.setItemHeight(70)
67 # | <Service> <Name of the Event> |
68 # | <start, end> <Name of AutoTimer> |
70 def buildListboxEntry(self, name, begin, end, serviceref, timername):
72 width = self.l.getItemSize().width()
74 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', '')))
75 res.append((eListboxPythonMultiContent.TYPE_TEXT, 0, 30, width, 20, 1, RT_HALIGN_LEFT|RT_VALIGN_CENTER, name))
77 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,)))))
79 res.append((eListboxPythonMultiContent.TYPE_TEXT, width-240, 50, 240, 20, 1, RT_HALIGN_RIGHT|RT_VALIGN_CENTER, timername))
86 def moveToEntry(self, entry):
93 self.instance.moveSelectionTo(idx)