From 68c21083593b5b05681efaffbe6ec50aba385ddc Mon Sep 17 00:00:00 2001 From: Stefan Pluecken Date: Fri, 30 Dec 2005 14:09:37 +0000 Subject: [PATCH 1/1] some changes to the configSelection stuff --- lib/python/Components/NimManager.py | 26 +++++++++++++++----------- lib/python/Components/config.py | 16 ++++++++++++---- lib/python/Screens/Satconfig.py | 15 ++++++++------- 3 files changed, 35 insertions(+), 22 deletions(-) diff --git a/lib/python/Components/NimManager.py b/lib/python/Components/NimManager.py index 3e9b0427..bf4bdc93 100644 --- a/lib/python/Components/NimManager.py +++ b/lib/python/Components/NimManager.py @@ -4,6 +4,8 @@ from config import configElement from config import ConfigSubsection from config import ConfigSlider from config import configSelection +from config import currentConfigSelectionElement +from config import getConfigSelectionElement from config import configSequence from config import configsequencearg from config import configSatlist @@ -83,26 +85,28 @@ class SecConfigure: nim = config.Nims[x] if slot.nimType == self.NimManager.nimType["DVB-S"]: print "slot: " + str(x) + " configmode: " + str(nim.configMode.value) - if nim.configMode.value == 2: + if currentConfigSelectionElement(nim.configMode) == "loopthrough": self.linkNIMs(x, nim.linkedTo.value) nim = config.Nims[nim.linkedTo.value] - if nim.configMode.value == 0: #simple config - if nim.diseqcMode.value == 0: #single + elif currentConfigSelectionElement(nim.configMode) == "simple": #simple config + if currentConfigSelectionElement(nim.diseqcMode) == "single": #single self.addLNBSimple(slotid = x, orbpos = int(nim.diseqcA.vals[nim.diseqcA.value][1]), toneburstmode = 0, diseqcmode = 0, diseqcpos = 4) - elif nim.diseqcMode.value == 1: #Toneburst A/B + elif currentConfigSelectionElement(nim.diseqcMode) == "toneburst_a_b": #Toneburst A/B self.addLNBSimple(slotid = x, orbpos = int(nim.diseqcA.vals[nim.diseqcA.value][1]), toneburstmode = 1, diseqcmode = 0, diseqcpos = 4) self.addLNBSimple(slotid = x, orbpos = int(nim.diseqcB.vals[nim.diseqcB.value][1]), toneburstmode = 1, diseqcmode = 0, diseqcpos = 4) - elif nim.diseqcMode.value == 2: #DiSEqC A/B + elif currentConfigSelectionElement(nim.diseqcMode) == "diseqc_a_b": #DiSEqC A/B self.addLNBSimple(slotid = x, orbpos = int(nim.diseqcA.vals[nim.diseqcA.value][1]), toneburstmode = 0, diseqcmode = 1, diseqcpos = 0) self.addLNBSimple(slotid = x, orbpos = int(nim.diseqcB.vals[nim.diseqcB.value][1]), toneburstmode = 0, diseqcmode = 1, diseqcpos = 1) - elif nim.diseqcMode.value == 3: #DiSEqC A/B/C/D + elif currentConfigSelectionElement(nim.diseqcMode) == "diseqc_a_b_c_d": #DiSEqC A/B/C/D self.addLNBSimple(slotid = x, orbpos = int(nim.diseqcA.vals[nim.diseqcA.value][1]), toneburstmode = 0, diseqcmode = 1, diseqcpos = 0) self.addLNBSimple(slotid = x, orbpos = int(nim.diseqcB.vals[nim.diseqcB.value][1]), toneburstmode = 0, diseqcmode = 1, diseqcpos = 1) self.addLNBSimple(slotid = x, orbpos = int(nim.diseqcC.vals[nim.diseqcC.value][1]), toneburstmode = 0, diseqcmode = 1, diseqcpos = 2) self.addLNBSimple(slotid = x, orbpos = int(nim.diseqcD.vals[nim.diseqcD.value][1]), toneburstmode = 0, diseqcmode = 1, diseqcpos = 3) - elif nim.diseqcMode.value == 4: #Positioner + elif currentConfigSelectionElement(nim.diseqcMode) == "positioner": #Positioner self.addLNBSimple(slotid = x, diseqcmode = 3, longitude = float(str(nim.longitude.value[0]) + "." + str(nim.longitude.value[1])), loDirection = nim.longitudeOrientation.value - 2, latitude = float(str(nim.latitude.value[0]) + "." + str(nim.latitude.value[1])), laDirection = nim.latitudeOrientation.value) pass + elif currentConfigSelectionElement(nim.configMode) == "nothing": + pass else: #advanced config print "FIXME add support for advanced config" @@ -408,19 +412,19 @@ def InitNimManager(nimmgr): nim = config.Nims[x] if slot.nimType == nimmgr.nimType["DVB-S"]: - nim.configMode = configElement(cname + "configMode", configSelection, 0, (("simple", _("Simple")), ("nothing", _("Nothing connected")), ("loopthrough", _("Loopthrough to Socket A")))) # "Advanced")); + nim.configMode = configElement(cname + "configMode", configSelection, 0, (("simple", _("Simple")), ("nothing", _("Nothing connected")), ("loopthrough", _("Loopthrough to Socket A")), ("advanced", _("Advanced")))) # "Advanced")); #important - check if just the 2nd one is LT only and the first one is DVB-S - if nim.configMode.value == 2: #linked + if currentConfigSelectionElement(nim.configMode) == "loopthrough": #linked if x == 0: #first one can never be linked to anything - nim.configMode.value = 0 #reset to simple + nim.configMode.value = getConfigSelectionElement(nim.configMode, "simple") #reset to simple nim.configMode.save() else: #FIXME: make it better for y in nimmgr.nimslots: if y.slotid == 0: if y.nimType != nimmgr.nimType["DVB-S"]: - nim.configMode.value = 0 #reset to simple + nim.configMode.value = getConfigSelectionElement(nim.configMode, "simple") #reset to simple nim.configMode.save() nim.diseqcMode = configElement(cname + "diseqcMode", configSelection, 2, (("single", _("Single")), ("toneburst_a_b", _("Toneburst A/B")), ("diseqc_a_b", _("DiSEqC A/B")), ("diseqc_a_b_c_d", _("DiSEqC A/B/C/D")), ("positioner", _("Positioner")))); diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py index 2b51d169..25684fc1 100644 --- a/lib/python/Components/config.py +++ b/lib/python/Components/config.py @@ -48,7 +48,18 @@ class configFile: fileHandle.write(wstr) - fileHandle.close() + fileHandle.close() + +def currentConfigSelectionElement(element): + return element.vals[element.value][0] + +def getConfigSelectionElement(element, value): + count = 0 + for x in element.vals: + if x[0] == value: + return count + count += 1 + return -1 class configSelection: def __init__(self, parent): @@ -82,9 +93,6 @@ class configSelection: returnValue = _(self.parent.vals[self.parent.value]) else: returnValue = _(self.parent.vals[self.parent.value][1]) - - - print self.parent.vals[self.parent.value] return ("text", returnValue) diff --git a/lib/python/Screens/Satconfig.py b/lib/python/Screens/Satconfig.py index 6c5608b5..f7550444 100644 --- a/lib/python/Screens/Satconfig.py +++ b/lib/python/Screens/Satconfig.py @@ -22,22 +22,23 @@ class NimSetup(Screen): def createPositionerSetup(self, nim, list): list.append(getConfigListEntry(_("Positioner mode"), config.Nims[nim.slotid].positionerMode)) - if (config.Nims[nim.slotid].positionerMode.value == 0): # USALS + if (currentConfigSelectionElement(config.Nims[nim.slotid].positionerMode) == "usals"): # USALS list.append(getConfigListEntry(_("Longitude"), config.Nims[nim.slotid].longitude)) list.append(getConfigListEntry("", config.Nims[nim.slotid].longitudeOrientation)) list.append(getConfigListEntry(_("Latitude"), config.Nims[nim.slotid].latitude)) list.append(getConfigListEntry("", config.Nims[nim.slotid].latitudeOrientation)) - elif (config.Nims[nim.slotid].positionerMode.value == 1): # manual + elif (currentConfigSelectionElement(config.Nims[nim.slotid].positionerMode) == "manual"): # manual pass def createSetup(self): self.list = [ ] + self.diseqcModeEntry = None if (nimmanager.getNimType(self.nim.slotid) == nimmanager.nimType["DVB-S"]): self.configMode = getConfigListEntry(_("Configuration Mode"), config.Nims[self.nim.slotid].configMode) self.list.append(self.configMode) - if config.Nims[self.nim.slotid].configMode.value == 0: #simple setup + if currentConfigSelectionElement(config.Nims[self.nim.slotid].configMode) == "simple": #simple setup self.diseqcModeEntry = getConfigListEntry(_("DiSEqC Mode"), config.Nims[self.nim.slotid].diseqcMode) self.list.append(self.diseqcModeEntry) @@ -45,10 +46,10 @@ class NimSetup(Screen): self.createSimpleSetup(self.nim, self.list, config.Nims[self.nim.slotid].diseqcMode.value) if (config.Nims[self.nim.slotid].diseqcMode.value == 4): self.createPositionerSetup(self.nim, self.list) - elif config.Nims[self.nim.slotid].configMode.value == 1: # nothing + elif currentConfigSelectionElement(config.Nims[self.nim.slotid].configMode) == "nothing": # nothing #self.list.append(getConfigListEntry(_("Linked to"), config.Nims[self.nim.slotid].linkedTo)) pass - elif config.Nims[self.nim.slotid].configMode.value == 2: # linked + elif currentConfigSelectionElement(config.Nims[self.nim.slotid].configMode) == "loopthrough": # linked pass elif (nimmanager.getNimType(self.nim.slotid) == nimmanager.nimType["DVB-C"]): @@ -61,10 +62,10 @@ class NimSetup(Screen): self["config"].l.setList(self.list) def newConfig(self): - if self["config"].getCurrent() == self.diseqcModeEntry: - self.createSetup() if self["config"].getCurrent() == self.configMode: self.createSetup() + if self["config"].getCurrent() == self.diseqcModeEntry: + self.createSetup() def keyLeft(self): if self["config"].getCurrent() == self.configMode: -- 2.30.2