X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/b540dcd4b6df8789cf4a515593e42f62bf9424e0..3f66fa4d17ba703871da304d005a1945ba7ed97d:/lib/python/Screens/Satconfig.py?ds=sidebyside diff --git a/lib/python/Screens/Satconfig.py b/lib/python/Screens/Satconfig.py index b1757807..49fc2b7b 100644 --- a/lib/python/Screens/Satconfig.py +++ b/lib/python/Screens/Satconfig.py @@ -5,7 +5,7 @@ from Components.ActionMap import ActionMap from Components.ConfigList import ConfigListScreen from Components.MenuList import MenuList from Components.NimManager import nimmanager -from Components.config import getConfigListEntry, config, ConfigNothing, ConfigSelection +from Components.config import getConfigListEntry, config, ConfigNothing, ConfigSelection, updateConfigElement from Screens.MessageBox import MessageBox from time import mktime, localtime @@ -46,7 +46,22 @@ class NimSetup(Screen, ConfigListScreen): if nim.powerMeasurement.value: nim.powerMeasurement.value = False nim.powerMeasurement.save() - + + def createConfigMode(self): + choices = { "nothing": _("nothing connected"), + "simple": _("simple"), + "advanced": _("advanced")} + #if len(nimmanager.getNimListOfType(nimmanager.getNimType(self.slotid), exception = x)) > 0: + # choices["equal"] = _("equal to") + # choices["satposdepends"] = _("second cable of motorized LNB") + if len(nimmanager.canEqualTo(self.slotid)) > 0: + choices["equal"] = _("equal to") + if len(nimmanager.canDependOn(self.slotid)) > 0: + choices["satposdepends"] = _("second cable of motorized LNB") + if len(nimmanager.canConnectTo(self.slotid)) > 0: + choices["loopthrough"] = _("loopthrough to") + self.nim.config.configMode.setChoices(choices) + def createSetup(self): print "Creating setup" self.list = [ ] @@ -77,21 +92,32 @@ class NimSetup(Screen, ConfigListScreen): self.createSimpleSetup(self.list, self.nimConfig.diseqcMode.value) if self.nimConfig.diseqcMode.value == "positioner": self.createPositionerSetup(self.list) - elif self.nimConfig.configMode.value in ["satposdepends", "equal"]: + elif self.nimConfig.configMode.value == "equal": + choices = [] + nimlist = nimmanager.canEqualTo(self.nim.slot) + for id in nimlist: + #choices.append((str(id), str(chr(65 + id)))) + choices.append((str(id), nimmanager.getNimDescription(id))) + 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 = [] - nimlist = nimmanager.getNimListOfType(self.nim.type, exception = self.nim.slot) + nimlist = nimmanager.canDependOn(self.nim.slot) 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 = [] - print "connectable to:", nimmanager.connectableTo(self.slotid) - connectable = nimmanager.connectableTo(self.slotid) + print "connectable to:", nimmanager.canConnectTo(self.slotid) + 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 @@ -307,7 +333,10 @@ class NimSetup(Screen, ConfigListScreen): self.slotid = slotid self.nim = nimmanager.nim_slots[slotid] 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)