everthing should fit one page now
[vuplus_dvbapp-plugin] / autotimer / src / AutoTimerImporter.py
index ef55c11..ccec3c1 100644 (file)
@@ -10,8 +10,9 @@ from Screens.InputBox import InputBox
 # GUI (Components)
 from Components.ActionMap import ActionMap
 from Components.Button import Button
-from Components.TimerList import TimerList
 from Components.SelectionList import SelectionList, SelectionEntryComponent
+from Components.Sources.StaticText import StaticText
+from Components.TimerList import TimerList
 
 # Timer
 from RecordTimer import AFTEREVENT
@@ -19,6 +20,8 @@ from RecordTimer import AFTEREVENT
 # Needed to convert our timestamp back and forth
 from time import localtime
 
+from enigma import eServiceReference
+
 afterevent = {
        AFTEREVENT.NONE: _("do nothing"),
        AFTEREVENT.DEEPSTANDBY: _("go to deep standby"),
@@ -53,17 +56,14 @@ class AutoTimerImportSelector(Screen):
                self.onLayoutFinish.append(self.setCustomTitle)
 
        def setCustomTitle(self):
-               self.setTitle(_("Select a Timer to Import"))
+               self.setTitle(_("Select a timer to import"))
 
        def fillTimerList(self):
                l = self.list
                del l[:]
 
-               for timer in self.session.nav.RecordTimer.timer_list:
-                       l.append((timer, False))
-
-               for timer in self.session.nav.RecordTimer.processed_timers:
-                       l.append((timer, True))
+               l.extend([(timer, False) for timer in self.session.nav.RecordTimer.timer_list])
+               l.extend([(timer, True) for timer in self.session.nav.RecordTimer.processed_timers])
                l.sort(key = lambda x: x[0].begin)
 
        def importerClosed(self, ret):
@@ -96,16 +96,16 @@ class AutoTimerImportSelector(Screen):
 class AutoTimerImporter(Screen):
        """Import AutoTimer from Timer"""
 
-       skin = """<screen name="AutoTimerImporter" title="Import AutoTimer" position="75,155" size="565,280">
-               <widget name="list" position="5,5" size="555,225" scrollbarMode="showOnDemand" />
-               <ePixmap position="0,235" zPosition="4" size="140,40" pixmap="skin_default/buttons/red.png" transparent="1" alphatest="on" />
-               <ePixmap position="140,235" zPosition="4" size="140,40" pixmap="skin_default/buttons/green.png" transparent="1" alphatest="on" />
-               <ePixmap position="280,235" zPosition="4" size="140,40" pixmap="skin_default/buttons/yellow.png" transparent="1" alphatest="on" />
-               <ePixmap position="420,235" zPosition="4" size="140,40" pixmap="skin_default/buttons/blue.png" transparent="1" alphatest="on" />
-               <widget name="key_red" position="0,235" zPosition="5" size="140,40" valign="center" halign="center" font="Regular;21" transparent="1" foregroundColor="white" shadowColor="black" shadowOffset="-1,-1" />
-               <widget name="key_green" position="140,235" zPosition="5" size="140,40" valign="center" halign="center" font="Regular;21" transparent="1" foregroundColor="white" shadowColor="black" shadowOffset="-1,-1" />
-               <widget name="key_yellow" position="280,235" zPosition="5" size="140,40" valign="center" halign="center" font="Regular;21" transparent="1" foregroundColor="white" shadowColor="black" shadowOffset="-1,-1" />
-               <widget name="key_blue" position="420,235" zPosition="5" size="140,40" valign="center" halign="center" font="Regular;21" transparent="1" foregroundColor="white" shadowColor="black" shadowOffset="-1,-1" />
+       skin = """<screen name="AutoTimerImporter" title="Import AutoTimer" position="center,center" size="565,290">
+               <ePixmap position="0,0" size="140,40" pixmap="skin_default/buttons/red.png" transparent="1" alphatest="on" />
+               <ePixmap position="140,0" size="140,40" pixmap="skin_default/buttons/green.png" transparent="1" alphatest="on" />
+               <ePixmap position="280,0" size="140,40" pixmap="skin_default/buttons/yellow.png" transparent="1" alphatest="on" />
+               <ePixmap position="420,0" size="140,40" pixmap="skin_default/buttons/blue.png" transparent="1" alphatest="on" />
+               <widget source="key_red" render="Label" position="0,0" zPosition="1" size="140,40" valign="center" halign="center" font="Regular;21" transparent="1" foregroundColor="white" shadowColor="black" shadowOffset="-1,-1" />
+               <widget source="key_green" render="Label" position="140,0" zPosition="1" size="140,40" valign="center" halign="center" font="Regular;21" transparent="1" foregroundColor="white" shadowColor="black" shadowOffset="-1,-1" />
+               <widget source="key_yellow" render="Label" position="280,0" zPosition="1" size="140,40" valign="center" halign="center" font="Regular;21" transparent="1" foregroundColor="white" shadowColor="black" shadowOffset="-1,-1" />
+               <widget source="key_blue" render="Label" position="420,0" zPosition="1" size="140,40" valign="center" halign="center" font="Regular;21" transparent="1" foregroundColor="white" shadowColor="black" shadowOffset="-1,-1" />
+               <widget name="list" position="5,45" size="555,240" scrollbarMode="showOnDemand" />
        </screen>"""
 
        def __init__(self, session, autotimer, name, begin, end, disabled, sref, afterEvent, justplay, dirname, tags):
@@ -115,10 +115,10 @@ class AutoTimerImporter(Screen):
                self.autotimer = autotimer
 
                # Initialize Buttons
-               self["key_red"] = Button(_("Cancel"))
-               self["key_green"] = Button(_("OK"))
-               self["key_yellow"] = Button()
-               self["key_blue"] = Button()
+               self["key_red"] = StaticText(_("Cancel"))
+               self["key_green"] = StaticText(_("OK"))
+               self["key_yellow"] = StaticText()
+               self["key_blue"] = StaticText()
 
                list = []
 
@@ -179,7 +179,7 @@ class AutoTimerImporter(Screen):
                if justplay is not None:
                        list.append(
                                SelectionEntryComponent(
-                                       ': '.join((_("Timer Type"), {0: _("record"), 1: _("zap")}[int(justplay)])),
+                                       ': '.join((_("Timer type"), {0: _("record"), 1: _("zap")}[int(justplay)])),
                                        int(justplay),
                                        5,
                                        True
@@ -270,10 +270,14 @@ class AutoTimerImporter(Screen):
                        elif item[2] == 3: # Service
                                value = item[1]
 
-                               # strip all after last :
-                               pos = value.rfind(':')
-                               if pos != -1:
-                                       value = value[:pos+1]
+                               myref = eServiceReference(value)
+                               if not (myref.flags & eServiceReference.isGroup):
+                                       # strip all after last :
+                                       pos = value.rfind(':')
+                                       if pos != -1:
+                                               if value[pos-1] == ':':
+                                                       pos -= 1
+                                               value = value[:pos+1]
 
                                autotimer.services = [value]
                        elif item[2] == 4: # AfterEvent