make menu text translatable
[enigma2.git] / lib / python / Plugins / SystemPlugins / Satfinder / plugin.py
index 73a857eca5367ce7a315de0758523a59e609bd3d..7456885533002f271c1b959fc66538a49e2d2069 100644 (file)
@@ -115,6 +115,10 @@ class Satfinder(ScanSetup):
                self["introduction"].setText("")
                self["Frontend"] = FrontendStatus(frontend_source = lambda : self.frontend, update_interval = 100)
                self.initcomplete = True
+               self.onClose.append(self.__onClose)
+
+       def __onClose(self):
+               self.session.nav.playService(self.oldref)
 
        def createSetup(self):
                self.typeOfTuningEntry = None
@@ -154,10 +158,14 @@ class Satfinder(ScanSetup):
                if satpos is not None:
                        if self.tuning_type.value == "manual_transponder":
                                returnvalue = (self.scan_sat.frequency.value, self.scan_sat.symbolrate.value, self.scan_sat.polarization.index, self.scan_sat.fec.index, self.scan_sat.inversion.index, satpos)
+                               self.tune(returnvalue)
                        elif self.tuning_type.value == "predefined_transponder":
-                               transponder = nimmanager.getTransponders(satpos)[self.tuning_transponder.index]
-                               returnvalue = (int(transponder[1] / 1000), int(transponder[2] / 1000), transponder[3], transponder[4], 2, satpos)
-                       self.tune(returnvalue)
+                               tps = nimmanager.getTransponders(satpos)
+                               l = len(tps)
+                               if l > self.tuning_transponder.index:
+                                       transponder = nimmanager.getTransponders(satpos)[self.tuning_transponder.index]
+                                       returnvalue = (int(transponder[1] / 1000), int(transponder[2] / 1000), transponder[3], transponder[4], 2, satpos)
+                                       self.tune(returnvalue)
 
        def createConfig(self, foo):
                self.tuning_transponder = None
@@ -180,6 +188,7 @@ class Satfinder(ScanSetup):
                if orb_pos is not None:
                        transponderlist = nimmanager.getTransponders(orb_pos)
                        list = []
+                       default = None
                        for x in transponderlist:
                                if x[3] == 0:
                                        pol = "H"
@@ -203,14 +212,23 @@ class Satfinder(ScanSetup):
                                        fec = "FEC_5_6"
                                elif x[4] == 5:
                                        fec = "FEC_7_8"
-                               elif x[4] == 5:
-                                       fec = "FEC_8_9"
                                elif x[4] == 6:
+                                       fec = "FEC_8_9"
+                               elif x[4] == 7:
+                                       fec = "FEC_3_5"
+                               elif x[4] == 8:
+                                       fec = "FEC_4_5"
+                               elif x[4] == 9:
+                                       fec = "FEC_9_10"
+                               elif x[4] == 15:
                                        fec = "FEC_None"
                                else:
                                        fec = "FEC_Unknown"
-                               list.append(str(x[1]) + "," + str(x[2]) + "," + pol + "," + fec)
-                       self.tuning_transponder = ConfigSelection(choices = list)
+                               e = str(x[1]) + "," + str(x[2]) + "," + pol + "," + fec
+                               if default is None:
+                                       default = e
+                               list.append(e)
+                       self.tuning_transponder = ConfigSelection(choices = list, default = default)
                        self.tuning_transponder.addNotifier(self.retune, initial_call = False)
 
        def keyGo(self):
@@ -221,7 +239,8 @@ class Satfinder(ScanSetup):
                        if self.frontend:
                                self.frontend = None
                                del self.raw_channel
-                       self.session.nav.playService(self.oldref)
+               else:
+                       self.oldref = None
                self.close(None)
 
        def keyCancel(self):
@@ -235,7 +254,7 @@ class Satfinder(ScanSetup):
                        if transponder is not None:
                                self.tuner.tune(transponder)
 
-class NimSelection(Screen):
+class SatNimSelection(Screen):
        skin = """
                <screen position="140,165" size="400,100" title="select Slot">
                        <widget name="nimlist" position="20,10" size="360,75" />
@@ -272,7 +291,7 @@ def SatfinderMain(session, **kwargs):
                        if len(nimList) == 1:
                                session.open(Satfinder, nimList[0])
                        else:
-                               session.open(NimSelection)
+                               session.open(SatNimSelection)
 
 def SatfinderStart(menuid, **kwargs):
        if menuid == "scan":