NimManager.py: fix service searching with simple config
[enigma2.git] / lib / python / Screens / Satconfig.py
index b3e5401861b05897643aa0a3e6380fe963a4c664..6489f28fe2ba5125a0bbd522ee34d726e42fb001 100644 (file)
@@ -14,16 +14,21 @@ from datetime import datetime
 
 class NimSetup(Screen, ConfigListScreen):
        def createSimpleSetup(self, list, mode):
+               nim = self.nimConfig
                if mode == "single":
-                       list.append(getConfigListEntry(_("Satellite"), self.nimConfig.diseqcA))
+                       list.append(getConfigListEntry(_("Satellite"), nim.diseqcA))
+                       list.append(getConfigListEntry(_("Send DiSEqC"), nim.simpleSingleSendDiSEqC))
                else:
-                       list.append(getConfigListEntry(_("Port A"), self.nimConfig.diseqcA))
+                       list.append(getConfigListEntry(_("Port A"), nim.diseqcA))
 
                if mode in ["toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"]:
-                       list.append(getConfigListEntry(_("Port B"), self.nimConfig.diseqcB))
+                       list.append(getConfigListEntry(_("Port B"), nim.diseqcB))
                        if mode == "diseqc_a_b_c_d":
-                               list.append(getConfigListEntry(_("Port C"), self.nimConfig.diseqcC))
-                               list.append(getConfigListEntry(_("Port D"), self.nimConfig.diseqcD))
+                               list.append(getConfigListEntry(_("Port C"), nim.diseqcC))
+                               list.append(getConfigListEntry(_("Port D"), nim.diseqcD))
+                       if mode != "toneburst_a_b":
+                               list.append(getConfigListEntry(_("Set Voltage and 22KHz"), nim.simpleDiSEqCSetVoltageTone))
+                               list.append(getConfigListEntry(_("Send DiSEqC only on satellite change"), nim.simpleDiSEqCOnlyOnSatChange))
 
        def createPositionerSetup(self, list):
                nim = self.nimConfig
@@ -62,8 +67,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.setChoices(choices)
-                                                       
+                       self.nimConfig.configMode.setChoices(choices, default = "nothing")
+
        def createSetup(self):
                print "Creating setup"
                self.list = [ ]
@@ -88,7 +93,7 @@ class NimSetup(Screen, ConfigListScreen):
                        self.list.append(self.configMode)
 
                        if self.nimConfig.configMode.value == "simple":                 #simple setup
-                               self.diseqcModeEntry = getConfigListEntry(_("DiSEqC Mode"), self.nimConfig.diseqcMode)
+                               self.diseqcModeEntry = getConfigListEntry(_("Mode"), self.nimConfig.diseqcMode)
                                self.list.append(self.diseqcModeEntry)
                                if self.nimConfig.diseqcMode.value in ["single", "toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"]:
                                        self.createSimpleSetup(self.list, self.nimConfig.diseqcMode.value)
@@ -205,7 +210,8 @@ class NimSetup(Screen, ConfigListScreen):
                self.saveAll()
 
        def fillListWithAdvancedSatEntrys(self, Sat):
-               currLnb = self.nimConfig.advanced.lnb[int(Sat.lnb.value)]
+               lnbnum = int(Sat.lnb.value)
+               currLnb = self.nimConfig.advanced.lnb[lnbnum]
                
                if isinstance(currLnb, ConfigNothing):
                        currLnb = None
@@ -213,17 +219,19 @@ class NimSetup(Screen, ConfigListScreen):
                self.list.append(getConfigListEntry(_("Voltage mode"), Sat.voltage))
                self.list.append(getConfigListEntry(_("Tone mode"), Sat.tonemode))
                if currLnb and currLnb.diseqcMode.value == "1_2":
-                       self.advancedUsalsEntry = getConfigListEntry(_("Use usals for this sat"), Sat.usals)
-                       self.list.append(self.advancedUsalsEntry)
-                       if not Sat.usals.value:
-                               self.list.append(getConfigListEntry(_("Stored position"), Sat.rotorposition))
+                       if lnbnum < 33:
+                               self.advancedUsalsEntry = getConfigListEntry(_("Use usals for this sat"), Sat.usals)
+                               self.list.append(self.advancedUsalsEntry)
+                               if not Sat.usals.value:
+                                       self.list.append(getConfigListEntry(_("Stored position"), Sat.rotorposition))
 
                # LNBs
                self.advancedLnbsEntry = getConfigListEntry(_("LNB"), Sat.lnb)
                self.list.append(self.advancedLnbsEntry)
                if currLnb:
-                       self.advancedDiseqcMode = getConfigListEntry(_("DiSEqC mode"), currLnb.diseqcMode)
-                       self.list.append(self.advancedDiseqcMode)
+                       if lnbnum < 33:
+                               self.advancedDiseqcMode = getConfigListEntry(_("DiSEqC mode"), currLnb.diseqcMode)
+                               self.list.append(self.advancedDiseqcMode)
                        if currLnb.diseqcMode.value != "none":
                                self.list.append(getConfigListEntry(_("Toneburst"), currLnb.toneburst))
                                self.list.append(getConfigListEntry(_("Committed DiSEqC command"), currLnb.commitedDiseqcCommand))
@@ -282,8 +290,8 @@ class NimSetup(Screen, ConfigListScreen):
                self.list.append(self.configMode)
                self.advancedSatsEntry = getConfigListEntry(_("Satellite"), self.nimConfig.advanced.sats)
                self.list.append(self.advancedSatsEntry)
-               for x in nimmanager.satList:
-                       Sat = self.nimConfig.advanced.sat[x[0]]
+               for x in self.nimConfig.advanced.sat.keys():
+                       Sat = self.nimConfig.advanced.sat[x]
                        self.fillListWithAdvancedSatEntrys(Sat)
                self["config"].list = self.list
 
@@ -404,12 +412,17 @@ class NimSelection(Screen):
                                        text = _("nothing connected")
                                elif nimConfig.configMode.value == "simple":
                                        if nimConfig.diseqcMode.value in ["single", "toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"]:
-                                               text = _("Sats") + ": " + nimmanager.getSatName(int(nimConfig.diseqcA.value))
+                                               text = _("Sats") + ": " 
+                                               if nimConfig.diseqcA.orbital_position != 3601:
+                                                       text += nimmanager.getSatName(int(nimConfig.diseqcA.value))
                                                if nimConfig.diseqcMode.value in ["toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"]:
-                                                       text += "," + nimmanager.getSatName(int(nimConfig.diseqcB.value))
+                                                       if nimConfig.diseqcB.orbital_position != 3601:
+                                                               text += "," + nimmanager.getSatName(int(nimConfig.diseqcB.value))
                                                if nimConfig.diseqcMode.value == "diseqc_a_b_c_d":
-                                                       text += "," + nimmanager.getSatName(int(nimConfig.diseqcC.value))
-                                                       text += "," + nimmanager.getSatName(int(nimConfig.diseqcD.value))
+                                                       if nimConfig.diseqcC.orbital_position != 3601:
+                                                               text += "," + nimmanager.getSatName(int(nimConfig.diseqcC.value))
+                                                       if nimConfig.diseqcD.orbital_position != 3601:
+                                                               text += "," + nimmanager.getSatName(int(nimConfig.diseqcD.value))
                                        elif nimConfig.diseqcMode.value == "positioner":
                                                text = _("Positioner") + ":"
                                                if nimConfig.positionerMode.value == "usals":