from Screen import Screen
from Components.ActionMap import ActionMap
-from Components.ConfigList import ConfigList, ConfigListScreen
+from Components.ConfigList import ConfigListScreen
from Components.config import config, getConfigListEntry
from Components.Network import iNetwork
from Components.Label import Label
from Components.MenuList import MenuList
-from Components.config import config, ConfigYesNo, ConfigIP, NoSave, ConfigSubsection, ConfigNothing
+from Components.config import config, ConfigYesNo, ConfigIP, NoSave, ConfigNothing
from Components.PluginComponent import plugins
from Plugins.Plugin import PluginDescriptor
-
class NetworkAdapterSelection(Screen):
def __init__(self, session):
Screen.__init__(self, session)
-
- self["adapterlist"] = MenuList(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
})
+ if len(self.adapters) == 1:
+ self.onFirstExecBegin.append(self.okbuttonClick)
+
def okbuttonClick(self):
selection = self["adapterlist"].getCurrent()
- print "selection:", selection
if selection is not None:
- self.session.open(AdapterSetup, selection)
-
+ 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):
Screen.__init__(self, session)
self.backupNameserverList = iNetwork.getNameserverList()[:]
print "backup-list:", self.backupNameserverList
-
+
self["red"] = Label(_("Delete"))
self["green"] = Label(_("Add"))
-
+
self.createConfig()
-
+
self["actions"] = ActionMap(["OkCancelActions", "ColorActions"],
{
"ok": self.ok,
self.list = []
ConfigListScreen.__init__(self, self.list)
self.createSetup()
-
+
def createConfig(self):
self.nameservers = iNetwork.getNameserverList()
self.nameserverEntries = []
-
+
for nameserver in self.nameservers:
self.nameserverEntries.append(NoSave(ConfigIP(default=nameserver)))
-
+
def createSetup(self):
self.list = []
#self.nameserverConfigEntries = []
for i in range(len(self.nameserverEntries)):
self.list.append(getConfigListEntry(_("Nameserver %d") % (i + 1), self.nameserverEntries[i]))
-
+
self["config"].list = self.list
self["config"].l.setList(self.list)
iNetwork.addNameserver(nameserver.value)
iNetwork.writeNameserverConfig()
self.close()
-
+
def cancel(self):
iNetwork.clearNameservers()
print "backup-list:", self.backupNameserverList
for nameserver in self.backupNameserverList:
iNetwork.addNameserver(nameserver)
self.close()
-
+
def add(self):
iNetwork.addNameserver([0,0,0,0])
self.createConfig()
self.createSetup()
-
+
def remove(self):
print "currentIndex:", self["config"].getCurrentIndex()
-
+
index = self["config"].getCurrentIndex()
if index < len(self.nameservers):
iNetwork.removeNameserver(self.nameservers[index])
self.createConfig()
self.createSetup()
-
class AdapterSetup(Screen, ConfigListScreen):
def __init__(self, session, iface):
Screen.__init__(self, session)
-
+
self.iface = iface
print iNetwork.getAdapterAttribute(self.iface, "dhcp")
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["iface"] = Label(iNetwork.getAdapterName(self.iface))
-
+
+ self["iface"] = Label(iNetwork.getFriendlyAdapterName(self.iface))
+
self["actions"] = ActionMap(["SetupActions"],
{
"ok": self.ok,
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 = []
self.list.append(getConfigListEntry(_('Use a gateway'), self.hasGatewayConfigEntry))
if self.hasGatewayConfigEntry.value:
self.list.append(getConfigListEntry(_('Gateway'), self.gatewayConfigEntry))
-
+
self.extended = None
+ self.extendedSetup = None
for p in plugins.getPlugins(PluginDescriptor.WHERE_NETWORKSETUP):
callFnc = p.__call__["ifaceSupported"](self.iface)
if callFnc is not None:
self.configStrings = p.__call__["configStrings"]
else:
self.configStrings = None
- self.extendedSetup = getConfigListEntry(_('Extended Setup...'), NoSave(ConfigNothing()))
+
+ if p.__call__.has_key("menuEntryName"):
+ menuEntryName = p.__call__["menuEntryName"](self.iface)
+ else:
+ menuEntryName = _('Extended Setup...')
+ self.extendedSetup = getConfigListEntry(menuEntryName, NoSave(ConfigNothing()))
self.list.append(self.extendedSetup)
self["config"].list = self.list
iNetwork.setAdapterAttribute(self.iface, "gateway", self.gatewayConfigEntry.value)
else:
iNetwork.removeAdapterAttribute(self.iface, "gateway")
-
- print "self.extended:", self.extended
- print "self.configStrings:", self.configStrings
+
if self.extended is not None and self.configStrings is not None:
iNetwork.setAdapterAttribute(self.iface, "configStrings", self.configStrings(self.iface))
iNetwork.deactivateNetworkConfig()
- iNetwork.writeNetworkConfig()
+ iNetwork.writeNetworkConfig()
iNetwork.activateNetworkConfig()
self.close()