hopefully fix SatConfig (rebuilding new choices each time the satconfig is called...
[enigma2.git] / lib / python / Screens / Satconfig.py
index 7977d8814e3efddd5abbe450798f0854fc2e54d7..49fc2b7b7ecae7bebfa8cd7b0ed975327a8c680b 100644 (file)
@@ -4,8 +4,8 @@ from Components.SystemInfo import SystemInfo
 from Components.ActionMap import ActionMap
 from Components.ConfigList import ConfigListScreen
 from Components.MenuList import MenuList
-from Components.NimManager import nimmanager, InitNimManager
-from Components.config import getConfigListEntry, config, ConfigNothing, ConfigSelection
+from Components.NimManager import nimmanager
+from Components.config import getConfigListEntry, config, ConfigNothing, ConfigSelection, updateConfigElement
 from Screens.MessageBox import MessageBox
 
 from time import mktime, localtime
@@ -60,8 +60,8 @@ class NimSetup(Screen, ConfigListScreen):
                        choices["satposdepends"] = _("second cable of motorized LNB")
                if len(nimmanager.canConnectTo(self.slotid)) > 0:
                        choices["loopthrough"] = _("loopthrough to")
-               self.nimConfig.configMode = ConfigSelection(choices = choices, default = "simple")
-                                       
+               self.nim.config.configMode.setChoices(choices)
+                                                       
        def createSetup(self):
                print "Creating setup"
                self.list = [ ]
@@ -98,7 +98,8 @@ class NimSetup(Screen, ConfigListScreen):
                                for id in nimlist:
                                        #choices.append((str(id), str(chr(65 + id))))
                                        choices.append((str(id), nimmanager.getNimDescription(id)))
-                               self.nimConfig.connectedTo = ConfigSelection(choices = choices)
+                               self.nimConfig.connectedTo.setChoices(choices)
+                               #self.nimConfig.connectedTo = updateConfigElement(self.nimConfig.connectedTo, ConfigSelection(choices = choices))
                                self.list.append(getConfigListEntry(_("Tuner"), self.nimConfig.connectedTo))
                        elif self.nimConfig.configMode.value == "satposdepends":
                                choices = []
@@ -106,7 +107,8 @@ class NimSetup(Screen, ConfigListScreen):
                                for id in nimlist:
                                        #choices.append((str(id), str(chr(65 + id))))
                                        choices.append((str(id), nimmanager.getNimDescription(id)))
-                               self.nimConfig.connectedTo = ConfigSelection(choices = choices)
+                               self.nimConfig.connectedTo.setChoices(choices)
+                               #self.nimConfig.connectedTo = updateConfigElement(self.nimConfig.connectedTo, ConfigSelection(choices = choices))
                                self.list.append(getConfigListEntry(_("Tuner"), self.nimConfig.connectedTo))
                        elif self.nimConfig.configMode.value == "loopthrough":
                                choices = []
@@ -114,7 +116,8 @@ class NimSetup(Screen, ConfigListScreen):
                                connectable = nimmanager.canConnectTo(self.slotid) 
                                for id in connectable:
                                        choices.append((str(id), nimmanager.getNimDescription(id)))
-                               self.nimConfig.connectedTo = ConfigSelection(choices = choices)
+                               self.nimConfig.connectedTo.setChoices(choices)
+                               #self.nimConfig.connectedTo = updateConfigElement(self.nimConfig.connectedTo, ConfigSelection(choices = choices))
                                self.list.append(getConfigListEntry(_("Connected to"), self.nimConfig.connectedTo))
                        elif self.nimConfig.configMode.value == "nothing":
                                pass
@@ -332,6 +335,8 @@ class NimSetup(Screen, ConfigListScreen):
                self.nimConfig = self.nim.config
                self.createConfigMode()
                self.createSetup()
+               # safeAll is needed, so that keyCancel works properly
+               self.saveAll()
 
        def keyLeft(self):
                ConfigListScreen.keyLeft(self)