fix possible deathscreen on sat change (with predefind transponders)
[enigma2.git] / lib / python / Plugins / SystemPlugins / Satfinder / plugin.py
index c3e270b171fd589f3c26e8ba781b870f1ce331a1..3ba621d7889f13a6cc76fd9d02926fdd44dc0637 100644 (file)
@@ -69,11 +69,11 @@ class Satfinder(ScanSetup):
                        <widget source="Frontend" render="Progress" position="85,307" size="200,22" >
                                <convert type="FrontendInfo">BER</convert>
                        </widget>
-                       <widget source="Frontend" render="Pixmap" pixmap="key_green-fs8.png" position="295,330" zPosition="4" size="28,20" alphatest="on" >
+                       <widget source="Frontend" render="Pixmap" pixmap="skin_default/buttons/key_green.png" position="295,330" zPosition="4" size="28,20" alphatest="on" >
                                <convert type="FrontendInfo">LOCK</convert>
                        <convert type="ConditionalShowHide" />
                        </widget>
-                       <widget source="Frontend" render="Pixmap" pixmap="key_red-fs8.png" position="295,330" zPosition="4" size="28,20" alphatest="on" >
+                       <widget source="Frontend" render="Pixmap" pixmap="skin_default/buttons/key_red.png" position="295,330" zPosition="4" size="28,20" alphatest="on" >
                                <convert type="FrontendInfo">LOCK</convert>
                        <convert type="ConditionalShowHide">Invert</convert>
                        </widget>
@@ -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
@@ -180,6 +184,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 +208,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 +235,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):