do activate subservice zapping when select the first subservice, but do not deactivat...
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>
Fri, 12 May 2006 12:21:55 +0000 (12:21 +0000)
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>
Fri, 12 May 2006 12:21:55 +0000 (12:21 +0000)
lib/python/Screens/ChannelSelection.py
lib/python/Screens/InfoBarGenerics.py

index 47a9d9e66aef0dfd1637d352759e91cf8ef4a03c..bbd4fd3f36de25ec75e10b48017368f541a542e0 100644 (file)
@@ -897,9 +897,12 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelect
                        self.session.nav.playService(nref)
                self.saveRoot()
                self.saveChannel()
+               self.addToHistory(nref)
+
+       def addToHistory(self, ref):
                if self.servicePath is not None:
                        tmp=self.servicePath[:]
-                       tmp.append(nref)
+                       tmp.append(ref)
                        try:
                                del self.history[self.history_pos+1:]
                        except:
index a11e9262118a859ed98ae4cb13ebe186efe5e647..d08a050b343850a4fbf5f135cb616281bc428618 100644 (file)
@@ -1241,14 +1241,13 @@ class InfoBarSubserviceSelection:
                        }, -1)
                self["SubserviceQuickzapAction"].setEnabled(False)
 
-               self.session.nav.event.append(self.checkParentAvail) # we like to get service events
+               self.session.nav.event.append(self.checkSubservicesAvail) # we like to get service events
 
-       def checkParentAvail(self, ev):
-               ref=self.session.nav.getCurrentlyPlayingServiceReference()
+       def checkSubservicesAvail(self, ev):
                if ev == iPlayableService.evUpdatedEventInfo:
-                       if ref.getData(5):
-                               self["SubserviceQuickzapAction"].setEnabled(True)
-                       else:
+                       service = self.session.nav.getCurrentService()
+                       subservices = service.subServices()
+                       if subservices.getNumberOfSubservices() == 0:
                                self["SubserviceQuickzapAction"].setEnabled(False)
 
        def nextSubservice(self):
@@ -1298,6 +1297,7 @@ class InfoBarSubserviceSelection:
 
        def subserviceSelected(self, service):
                if not service is None:
+                       self["SubserviceQuickzapAction"].setEnabled(True)
                        self.session.nav.playService(service[1])
 
 class InfoBarAdditionalInfo: