From 11743a3babfd9e108eaea357354683aa11d7575f Mon Sep 17 00:00:00 2001 From: acid-burn Date: Thu, 6 May 2010 14:24:22 +0200 Subject: [PATCH] Network.py,NetworkSetup.py,skin_default.xml: * Introduce new unified naming for network interfaces. * Redesign NetworkadapterSelection Screen. * small cleanups. Refs #137 , Fixes #418 --- data/skin_default.xml | 14 +++- data/skin_default/icons/Makefile.am | 6 ++ data/skin_default/icons/network_wired-active.png | Bin 0 -> 2771 bytes data/skin_default/icons/network_wired-inactive.png | Bin 0 -> 2745 bytes data/skin_default/icons/network_wired.png | Bin 0 -> 2477 bytes .../skin_default/icons/network_wireless-active.png | Bin 0 -> 2821 bytes .../icons/network_wireless-inactive.png | Bin 0 -> 2745 bytes data/skin_default/icons/network_wireless.png | Bin 0 -> 2539 bytes lib/python/Components/Network.py | 51 ++++++++++-- lib/python/Screens/NetworkSetup.py | 90 ++++++++++++--------- 10 files changed, 114 insertions(+), 47 deletions(-) mode change 100644 => 100755 data/skin_default/icons/Makefile.am create mode 100755 data/skin_default/icons/network_wired-active.png create mode 100755 data/skin_default/icons/network_wired-inactive.png create mode 100755 data/skin_default/icons/network_wired.png create mode 100755 data/skin_default/icons/network_wireless-active.png create mode 100755 data/skin_default/icons/network_wireless-inactive.png create mode 100755 data/skin_default/icons/network_wireless.png diff --git a/data/skin_default.xml b/data/skin_default.xml index 0114349..497d33a 100755 --- a/data/skin_default.xml +++ b/data/skin_default.xml @@ -577,7 +577,19 @@ self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y())) - + + + {"template": [ + MultiContentEntryText(pos = (85, 6), size = (440, 28), font=0, flags = RT_HALIGN_LEFT|RT_VALIGN_TOP, text = 1), # index 1 is the interfacename + MultiContentEntryText(pos = (85, 43), size = (440, 20), font=1, flags = RT_HALIGN_LEFT|RT_VALIGN_BOTTOM, text = 2), # index 2 is the description + MultiContentEntryPixmapAlphaTest(pos = (2, 8), size = (54, 54), png = 3), # index 3 is the interface pixmap + MultiContentEntryPixmapAlphaTest(pos = (63, 46), size = (15, 16), png = 4), # index 4 is the default pixmap + ], + "fonts": [gFont("Regular", 28),gFont("Regular", 20)], + "itemHeight": 70 + } + + diff --git a/data/skin_default/icons/Makefile.am b/data/skin_default/icons/Makefile.am old mode 100644 new mode 100755 index 8e2052b..088556a --- a/data/skin_default/icons/Makefile.am +++ b/data/skin_default/icons/Makefile.am @@ -34,6 +34,12 @@ dist_install_DATA = \ lock.png \ marker.png \ mp_buttons.png \ + network_wired.png \ + network_wired-active.png \ + network_wired-inactive.png \ + network_wireless.png \ + network_wireless-active.png \ + network_wireless-inactive.png \ plugin.png \ rass_logo.png \ rass_page1.png \ diff --git a/data/skin_default/icons/network_wired-active.png b/data/skin_default/icons/network_wired-active.png new file mode 100755 index 0000000000000000000000000000000000000000..d8efc9c8a62b2f290d96b6a5a415b07989a6fae9 GIT binary patch literal 2771 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 literal 0 HcmV?d00001 diff --git a/data/skin_default/icons/network_wireless-active.png b/data/skin_default/icons/network_wireless-active.png new file mode 100755 index 0000000000000000000000000000000000000000..07a218742db419e93c7e11459afed1e5d3d400b7 GIT binary patch literal 2821 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 Q`P1PBx~6w3bnK)41EwTa3;+NC literal 0 HcmV?d00001 diff --git a/data/skin_default/icons/network_wireless-inactive.png b/data/skin_default/icons/network_wireless-inactive.png new file mode 100755 index 0000000000000000000000000000000000000000..5bd69f9db176c772615834df6862f0198527b520 GIT binary patch literal 2745 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 am1sM;$rD&z?4SDgWP@tJ)N9n>5&r= 1: + self.lan_interfaces.append(iface) + return _("LAN connection") + " " + str(len(self.lan_interfaces)) + else: + if iface not in self.wlan_interfaces and len(self.wlan_interfaces) == 0: + self.wlan_interfaces.append(iface) + return _("WLAN connection") + elif iface not in self.wlan_interfaces and len(self.wlan_interfaces) >= 1: + self.wlan_interfaces.append(iface) + return _("WLAN connection") + " " + str(len(self.wlan_interfaces)) + + def getFriendlyAdapterDescription(self, iface): + if iface == 'eth0': + return _("Internal LAN adapter.") + else: + classdir = "/sys/class/net/" + iface + "/device/" + driverdir = "/sys/class/net/" + iface + "/device/driver/" + if os_path.exists(classdir): + files = listdir(classdir) + if 'driver' in files: + if os_path.realpath(driverdir).endswith('ath_pci'): + return _("Atheros")+ " " + str(os_path.basename(os_path.realpath(driverdir))) + " " + _("WLAN adapter.") + elif os_path.realpath(driverdir).endswith('zd1211b'): + return _("Zydas")+ " " + str(os_path.basename(os_path.realpath(driverdir))) + " " + _("WLAN adapter.") + elif os_path.realpath(driverdir).endswith('rt73'): + return _("Ralink")+ " " + str(os_path.basename(os_path.realpath(driverdir))) + " " + _("WLAN adapter.") + else: + return _("Unknown network adapter.") + else: + return _("Unknown network adapter.") def getAdapterName(self, iface): return iface diff --git a/lib/python/Screens/NetworkSetup.py b/lib/python/Screens/NetworkSetup.py index c0037f8..2e33ac3 100755 --- a/lib/python/Screens/NetworkSetup.py +++ b/lib/python/Screens/NetworkSetup.py @@ -7,6 +7,7 @@ from Screens.HelpMenu import HelpableScreen from Components.Network import iNetwork from Components.Sources.StaticText import StaticText from Components.Sources.Boolean import Boolean +from Components.Sources.List import List from Components.Label import Label,MultiColorLabel from Components.Pixmap import Pixmap,MultiPixmap from Components.MenuList import MenuList @@ -23,32 +24,6 @@ from os import path as os_path, system as os_system, unlink from re import compile as re_compile, search as re_search -class InterfaceList(MenuList): - def __init__(self, list, enableWrapAround=False): - MenuList.__init__(self, list, enableWrapAround, eListboxPythonMultiContent) - self.l.setFont(0, gFont("Regular", 20)) - self.l.setItemHeight(30) - -def InterfaceEntryComponent(index,name,default,active ): - 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: - png = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/buttons/button_blue.png")) - if default is False: - png = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/buttons/button_blue_off.png")) - res.append(MultiContentEntryPixmapAlphaTest(pos=(10, 5), size=(25, 25), png = png)) - if active is True: - png2 = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/icons/lock_on.png")) - if active is False: - png2 = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/icons/lock_error.png")) - res.append(MultiContentEntryPixmapAlphaTest(pos=(40, 1), size=(25, 25), png = png2)) - return res - - class NetworkAdapterSelection(Screen,HelpableScreen): def __init__(self, session): Screen.__init__(self, session) @@ -91,13 +66,49 @@ class NetworkAdapterSelection(Screen,HelpableScreen): }) self.list = [] - self["list"] = InterfaceList(self.list) + self["list"] = List(self.list) self.updateList() if len(self.adapters) == 1: self.onFirstExecBegin.append(self.okbuttonClick) self.onClose.append(self.cleanup) + def buildInterfaceList(self,iface,name,default,active ): + divpng = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/div-h.png")) + defaultpng = None + activepng = None + description = None + interfacepng = None + + if iface in iNetwork.lan_interfaces: + if active is True: + interfacepng = LoadPixmap(resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/icons/network_wired-active.png")) + elif active is False: + interfacepng = LoadPixmap(resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/icons/network_wired-inactive.png")) + else: + interfacepng = LoadPixmap(resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/icons/network_wired.png")) + elif iface in iNetwork.wlan_interfaces: + if active is True: + interfacepng = LoadPixmap(resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/icons/network_wireless-active.png")) + elif active is False: + interfacepng = LoadPixmap(resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/icons/network_wireless-inactive.png")) + else: + interfacepng = LoadPixmap(resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/icons/network_wireless.png")) + + num_configured_if = len(iNetwork.getConfiguredAdapters()) + if num_configured_if >= 2: + if default is True: + defaultpng = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/buttons/button_blue.png")) + elif default is False: + defaultpng = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/buttons/button_blue_off.png")) + if active is True: + activepng = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/icons/lock_on.png")) + elif active is False: + activepng = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/icons/lock_error.png")) + + description = iNetwork.getFriendlyAdapterDescription(iface) + + return((iface, name, description, interfacepng, defaultpng, activepng, divpng)) def updateList(self): self.list = [] @@ -122,7 +133,7 @@ class NetworkAdapterSelection(Screen,HelpableScreen): default_gw = result if len(self.adapters) == 0: # no interface available => display only eth0 - self.list.append(InterfaceEntryComponent("eth0",iNetwork.getFriendlyAdapterName('eth0'),True,True )) + self.list.append(self.buildInterfaceList("eth0",iNetwork.getFriendlyAdapterName('eth0'),True,True )) else: for x in self.adapters: if x[1] == default_gw: @@ -133,11 +144,11 @@ class NetworkAdapterSelection(Screen,HelpableScreen): active_int = True else: active_int = False - self.list.append(InterfaceEntryComponent(index = x[1],name = _(x[0]),default=default_int,active=active_int )) + self.list.append(self.buildInterfaceList(x[1],_(x[0]),default_int,active_int )) if os_path.exists(resolveFilename(SCOPE_PLUGINS, "SystemPlugins/NetworkWizard/networkwizard.xml")): self["key_blue"].setText(_("NetworkWizard")) - self["list"].l.setList(self.list) + self["list"].setList(self.list) def setDefaultInterface(self): selection = self["list"].getCurrent() @@ -253,7 +264,7 @@ class NameserverSetup(Screen, ConfigListScreen, HelpableScreen): self.list = [] ConfigListScreen.__init__(self, self.list) self.createSetup() - + def createConfig(self): self.nameservers = iNetwork.getNameserverList() self.nameserverEntries = [ NoSave(ConfigIP(default=nameserver)) for nameserver in self.nameservers] @@ -412,7 +423,7 @@ class AdapterSetup(Screen, ConfigListScreen, HelpableScreen): self.wsconfig = None self.default = None - if self.iface == "wlan0" or self.iface == "ath0" : + if self.iface in iNetwork.wlan_interfaces: from Plugins.SystemPlugins.WirelessLan.Wlan import wpaSupplicant,Wlan self.w = Wlan(self.iface) self.ws = wpaSupplicant() @@ -535,7 +546,7 @@ class AdapterSetup(Screen, ConfigListScreen, HelpableScreen): self.createSetup() if self["config"].getCurrent() == self.gatewayEntry: self.createSetup() - if self.iface == "wlan0" or self.iface == "ath0" : + if self.iface in iNetwork.wlan_interfaces: if self["config"].getCurrent() == self.wlanSSID: self.createSetup() if self["config"].getCurrent() == self.encryptionEnabled: @@ -731,7 +742,7 @@ class AdapterSetupConfiguration(Screen, HelpableScreen): def ok(self): self.cleanup() if self["menulist"].getCurrent()[1] == 'edit': - if self.iface == 'wlan0' or self.iface == 'ath0': + if self.iface in iNetwork.wlan_interfaces: try: from Plugins.SystemPlugins.WirelessLan.plugin import WlanScan from Plugins.SystemPlugins.WirelessLan.iwlibs import Wireless @@ -817,7 +828,7 @@ class AdapterSetupConfiguration(Screen, HelpableScreen): if self["menulist"].getCurrent()[1] == 'dns': self["description"].setText(_("Edit the Nameserver configuration of your Dreambox.\n" ) + self.oktext ) if self["menulist"].getCurrent()[1] == 'scanwlan': - self["description"].setText(_("Scan your network for wireless Access Points and connect to them using your selected wireless device.\n" ) + self.oktext ) + self["description"].setText(_("Scan your network for wireless access points and connect to them using your selected wireless device.\n" ) + self.oktext ) if self["menulist"].getCurrent()[1] == 'wlanstatus': self["description"].setText(_("Shows the state of your wireless LAN connection.\n" ) + self.oktext ) if self["menulist"].getCurrent()[1] == 'lanrestart': @@ -834,7 +845,7 @@ class AdapterSetupConfiguration(Screen, HelpableScreen): self["IF"].setText(iNetwork.getFriendlyAdapterName(self.iface)) self["Statustext"].setText(_("Link:")) - if self.iface == 'wlan0' or self.iface == 'ath0': + if self.iface in iNetwork.wlan_interfaces: try: from Plugins.SystemPlugins.WirelessLan.Wlan import iStatus except: @@ -884,7 +895,7 @@ class AdapterSetupConfiguration(Screen, HelpableScreen): def AdapterSetupClosed(self, *ret): if ret is not None and len(ret): - if ret[0] == 'ok' and (self.iface == 'wlan0' or self.iface == 'ath0') and iNetwork.getAdapterAttribute(self.iface, "up") is True: + if ret[0] == 'ok' and (self.iface in iNetwork.wlan_interfaces) and iNetwork.getAdapterAttribute(self.iface, "up") is True: try: from Plugins.SystemPlugins.WirelessLan.plugin import WlanStatus from Plugins.SystemPlugins.WirelessLan.iwlibs import Wireless @@ -1263,6 +1274,7 @@ class NetworkAdapterTest(Screen): self.nextStepTimer.stop() def layoutFinished(self): + self.setTitle(_("Network test: ") + iNetwork.getFriendlyAdapterName(self.iface) ) self["shortcutsyellow"].setEnabled(False) self["AdapterInfo_OK"].hide() self["NetworkInfo_Check"].hide() @@ -1282,7 +1294,7 @@ class NetworkAdapterTest(Screen): self["AdapterInfo_Text"] = MultiColorLabel(_("Show Info")) self["AdapterInfo_OK"] = Pixmap() - if self.iface == 'wlan0' or self.iface == 'ath0': + if self.iface in iNetwork.wlan_interfaces: self["Networktext"] = MultiColorLabel(_("Wireless Network")) else: self["Networktext"] = MultiColorLabel(_("Local Network")) @@ -1321,7 +1333,7 @@ class NetworkAdapterTest(Screen): self["InfoText"] = Label() def getLinkState(self,iface): - if iface == 'wlan0' or iface == 'ath0': + if iface in iNetwork.wlan_interfaces: try: from Plugins.SystemPlugins.WirelessLan.Wlan import iStatus,Status except: -- 2.7.4