aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>2009-09-08 11:19:12 +0200
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>2009-09-08 11:19:12 +0200
commitcfeea5d7bda036654206eefdb2ae96b03bd31969 (patch)
tree37486152748c40eae0d075e177f3604e27ed9093
parent6d424e7cd304f215e1e40a135033321509db09ec (diff)
downloadenigma2-cfeea5d7bda036654206eefdb2ae96b03bd31969.tar.gz
enigma2-cfeea5d7bda036654206eefdb2ae96b03bd31969.zip
don't offer scanning on nims where nothing is connected
-rw-r--r--data/startwizard.xml15
-rw-r--r--lib/python/Components/NimManager.py16
-rw-r--r--lib/python/Screens/ScanSetup.py4
3 files changed, 30 insertions, 5 deletions
diff --git a/data/startwizard.xml b/data/startwizard.xml
index c004a5e6..70a6e0dc 100644
--- a/data/startwizard.xml
+++ b/data/startwizard.xml
@@ -73,7 +73,8 @@ self.selectKey("RIGHT")
<step id="satlistsquestion">
<text value="Do you want to install default sat lists?" />
<condition>
-self.condition = config.misc.startwizard.doservicescan.value
+from Components.NimManager import nimmanager
+self.condition = config.misc.startwizard.doservicescan.value and nimmanager.somethingConnected()
</condition>
<code>
self.hideRc()
@@ -87,7 +88,8 @@ self.hideRc()
<step id="scanquestion">
<text value="Do you want to do a service scan?" />
<condition>
-self.condition = config.misc.startwizard.doservicescan.value
+from Components.NimManager import nimmanager
+self.condition = config.misc.startwizard.doservicescan.value and nimmanager.somethingConnected()
</condition>
<code>
self.hideRc()
@@ -100,21 +102,24 @@ self.hideRc()
</step>
<step id="scan" nextstep="finisheddefaultsatlists">
<condition>
-self.condition = config.misc.startwizard.doservicescan.value
+from Components.NimManager import nimmanager
+self.condition = config.misc.startwizard.doservicescan.value and nimmanager.somethingConnected()
</condition>
<text value="What do you want to scan?" />
<config screen="ScanSimple" module="ScanSetup" type="ConfigList" />
</step>
<step id="manualscan">
<condition>
-self.condition = config.misc.startwizard.doservicescan.value
+from Components.NimManager import nimmanager
+self.condition = config.misc.startwizard.doservicescan.value and nimmanager.somethingConnected()
</condition>
<text value="What do you want to scan?" />
<config screen="ScanSetup" module="ScanSetup" type="ConfigList" />
</step>
<step id="nextscan">
<condition>
-self.condition = config.misc.startwizard.doservicescan.value
+from Components.NimManager import nimmanager
+self.condition = config.misc.startwizard.doservicescan.value and nimmanager.somethingConnected()
</condition>
<text value="Do you want to do another manual service scan?" />
<list>
diff --git a/lib/python/Components/NimManager.py b/lib/python/Components/NimManager.py
index c278213c..70cde47c 100644
--- a/lib/python/Components/NimManager.py
+++ b/lib/python/Components/NimManager.py
@@ -759,6 +759,22 @@ class NimManager:
def getSatList(self):
return self.satList
+
+ # returns True if something is configured to be connected to this nim
+ # if slotid == -1, returns if something is connected to ANY nim
+ def somethingConnected(self, slotid = -1):
+ if (slotid == -1):
+ connected = False
+ for id in range(self.getSlotCount()):
+ if self.somethingConnected(id):
+ connected = True
+ return connected
+ else:
+ nim = config.Nims[slotid]
+ configMode = nim.configMode.value
+
+ if self.nim_slots[slotid].isCompatible("DVB-S") or self.nim_slots[slotid].isCompatible("DVB-T") or self.nim_slots[slotid].isCompatible("DVB-C"):
+ return not (configMode == "nothing")
def getSatListForNim(self, slotid):
list = []
diff --git a/lib/python/Screens/ScanSetup.py b/lib/python/Screens/ScanSetup.py
index 2e48a969..d0af8f7e 100644
--- a/lib/python/Screens/ScanSetup.py
+++ b/lib/python/Screens/ScanSetup.py
@@ -883,6 +883,10 @@ class ScanSimple(ConfigListScreen, Screen, CableTransponderSearchSupport):
need_scan = True
print x, "not in ", known_networks
known_networks.append(x)
+
+ # don't offer to scan nims if nothing is connected
+ if not nimmanager.somethingConnected(nim.slot):
+ need_scan = False
if need_scan:
nims_to_scan.append(nim)