fixes bug #283
[enigma2.git] / lib / python / Screens / ScanSetup.py
index aed9026844c87acbbdc53eac35f4294c5d697086..bea087244b81dcc001667d418cd25f7e7d708c2b 100644 (file)
@@ -295,9 +295,11 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport):
 
                self.list = []
                ConfigListScreen.__init__(self, self.list)
-               self.createSetup()
-
-               self["introduction"] = Label(_("Press OK to start the scan"))
+               if not self.scan_nims.value == "":
+                       self.createSetup()
+                       self["introduction"] = Label(_("Press OK to start the scan"))
+               else:
+                       self["introduction"] = Label(_("Nothing to scan!\nPlease setup your tuner settings before you start a service scan."))
 
        def runAsync(self, finished_cb):
                self.finished_cb = finished_cb
@@ -709,6 +711,8 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport):
                tlist.append(buildTerTransponder(*args, **kwargs))
 
        def keyGo(self):
+               if self.scan_nims.value == "":
+                       return
                tlist = []
                flags = None
                startScan = True
@@ -729,10 +733,11 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport):
                                assert len(self.scan_satselection) > index_to_scan
                                
                                nimsats = self.satList[index_to_scan]
-                               orbpos = self.scan_satselection[index_to_scan].getOrbitalPosition()
+                               selsatidx = self.scan_satselection[index_to_scan].index
 
                                # however, the satList itself could be empty. in that case, "index" is 0 (for "None").
                                if len(nimsats):
+                                       orbpos = nimsats[selsatidx][0]
                                        if self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S:
                                                fec = self.scan_sat.fec.value
                                        else:
@@ -750,7 +755,7 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport):
                                                                self.scan_sat.pilot.value)
                                removeAll = False
                        elif self.scan_type.value == "single_satellite":
-                               sat = self.scan_satselection[index_to_scan].getSat()
+                               sat = self.satList[index_to_scan][self.scan_satselection[index_to_scan].index]
                                getInitialTransponderList(tlist, sat[0])
                        elif self.scan_type.value.find("multisat") != -1:
                                SatList = nimmanager.getSatListForNim(index_to_scan)