plugin api change: Plugins() and main functions must receive (and possibly ignore...
[enigma2.git] / lib / python / Plugins / Extensions / ZappingAlternatives / plugin.py
index ebd523f..118f0cb 100644 (file)
@@ -57,8 +57,8 @@ class AlternativeZapping(Screen):
                        <widget name="green" position="140,0" size="140,40" backgroundColor="green" halign="center" valign="center" font="Regular;21" />
                        <widget name="yellow" position="280,0" size="140,40" backgroundColor="yellow" halign="center" valign="center" font="Regular;21" />
                        <widget name="blue" position="420,0" size="140,40" backgroundColor="blue" halign="center" valign="center" font="Regular;21" />
-                       <widget name="serviceslist" position="0,40" size="280,360" />
-                       <widget name="alternativeslist" position="280,40" size="280,360" selectionDisabled="1" />
+                       <widget name="serviceslist" position="0,40" size="280,360" scrollbarMode="showOnDemand" />
+                       <widget name="alternativeslist" position="280,40" size="280,360" selectionDisabled="1" scrollbarMode="showOnDemand" />
                </screen>"""
        def __init__(self, session):
                self.skin = AlternativeZapping.skin
@@ -221,9 +221,9 @@ class AlternativeZapping(Screen):
                if not self.alternatives.has_key(serviceString):
                        self.alternatives[serviceString] = []
                self.updateServices()
-               self.updateAlternatives()
                self.selectService(serviceString)
-
+               self.updateAlternatives()
+               
        def yellowKey(self):
                if len(self.serviceslist) > 0:
                        self.session.openWithCallback(self.finishedAlternativeSelection, SimpleChannelSelection, _("Select alternative service"))
@@ -269,6 +269,8 @@ class ServiceChanged(PerServiceDisplay):
                                                                self.nextPlayTry += 1
 #                                                              print "Alternatives: Alternative doesn't play either"
                                                                self.tuneFailed()
+                                       else:
+                                               self.lastPlayAction = None
 
                                        #print "Alternatives: No playable alternative found!"
 
@@ -292,9 +294,9 @@ def autostart(reason):
                NavigationInstance.instance.playService = type(NavigationInstance.instance.playService)(playService, NavigationInstance, Navigation)
                
 
-def AlternativeZappingSetup(session):
+def AlternativeZappingSetup(session, **kwargs):
        session.open(AlternativeZapping)
 
-def Plugins():
+def Plugins(**kwargs):
        return [PluginDescriptor(where = PluginDescriptor.WHERE_AUTOSTART, fnc = autostart),
                        PluginDescriptor(name="Alternative services setup" , description="Defines alternatives for services.", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=AlternativeZappingSetup)]