Merge commit 'origin/bug_202_networkconfig_cleanup' into experimental
[vuplus_dvbapp] / lib / python / Screens / NetworkSetup.py
index e16f26f..3e9354e 100755 (executable)
@@ -551,7 +551,10 @@ class AdapterSetup(Screen, ConfigListScreen, HelpableScreen):
                if (ret == True):               
                        num_configured_if = len(iNetwork.getConfiguredAdapters())
                        if num_configured_if >= 1:
-                               self.session.openWithCallback(self.secondIfaceFoundCB, MessageBox, _("A second configured interface has been found.\n\nDo you want to disable the second network interface?"), default = True)
+                               if num_configured_if == 1 and self.iface in iNetwork.getConfiguredAdapters():
+                                       self.applyConfig(True)
+                               else:
+                                       self.session.openWithCallback(self.secondIfaceFoundCB, MessageBox, _("A second configured interface has been found.\n\nDo you want to disable the second network interface?"), default = True)
                        else:
                                self.applyConfig(True)
                else:
@@ -712,7 +715,7 @@ class AdapterSetupConfiguration(Screen, HelpableScreen):
                self.onClose.append(self.cleanup)
 
        def ok(self):
-               self.stopCheckNetworkConsole()
+               self.cleanup()
                if self["menulist"].getCurrent()[1] == 'edit':
                        if self.iface == 'wlan0' or self.iface == 'ath0':
                                try:
@@ -927,7 +930,11 @@ class AdapterSetupConfiguration(Screen, HelpableScreen):
                                        self.LinkState = True
                                else:
                                        self.LinkState = False
-               iNetwork.checkNetworkState(self.checkNetworkCB)
+               if self.LinkState == True:
+                       iNetwork.checkNetworkState(self.checkNetworkCB)
+               else:
+                       self["statuspic"].setPixmapNum(1)
+                       self["statuspic"].show()                        
 
        def showErrorMessage(self):
                self.session.open(MessageBox, self.errortext, type = MessageBox.TYPE_INFO,timeout = 10 )
@@ -935,7 +942,7 @@ class AdapterSetupConfiguration(Screen, HelpableScreen):
        def cleanup(self):
                iNetwork.stopLinkStateConsole()
                iNetwork.stopDeactivateInterfaceConsole()
-               self.stopCheckNetworkConsole()
+               iNetwork.stopPingConsole()
                try:
                        from Plugins.SystemPlugins.WirelessLan.Wlan import iStatus
                except ImportError:
@@ -944,14 +951,17 @@ class AdapterSetupConfiguration(Screen, HelpableScreen):
                        iStatus.stopWlanConsole()
 
        def getInfoCB(self,data,status):
+               self.LinkState = None
                if data is not None:
                        if data is True:
                                if status is not None:
                                        if status[self.iface]["acesspoint"] == "No Connection" or status[self.iface]["acesspoint"] == "Not-Associated" or status[self.iface]["acesspoint"] == False:
+                                               self.LinkState = False
                                                self["statuspic"].setPixmapNum(1)
+                                               self["statuspic"].show()
                                        else:
-                                               self["statuspic"].setPixmapNum(0)
-                                       self["statuspic"].show()
+                                               self.LinkState = True
+                                               iNetwork.checkNetworkState(self.checkNetworkCB)
 
        def checkNetworkCB(self,data):
                if iNetwork.getAdapterAttribute(self.iface, "up") is True:
@@ -960,17 +970,14 @@ class AdapterSetupConfiguration(Screen, HelpableScreen):
                                        self["statuspic"].setPixmapNum(0)
                                else:
                                        self["statuspic"].setPixmapNum(1)
+                               self["statuspic"].show()        
                        else:
                                self["statuspic"].setPixmapNum(1)
+                               self["statuspic"].show()
                else:
                        self["statuspic"].setPixmapNum(1)
-               self["statuspic"].show()
+                       self["statuspic"].show()
 
-       def stopCheckNetworkConsole(self):
-               if iNetwork.PingConsole is not None:
-                       if len(iNetwork.PingConsole.appContainers):
-                               for name in iNetwork.PingConsole.appContainers.keys():
-                                       iNetwork.PingConsole.kill(name)
 
 class NetworkAdapterTest(Screen):      
        def __init__(self, session,iface):
@@ -1389,4 +1396,4 @@ class NetworkAdapterTest(Screen):
                        pass
                else:
                        iStatus.stopWlanConsole()
-                       
+