X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/4410b0e371cf17191d3476a0c283ee59f629e763..d26a119a33db3ad39b4930712cef2b15cbaf0f8c:/lib/python/Screens/ChannelSelection.py diff --git a/lib/python/Screens/ChannelSelection.py b/lib/python/Screens/ChannelSelection.py index 9e1184d3..d8aa39d4 100644 --- a/lib/python/Screens/ChannelSelection.py +++ b/lib/python/Screens/ChannelSelection.py @@ -464,7 +464,7 @@ class ChannelSelectionBase(Screen): "7": self.keyNumberGlobal, "8": self.keyNumberGlobal, "9": self.keyNumberGlobal, - "0": self.keyNumberGlobal + "0": self.keyNumber0 }) def appendDVBTypes(self, ref): @@ -789,6 +789,27 @@ class ChannelSelectionBase(Screen): return bouquets return None + def keyNumber0(self, num): + if len(self.servicePath) > 1: + self.keyGoUp() + else: + self.keyNumberGlobal(num) + + def keyGoUp(self): + if len(self.servicePath) > 1: + if self.isBasePathEqual(self.bouquet_root): + self.showFavourites() + else: + ref = eServiceReference('%s FROM SATELLITES ORDER BY satellitePosition'%(self.service_types)) + if self.isBasePathEqual(ref): + self.showSatellites() + else: + ref = eServiceReference('%s FROM PROVIDERS ORDER BY name'%(self.service_types)) + if self.isBasePathEqual(ref): + self.showProviders() + else: + self.showAllServices() + HISTORYSIZE = 20 class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelectionEPG):