X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/bfd5fa5d07a4c26aeb028a68818a9e2300c9dc6f..cd176a16cb54350617ea202de983e8d643978971:/lib/python/Screens/NetworkSetup.py diff --git a/lib/python/Screens/NetworkSetup.py b/lib/python/Screens/NetworkSetup.py index e16f26f3..c0037f81 100755 --- a/lib/python/Screens/NetworkSetup.py +++ b/lib/python/Screens/NetworkSetup.py @@ -64,6 +64,7 @@ class NetworkAdapterSelection(Screen,HelpableScreen): self["key_red"] = StaticText(_("Close")) self["key_green"] = StaticText(_("Select")) self["key_yellow"] = StaticText("") + self["key_blue"] = StaticText("") self["introduction"] = StaticText(self.edittext) self.adapters = [(iNetwork.getFriendlyAdapterName(x),x) for x in iNetwork.getAdapterList()] @@ -81,6 +82,7 @@ class NetworkAdapterSelection(Screen,HelpableScreen): { "red": (self.close, _("exit network interface list")), "green": (self.okbuttonClick, _("select interface")), + "blue": (self.openNetworkWizard, _("Use the Networkwizard to configure selected network adapter")), }) self["DefaultInterfaceAction"] = HelpableActionMap(self, "ColorActions", @@ -132,7 +134,9 @@ class NetworkAdapterSelection(Screen,HelpableScreen): else: active_int = False self.list.append(InterfaceEntryComponent(index = x[1],name = _(x[0]),default=default_int,active=active_int )) - + + if os_path.exists(resolveFilename(SCOPE_PLUGINS, "SystemPlugins/NetworkWizard/networkwizard.xml")): + self["key_blue"].setText(_("NetworkWizard")) self["list"].l.setList(self.list) def setDefaultInterface(self): @@ -202,6 +206,16 @@ class NetworkAdapterSelection(Screen,HelpableScreen): self.updateList() self.session.open(MessageBox, _("Finished configuring your network"), type = MessageBox.TYPE_INFO, timeout = 10, default = False) + def openNetworkWizard(self): + if os_path.exists(resolveFilename(SCOPE_PLUGINS, "SystemPlugins/NetworkWizard/networkwizard.xml")): + try: + from Plugins.SystemPlugins.NetworkWizard.NetworkWizard import NetworkWizard + except ImportError: + self.session.open(MessageBox, _("The NetworkWizard extension is not installed!\nPlease install it."), type = MessageBox.TYPE_INFO,timeout = 10 ) + else: + selection = self["list"].getCurrent() + if selection is not None: + self.session.openWithCallback(self.AdapterSetupClosed, NetworkWizard, selection[0]) class NameserverSetup(Screen, ConfigListScreen, HelpableScreen): @@ -551,7 +565,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 +729,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: @@ -766,7 +783,7 @@ class AdapterSetupConfiguration(Screen, HelpableScreen): self.session.openWithCallback(self.restartLan, MessageBox, (_("Are you sure you want to restart your network interfaces?\n\n") + self.oktext ) ) if self["menulist"].getCurrent()[1] == 'openwizard': from Plugins.SystemPlugins.NetworkWizard.NetworkWizard import NetworkWizard - self.session.openWithCallback(self.AdapterSetupClosed, NetworkWizard) + self.session.openWithCallback(self.AdapterSetupClosed, NetworkWizard, self.iface) if self["menulist"].getCurrent()[1][0] == 'extendedSetup': self.extended = self["menulist"].getCurrent()[1][2] self.extended(self.session, self.iface) @@ -927,7 +944,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 +956,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 +965,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 +984,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 +1410,4 @@ class NetworkAdapterTest(Screen): pass else: iStatus.stopWlanConsole() - +