make Multi Bouquets swich useable
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>
Thu, 19 Jan 2006 18:43:25 +0000 (18:43 +0000)
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>
Thu, 19 Jan 2006 18:43:25 +0000 (18:43 +0000)
lib/python/Components/UsageConfig.py
lib/python/Screens/ChannelSelection.py

index 027dc3ff2d9f5bafd69c3b0eaa880f6548170a93..779f5cf37a75216161a181c428087af1427de94f 100644 (file)
@@ -2,19 +2,9 @@ from config import *
 import os
 from enigma import *
 
 import os
 from enigma import *
 
-from Screens.ChannelSelection import USE_MULTIBOUQUETS
-global USE_MULTIBOUQUETS
-
 def InitUsageConfig():
        config.usage = ConfigSubsection();
        config.usage.epgtoggle = configElement("config.usage.epgtoggle", configSelection, 1, (("yes", _("yes")), ("no", _("no"))) )
        config.usage.showdish = configElement("config.usage.showdish", configSelection, 1, (("yes", _("yes")), ("no", _("no"))) )
        config.usage.multibouquet = configElement("config.usage.multibouquet", configSelection, 1, (("yes", _("yes")), ("no", _("no"))) )
 def InitUsageConfig():
        config.usage = ConfigSubsection();
        config.usage.epgtoggle = configElement("config.usage.epgtoggle", configSelection, 1, (("yes", _("yes")), ("no", _("no"))) )
        config.usage.showdish = configElement("config.usage.showdish", configSelection, 1, (("yes", _("yes")), ("no", _("no"))) )
        config.usage.multibouquet = configElement("config.usage.multibouquet", configSelection, 1, (("yes", _("yes")), ("no", _("no"))) )
-       
-       def setMultiBouquet(configElement):
-               if currentConfigSelectionElement(configElement) == "no":
-                       USE_MULTIBOUQUETS = False
-               else:
-                       USE_MULTIBOUQUETS = True
-               
-       config.usage.multibouquet.addNotifier(setMultiBouquet);
\ No newline at end of file
+
index a5b6e0340c3d7abe0ed1194f1e4860523d38dc48..e7c67f3b13fe3d5643ed42f0d95893fc9aeef6b1 100644 (file)
@@ -4,7 +4,7 @@ from Components.ServiceList import ServiceList
 from Components.ActionMap import NumberActionMap
 from EpgSelection import EPGSelection
 from enigma import eServiceReference, eEPGCache, eEPGCachePtr, eServiceCenter, eServiceCenterPtr, iMutableServiceListPtr, iStaticServiceInformationPtr, eTimer
 from Components.ActionMap import NumberActionMap
 from EpgSelection import EPGSelection
 from enigma import eServiceReference, eEPGCache, eEPGCachePtr, eServiceCenter, eServiceCenterPtr, iMutableServiceListPtr, iStaticServiceInformationPtr, eTimer
-from Components.config import config, configElement, ConfigSubsection, configText
+from Components.config import config, configElement, ConfigSubsection, configText, currentConfigSelectionElement
 from Screens.FixedMenu import FixedMenu
 from Tools.NumericalTextInput import NumericalTextInput
 from Components.NimManager import nimmanager
 from Screens.FixedMenu import FixedMenu
 from Tools.NumericalTextInput import NumericalTextInput
 from Components.NimManager import nimmanager
@@ -237,8 +237,6 @@ class ChannelSelectionEdit:
        def doContext(self):
                self.session.open(ChannelContextMenu, self)
 
        def doContext(self):
                self.session.open(ChannelContextMenu, self)
 
-USE_MULTIBOUQUETS = False
-
 MODE_TV = 0
 MODE_RADIO = 1
 
 MODE_TV = 0
 MODE_RADIO = 1
 
@@ -295,12 +293,21 @@ class ChannelSelectionBase(Screen):
                                                offsetCount += 1
                return offsetCount
 
                                                offsetCount += 1
                return offsetCount
 
-       def setTvMode(self):
-               self.service_types = self.service_types_tv
-               if USE_MULTIBOUQUETS:
-                       self.bouquet_root = eServiceReference('1:7:1:0:0:0:0:0:0:0:(type == 1) FROM BOUQUET "bouquets.tv" ORDER BY bouquet')
+       def recallBouquetMode(self):
+               if self.mode == MODE_TV:
+                       self.service_types = self.service_types_tv
+                       if currentConfigSelectionElement(config.usage.multibouquet) == "yes":
+                               self.bouquet_root = eServiceReference('1:7:1:0:0:0:0:0:0:0:(type == 1) FROM BOUQUET "bouquets.tv" ORDER BY bouquet')
+                       else:
+                               self.bouquet_root = eServiceReference('%s FROM BOUQUET "userbouquet.favourites.tv" ORDER BY bouquet'%(self.service_types))
                else:
                else:
-                       self.bouquet_root = eServiceReference('%s FROM BOUQUET "userbouquet.favourites.tv" ORDER BY bouquet'%(self.service_types))
+                       self.service_types = self.service_types_radio
+                       if currentConfigSelectionElement(config.usage.multibouquet) == "yes":
+                               self.bouquet_root = eServiceReference('1:7:1:0:0:0:0:0:0:0:(type == 1) FROM BOUQUET "bouquets.radio" ORDER BY bouquet')
+                       else:
+                               self.bouquet_root = eServiceReference('%s FROM BOUQUET "userbouquet.favourites.radio" ORDER BY bouquet'%(self.service_types))
+
+       def setTvMode(self):
                title = self.instance.getTitle()
                pos = title.find(" (")
                if pos != -1:
                title = self.instance.getTitle()
                pos = title.find(" (")
                if pos != -1:
@@ -308,13 +315,9 @@ class ChannelSelectionBase(Screen):
                title += " (TV)"
                self.instance.setTitle(title)
                self.mode = MODE_TV
                title += " (TV)"
                self.instance.setTitle(title)
                self.mode = MODE_TV
+               self.recallBouquetMode()
 
        def setRadioMode(self):
 
        def setRadioMode(self):
-               self.service_types = self.service_types_radio
-               if USE_MULTIBOUQUETS:
-                       self.bouquet_root = eServiceReference('1:7:1:0:0:0:0:0:0:0:(type == 1) FROM BOUQUET "bouquets.radio" ORDER BY bouquet')
-               else:
-                       self.bouquet_root = eServiceReference('%s FROM BOUQUET "userbouquet.favourites.radio" ORDER BY bouquet'%(self.service_types))
                title = self.instance.getTitle()
                pos = title.find(" (")
                if pos != -1:
                title = self.instance.getTitle()
                pos = title.find(" (")
                if pos != -1:
@@ -322,6 +325,7 @@ class ChannelSelectionBase(Screen):
                title += " (Radio)"
                self.instance.setTitle(title)
                self.mode = MODE_RADIO
                title += " (Radio)"
                self.instance.setTitle(title)
                self.mode = MODE_RADIO
+               self.recallBouquetMode()
 
        def setRootBase(self, root, justSet=False):
                path = root.getPath()
 
        def setRootBase(self, root, justSet=False):
                path = root.getPath()
@@ -560,7 +564,7 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit):
                        self.session.nav.playService(lastservice)
 
        def onShow(self):
                        self.session.nav.playService(lastservice)
 
        def onShow(self):
-               self.setTvMode()
+               self.recallBouquetMode()
                ref = self.session.nav.getCurrentlyPlayingServiceReference()
                if ref is not None and ref.valid() and ref.getPath() == "":
                        self.servicelist.setPlayableIgnoreService(ref)
                ref = self.session.nav.getCurrentlyPlayingServiceReference()
                if ref is not None and ref.valid() and ref.getPath() == "":
                        self.servicelist.setPlayableIgnoreService(ref)