aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-07-21 11:41:49 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-07-21 11:41:49 +0000
commit8fd90e2e7a3097863bef72cf9e3dca656683988f (patch)
tree2da0086b48d471f7141f81bc051b275f9672a2fe /lib/python
parent5971f0ab2c372e63db191a29c27a68d01247e25e (diff)
downloadenigma2-8fd90e2e7a3097863bef72cf9e3dca656683988f.tar.gz
enigma2-8fd90e2e7a3097863bef72cf9e3dca656683988f.zip
networksetup update, add missing .cvsignores
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Components/Network.py26
-rw-r--r--lib/python/Plugins/SystemPlugins/DefaultServicesScanner/.cvsignore4
-rw-r--r--lib/python/Screens/NetworkSetup.py99
3 files changed, 104 insertions, 25 deletions
diff --git a/lib/python/Components/Network.py b/lib/python/Components/Network.py
index d94fa30c..b5b8e201 100644
--- a/lib/python/Components/Network.py
+++ b/lib/python/Components/Network.py
@@ -109,19 +109,19 @@ class Network:
for ifacename, iface in self.ifaces.items():
if iface['up'] == True:
fp.write("auto " + ifacename + "\n")
- if iface['dhcp'] == True:
- fp.write("iface "+ ifacename +" inet dhcp\n")
- if iface['dhcp'] == False:
- fp.write("iface "+ ifacename +" inet static\n")
- if iface.has_key('ip'):
- print tuple(iface['ip'])
- fp.write(" address %d.%d.%d.%d\n" % tuple(iface['ip']))
- fp.write(" netmask %d.%d.%d.%d\n" % tuple(iface['netmask']))
- if iface.has_key('gateway'):
- fp.write(" gateway %d.%d.%d.%d\n" % tuple(iface['gateway']))
- if iface.has_key("configStrings"):
- fp.write("\n" + iface["configStrings"] + "\n")
- fp.write("\n")
+ if iface['dhcp'] == True:
+ fp.write("iface "+ ifacename +" inet dhcp\n")
+ if iface['dhcp'] == False:
+ fp.write("iface "+ ifacename +" inet static\n")
+ if iface.has_key('ip'):
+ print tuple(iface['ip'])
+ fp.write(" address %d.%d.%d.%d\n" % tuple(iface['ip']))
+ fp.write(" netmask %d.%d.%d.%d\n" % tuple(iface['netmask']))
+ if iface.has_key('gateway'):
+ fp.write(" gateway %d.%d.%d.%d\n" % tuple(iface['gateway']))
+ if iface.has_key("configStrings"):
+ fp.write("\n" + iface["configStrings"] + "\n")
+ fp.write("\n")
fp.close()
self.writeNameserverConfig()
diff --git a/lib/python/Plugins/SystemPlugins/DefaultServicesScanner/.cvsignore b/lib/python/Plugins/SystemPlugins/DefaultServicesScanner/.cvsignore
new file mode 100644
index 00000000..138b9cc2
--- /dev/null
+++ b/lib/python/Plugins/SystemPlugins/DefaultServicesScanner/.cvsignore
@@ -0,0 +1,4 @@
+*.pyc
+*.pyo
+Makefile
+Makefile.in
diff --git a/lib/python/Screens/NetworkSetup.py b/lib/python/Screens/NetworkSetup.py
index be2a763d..8cc473fc 100644
--- a/lib/python/Screens/NetworkSetup.py
+++ b/lib/python/Screens/NetworkSetup.py
@@ -2,45 +2,121 @@ from Screen import Screen
from Components.ActionMap import ActionMap,NumberActionMap
from Screens.MessageBox import MessageBox
from Screens.Standby import *
-from Components.ConfigList import ConfigListScreen
-from Components.config import config, getConfigListEntry
from Components.Network import iNetwork
-from Tools.Directories import resolveFilename
from Components.Label import Label,MultiColorLabel
from Components.Pixmap import Pixmap,MultiPixmap
from Components.MenuList import MenuList
from Components.config import config, ConfigYesNo, ConfigIP, NoSave, ConfigText, ConfigSelection, getConfigListEntry
+from Components.ConfigList import ConfigListScreen
from Components.PluginComponent import plugins
+from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest
from Plugins.Plugin import PluginDescriptor
from enigma import eTimer
-from os import path as os_path
+from os import path as os_path, system as os_system
from re import compile as re_compile, search as re_search
from Tools.Directories import resolveFilename, SCOPE_PLUGINS
+from Tools.Directories import SCOPE_SKIN_IMAGE,SCOPE_PLUGINS, resolveFilename
+from Tools.LoadPixmap import LoadPixmap
+from enigma import RT_HALIGN_LEFT, eListboxPythonMultiContent, gFont
+
+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) ]
+ res.append(MultiContentEntryText(pos=(80, 5), size=(430, 25), font=0, text=name))
+ if default is True:
+ png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/buttons/button_blue.png"))
+ if default is False:
+ png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/buttons/button_blue_off.png"))
+ res.append(MultiContentEntryPixmapAlphaTest(pos=(10, 5), size=(25, 25), png = png))
+ if active is True:
+ png2 = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/icons/lock_on.png"))
+ if active is False:
+ png2 = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/icons/lock_error.png"))
+ res.append(MultiContentEntryPixmapAlphaTest(pos=(40, 1), size=(25, 25), png = png2))
+ return res
+
+
class NetworkAdapterSelection(Screen):
def __init__(self, session):
Screen.__init__(self, session)
iNetwork.getInterfaces()
self.wlan_errortext = _("No working wireless networkadapter found.\nPlease verify that you have attached a compatible WLAN USB Stick and your Network is configured correctly.")
self.lan_errortext = _("No working local networkadapter found.\nPlease verify that you have attached a network cable and your Network is configured correctly.")
+
+ self["ButtonBluetext"] = Label(_("Set as default Interface"))
+ self["ButtonRedtext"] = Label(_("Close"))
+ self["introduction"] = Label(_("Press OK to edit the settings."))
+
self.adapters = [(iNetwork.getFriendlyAdapterName(x),x) for x in iNetwork.getAdapterList()]
+
if len(self.adapters) == 0:
self.onFirstExecBegin.append(self.NetworkFallback)
-
- self["adapterlist"] = MenuList(self.adapters)
- self["actions"] = ActionMap(["OkCancelActions"],
+
+ self.list = []
+ self["list"] = InterfaceList(self.list)
+ self.updateList()
+ self["actions"] = ActionMap(["OkCancelActions", "ColorActions"],
{
"ok": self.okbuttonClick,
- "cancel": self.close
- })
+ "cancel": self.close,
+ "blue": self.setDefaultInterface,
+ "red": self.close
+ }, -2)
if len(self.adapters) == 1:
self.onFirstExecBegin.append(self.okbuttonClick)
+ def updateList(self):
+ print "update list"
+ self.list = []
+ default_gw = None
+ if os_path.exists("/etc/default_gw"):
+ fp = file('/etc/default_gw', 'r')
+ result = fp.read()
+ fp.close()
+ default_gw = result
+
+ if len(self.adapters) == 0: # no interface available => display only eth0
+ self.list.append(InterfaceEntryComponent("eth0",iNetwork.getFriendlyAdapterName('eth0'),True,True ))
+ else:
+ for x in self.adapters:
+ if x[1] == default_gw:
+ default_int = True
+ else:
+ default_int = False
+ if iNetwork.getAdapterAttribute(x[1], 'up') is True:
+ 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"].l.setList(self.list)
+
+ def setDefaultInterface(self):
+ selection = self["list"].getCurrent()
+ backupdefault_gw = None
+ if os_path.exists("/etc/default_gw"):
+ fp = file('/etc/default_gw', 'r')
+ backupdefault_gw = fp.read()
+ fp.close()
+ if selection[0] != backupdefault_gw:
+ os_system("rm -rf /etc/default_gw")
+ fp = file('/etc/default_gw', 'w')
+ fp.write(selection[0])
+ fp.close()
+ iNetwork.restartNetwork()
+ self.updateList()
+
def okbuttonClick(self):
- selection = self["adapterlist"].getCurrent()
+ selection = self["list"].getCurrent()
+ print "selection",selection
if selection is not None:
- self.session.openWithCallback(self.AdapterSetupClosed, AdapterSetupConfiguration, selection[1])
+ self.session.openWithCallback(self.AdapterSetupClosed, AdapterSetupConfiguration, selection[0])
def AdapterSetupClosed(self, *ret):
if len(self.adapters) == 1:
@@ -310,7 +386,6 @@ class AdapterSetup(Screen, ConfigListScreen):
iNetwork.setAdapterAttribute(self.iface, "gateway", self.gatewayConfigEntry.value)
else:
iNetwork.removeAdapterAttribute(self.iface, "gateway")
-
if self.extended is not None and self.configStrings is not None:
iNetwork.setAdapterAttribute(self.iface, "configStrings", self.configStrings(self.iface))
self.ws.writeConfig()