allow two different behaviours when going into resume: SUSPEND_STOPS (default as...
[enigma2.git] / lib / python / Screens / NetworkSetup.py
index 580673e4320c2ff41f93ab174c9588a91c0a68c9..db6b5f9c40e6a0771a9d7769007279c0e7f85e88 100755 (executable)
@@ -28,8 +28,10 @@ class InterfaceList(MenuList):
                self.l.setItemHeight(30)
 
 def InterfaceEntryComponent(index,name,default,active ):
-       res = [ (index) ]
-       res.append(MultiContentEntryText(pos=(80, 5), size=(430, 25), font=0, text=name))
+       res = [
+               (index),
+               MultiContentEntryText(pos=(80, 5), size=(430, 25), font=0, text=name)
+       ]
        num_configured_if = len(iNetwork.getConfiguredAdapters())
        if num_configured_if >= 2:
                if default is True:
@@ -62,7 +64,7 @@ class NetworkAdapterSelection(Screen,HelpableScreen):
                
                self.adapters = [(iNetwork.getFriendlyAdapterName(x),x) for x in iNetwork.getAdapterList()]
                
-               if len(self.adapters) == 0:
+               if not self.adapters:
                        self.onFirstExecBegin.append(self.NetworkFallback)
                        
                self["OkCancelActions"] = HelpableActionMap(self, "OkCancelActions",
@@ -88,9 +90,9 @@ class NetworkAdapterSelection(Screen,HelpableScreen):
                if len(self.adapters) == 1:
                        self.onFirstExecBegin.append(self.okbuttonClick)
                self.onClose.append(self.cleanup)
-               
+
+
        def updateList(self):
-               iNetwork.getInterfaces()
                self.list = []
                default_gw = None
                num_configured_if = len(iNetwork.getConfiguredAdapters())
@@ -175,6 +177,7 @@ class NetworkAdapterSelection(Screen,HelpableScreen):
        def cleanup(self):
                iNetwork.stopLinkStateConsole()
                iNetwork.stopRestartConsole()
+               iNetwork.stopGetInterfacesConsole()
 
        def restartLan(self):
                iNetwork.restartNetwork(self.restartLanDataAvail)
@@ -220,6 +223,10 @@ class NameserverSetup(Screen, ConfigListScreen, HelpableScreen):
                        "yellow": (self.remove, _("remove a nameserver entry")),
                        })
                
+               self["actions"] = NumberActionMap(["SetupActions"],
+               {
+                       "ok": self.ok,
+               }, -2)          
                
                self.list = []
                ConfigListScreen.__init__(self, self.list)
@@ -227,17 +234,16 @@ class NameserverSetup(Screen, ConfigListScreen, HelpableScreen):
 
        def createConfig(self):
                self.nameservers = iNetwork.getNameserverList()
-               self.nameserverEntries = []
-               
-               for nameserver in self.nameservers:
-                       self.nameserverEntries.append(NoSave(ConfigIP(default=nameserver)))
+               self.nameserverEntries = [ NoSave(ConfigIP(default=nameserver)) for nameserver in self.nameservers]
 
        def createSetup(self):
                self.list = []
-               
-               for i in range(len(self.nameserverEntries)):
-                       self.list.append(getConfigListEntry(_("Nameserver %d") % (i + 1), self.nameserverEntries[i]))
-               
+
+               i = 1
+               for x in self.nameserverEntries:
+                       self.list.append(getConfigListEntry(_("Nameserver %d") % (i), x))
+                       i += 1
+
                self["config"].list = self.list
                self["config"].l.setList(self.list)
 
@@ -290,7 +296,7 @@ class AdapterSetup(Screen, ConfigListScreen, HelpableScreen):
                self.finished_cb = None
                self.oktext = _("Press OK on your remote control to continue.")
                self.oldInterfaceState = iNetwork.getAdapterAttribute(self.iface, "up")
-               
+
                self.createConfig()
 
                self["OkCancelActions"] = HelpableActionMap(self, "OkCancelActions",
@@ -422,10 +428,10 @@ class AdapterSetup(Screen, ConfigListScreen, HelpableScreen):
                                                        if a['active']:
                                                                if a['essid'] == "":
                                                                        a['essid'] = a['bssid']
-                                                               self.nwlist.append( a['essid'])
+                                                               self.nwlist.append((a['essid'],a['essid']))
                                        self.nwlist.sort(key = lambda x: x[0])
                                except:
-                                       self.nwlist.append("No Networks found")
+                                       self.nwlist.append(("No Networks found",_("No Networks found")))
 
                        self.wsconfig = self.ws.loadConfig()
                        if self.essid is not None: # ssid from wlan scan
@@ -434,10 +440,9 @@ class AdapterSetup(Screen, ConfigListScreen, HelpableScreen):
                                self.default = self.wsconfig['ssid']
                                
                        if "hidden..." not in self.nwlist:
-                               self.nwlist.append("hidden...")
+                               self.nwlist.append(("hidden...",_("hidden network")))
                        if self.default not in self.nwlist:
-                               self.nwlist.append(self.default)
-
+                               self.nwlist.append((self.default,self.default))
                        config.plugins.wlan.essid = NoSave(ConfigSelection(self.nwlist, default = self.default ))
                        config.plugins.wlan.hiddenessid = NoSave(ConfigText(default = self.wsconfig['hiddenessid'], visible_width = 50, fixed_size = False))
 
@@ -647,15 +652,10 @@ class AdapterSetup(Screen, ConfigListScreen, HelpableScreen):
 
        def cancel(self):
                if self.oldInterfaceState is False:
-                       iNetwork.deactivateInterface(self.iface,self.deactivateInterfaceCB)
+                       iNetwork.deactivateInterface(self.iface,self.cancelCB)
                else:
                        self.close('cancel')
 
-       def deactivateInterfaceCB(self,data):
-               if data is not None:
-                       if data is True:
-                               iNetwork.getInterfaces(self.cancelCB)
-       
        def cancelCB(self,data):                        
                if data is not None:
                        if data is True:
@@ -675,8 +675,7 @@ class AdapterSetup(Screen, ConfigListScreen, HelpableScreen):
                
        def cleanup(self):
                iNetwork.stopLinkStateConsole()
-               iNetwork.stopDeactivateInterfaceConsole()
-               
+       
 
 class AdapterSetupConfiguration(Screen, HelpableScreen):
        def __init__(self, session,iface):
@@ -732,7 +731,7 @@ class AdapterSetupConfiguration(Screen, HelpableScreen):
                        "right": self.right,
                }, -2)
                
-               iNetwork.getInterfaces(self.updateStatusbar)
+               self.updateStatusbar()
                self.onLayoutFinish.append(self.layoutFinished)
                self.onClose.append(self.cleanup)
 
@@ -908,11 +907,11 @@ class AdapterSetupConfiguration(Screen, HelpableScreen):
                        else:
                                self.mainmenu = self.genMainMenu()
                                self["menulist"].l.setList(self.mainmenu)
-                               iNetwork.getInterfaces(self.updateStatusbar)
+                               self.updateStatusbar()
                else:
                        self.mainmenu = self.genMainMenu()
                        self["menulist"].l.setList(self.mainmenu)
-                       iNetwork.getInterfaces(self.updateStatusbar)
+                       self.updateStatusbar()
 
        def WlanStatusClosed(self, *ret):
                if ret is not None and len(ret):
@@ -920,7 +919,7 @@ class AdapterSetupConfiguration(Screen, HelpableScreen):
                        iStatus.stopWlanConsole()
                        self.mainmenu = self.genMainMenu()
                        self["menulist"].l.setList(self.mainmenu)
-                       iNetwork.getInterfaces(self.updateStatusbar)
+                       self.updateStatusbar()
 
        def WlanScanClosed(self,*ret):
                if ret[0] is not None:
@@ -930,7 +929,7 @@ class AdapterSetupConfiguration(Screen, HelpableScreen):
                        iStatus.stopWlanConsole()
                        self.mainmenu = self.genMainMenu()
                        self["menulist"].l.setList(self.mainmenu)
-                       iNetwork.getInterfaces(self.updateStatusbar)
+                       self.updateStatusbar()
                        
        def restartLan(self, ret = False):
                if (ret == True):
@@ -947,6 +946,7 @@ class AdapterSetupConfiguration(Screen, HelpableScreen):
 
        def restartfinishedCB(self,data):
                if data is True:
+                       self.updateStatusbar()
                        self.session.open(MessageBox, _("Finished restarting your network"), type = MessageBox.TYPE_INFO, timeout = 10, default = False)
 
        def dataAvail(self,data):
@@ -955,9 +955,9 @@ class AdapterSetupConfiguration(Screen, HelpableScreen):
                pattern = re_compile("Link detected: yes")
                for item in result:
                        if re_search(pattern, item):
-                               self["statuspic"].setPixmapNum(1)
-                       else:
                                self["statuspic"].setPixmapNum(0)
+                       else:
+                               self["statuspic"].setPixmapNum(1)
                self["statuspic"].show()
 
        def showErrorMessage(self):
@@ -988,7 +988,6 @@ class NetworkAdapterTest(Screen):
                Screen.__init__(self, session)
                self.iface = iface
                self.oldInterfaceState = iNetwork.getAdapterAttribute(self.iface, "up")
-               iNetwork.getInterfaces()
                self.setLabels()
                self.onClose.append(self.cleanup)
                self.onHide.append(self.cleanup)