X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FNetworkSetup.py;h=cf03f1179e2e38d7d05ed5aaf8baf9d98fc7a1cb;hp=77c102f7827e9267da06ded38eeba3b77e58acde;hb=015ca89d848532627b188ae7dcb1254d8d9cb584;hpb=4d5ec01b38ac666edeb1c7f96175418a5b35f3d2 diff --git a/lib/python/Screens/NetworkSetup.py b/lib/python/Screens/NetworkSetup.py index 77c102f..cf03f11 100644 --- a/lib/python/Screens/NetworkSetup.py +++ b/lib/python/Screens/NetworkSetup.py @@ -9,32 +9,30 @@ from Components.config import config, ConfigYesNo, ConfigIP, NoSave, ConfigNothi from Components.PluginComponent import plugins from Plugins.Plugin import PluginDescriptor - class NetworkAdapterSelection(Screen): def __init__(self, session): Screen.__init__(self, session) - self["adapterlist"] = MenuList([(self.getFriendlyName(x),x) for x in iNetwork.getAdapterList()]) + self.adapters = [(iNetwork.getFriendlyAdapterName(x),x) for x in iNetwork.getAdapterList()] + self["adapterlist"] = MenuList(self.adapters) self["actions"] = ActionMap(["OkCancelActions"], { - "ok": self.okbuttonClick , + "ok": self.okbuttonClick, "cancel": self.close }) - def getFriendlyName(self, x): - # maybe this needs to be replaced by an external list. - friendlyNames = { - "eth0": _("Integrated Ethernet"), - "wlan0": _("Wireless") - } - - return friendlyNames.get(x, x) # when we have no friendly name, use adapter name + if len(self.adapters) == 1: + self.onFirstExecBegin.append(self.okbuttonClick) def okbuttonClick(self): selection = self["adapterlist"].getCurrent() if selection is not None: - self.session.open(AdapterSetup, selection[1]) + self.session.openWithCallback(self.AdapterSetupClosed, AdapterSetup, selection[1]) + + def AdapterSetupClosed(self, *ret): + if len(self.adapters) == 1: # just one network adapter.. close selection + self.close() class NameserverSetup(Screen, ConfigListScreen): def __init__(self, session): @@ -104,7 +102,6 @@ class NameserverSetup(Screen, ConfigListScreen): self.createConfig() self.createSetup() - class AdapterSetup(Screen, ConfigListScreen): def __init__(self, session, iface): Screen.__init__(self, session) @@ -112,13 +109,13 @@ class AdapterSetup(Screen, ConfigListScreen): self.iface = iface print iNetwork.getAdapterAttribute(self.iface, "dhcp") - self.dhcpConfigEntry = NoSave(ConfigYesNo(default=iNetwork.getAdapterAttribute(self.iface, "dhcp"))) + self.dhcpConfigEntry = NoSave(ConfigYesNo(default=iNetwork.getAdapterAttribute(self.iface, "dhcp") or False)) self.hasGatewayConfigEntry = NoSave(ConfigYesNo(default=True)) - self.ipConfigEntry = NoSave(ConfigIP(default=iNetwork.getAdapterAttribute(self.iface, "ip"))) - self.netmaskConfigEntry = NoSave(ConfigIP(default=iNetwork.getAdapterAttribute(self.iface, "netmask"))) - self.gatewayConfigEntry = NoSave(ConfigIP(default=iNetwork.getAdapterAttribute(self.iface, "gateway"))) + self.ipConfigEntry = NoSave(ConfigIP(default=iNetwork.getAdapterAttribute(self.iface, "ip")) or [0,0,0,0]) + self.netmaskConfigEntry = NoSave(ConfigIP(default=iNetwork.getAdapterAttribute(self.iface, "netmask") or [255,0,0,0])) + self.gatewayConfigEntry = NoSave(ConfigIP(default=iNetwork.getAdapterAttribute(self.iface, "gateway") or [0,0,0,0])) - self["iface"] = Label(iNetwork.getAdapterName(self.iface)) + self["iface"] = Label(iNetwork.getFriendlyAdapterName(self.iface)) self["actions"] = ActionMap(["SetupActions"], { @@ -131,6 +128,15 @@ class AdapterSetup(Screen, ConfigListScreen): self.createSetup() self["introduction"] = Label(_("Press OK to activate the settings.")) + self["introduction2"] = Label(_("Current settings:")) + + self["IPtext"] = Label(_("IP Address")) + self["Netmasktext"] = Label(_("Netmask")) + self["Gatewaytext"] = Label(_("Gateway")) + + self["IP"] = Label(self.ipConfigEntry.getText()) + self["Mask"] = Label(self.netmaskConfigEntry.getText()) + self["Gateway"] = Label(self.gatewayConfigEntry.getText()) def createSetup(self): self.list = []