1 # for localized messages
5 from Screens.Screen import Screen
8 from Components.ActionMap import ActionMap
9 from Components.Button import Button
10 from AutoTimerList import AutoTimerPreviewList
12 class AutoTimerPreview(Screen):
13 """Preview Timers which would be set"""
15 skin = """<screen name="AutoTimerPreview" title="Preview AutoTimer" position="75,155" size="565,265">
16 <widget name="timerlist" position="5,5" size="555,210" scrollbarMode="showOnDemand" />
17 <ePixmap position="0,220" zPosition="4" size="140,40" pixmap="skin_default/buttons/red.png" transparent="1" alphatest="on" />
18 <ePixmap position="280,220" zPosition="4" size="140,40" pixmap="skin_default/buttons/yellow.png" transparent="1" alphatest="on" />
19 <widget name="key_red" position="0,220" zPosition="5" size="140,40" valign="center" halign="center" font="Regular;21" transparent="1" foregroundColor="white" shadowColor="black" shadowOffset="-1,-1" />
20 <widget name="key_yellow" position="280,220" zPosition="5" size="140,40" valign="center" halign="center" font="Regular;21" transparent="1" foregroundColor="white" shadowColor="black" shadowOffset="-1,-1" />
23 def __init__(self, session, timers):
24 Screen.__init__(self, session)
26 # Sort timers by begin
27 timers.sort(key = lambda x: x[1])
32 self["timerlist"] = AutoTimerPreviewList(self.timers)
35 self["key_red"] = Button(_("Cancel"))
36 self["key_yellow"] = Button()
38 self.setSortDescription()
41 self["actions"] = ActionMap(["SetupActions", "ColorActions"],
43 "cancel": self.cancel,
49 def setSortDescription(self):
50 if self.sort_type == 1:
51 self["key_yellow"].setText(_("Sort Time"))
53 self["key_yellow"].setText(_("Sort AutoTimer"))
57 timer = self["timerlist"].getCurrent()
58 if self.sort_type == 1:
59 self.timers.sort(key=lambda x: x[1])
62 self.timers.sort(key = lambda x: x[4].lower())
64 self["timerlist"].setList(self.timers)
65 self["timerlist"].moveToEntry(timer)
66 self.setSortDescription()