X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/35bd21f1d2433cd7f8a29a87048cf0e4ca6a02ee..e25af60135ef62fca82147f64a584d4c781b5356:/lib/python/Screens/Satconfig.py diff --git a/lib/python/Screens/Satconfig.py b/lib/python/Screens/Satconfig.py index 398a13e1..7977d881 100644 --- a/lib/python/Screens/Satconfig.py +++ b/lib/python/Screens/Satconfig.py @@ -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 -from Components.config import getConfigListEntry, config, ConfigNothing +from Components.NimManager import nimmanager, InitNimManager +from Components.config import getConfigListEntry, config, ConfigNothing, ConfigSelection 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.nimConfig.configMode = ConfigSelection(choices = choices, default = "simple") + def createSetup(self): print "Creating setup" self.list = [ ] @@ -77,7 +92,31 @@ 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 ["loopthrough", "satposdepends", "nothing", "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 = ConfigSelection(choices = choices) + self.list.append(getConfigListEntry(_("Tuner"), self.nimConfig.connectedTo)) + elif self.nimConfig.configMode.value == "satposdepends": + choices = [] + 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.list.append(getConfigListEntry(_("Tuner"), self.nimConfig.connectedTo)) + elif self.nimConfig.configMode.value == "loopthrough": + choices = [] + 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.list.append(getConfigListEntry(_("Connected to"), self.nimConfig.connectedTo)) + elif self.nimConfig.configMode.value == "nothing": pass elif self.nimConfig.configMode.value == "advanced": # advanced # SATs @@ -288,8 +327,10 @@ class NimSetup(Screen, ConfigListScreen): "cancel": self.keyCancel, }, -2) + self.slotid = slotid self.nim = nimmanager.nim_slots[slotid] self.nimConfig = self.nim.config + self.createConfigMode() self.createSetup() def keyLeft(self):