networksetup update, add missing .cvsignores
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>
Mon, 21 Jul 2008 11:41:49 +0000 (11:41 +0000)
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>
Mon, 21 Jul 2008 11:41:49 +0000 (11:41 +0000)
data/skin_default.xml
data/skin_default/.cvsignore [new file with mode: 0644]
lib/mmi/.cvsignore [new file with mode: 0644]
lib/python/Components/Network.py
lib/python/Plugins/SystemPlugins/DefaultServicesScanner/.cvsignore [new file with mode: 0644]
lib/python/Screens/NetworkSetup.py

index 8f32d1a..4061360 100644 (file)
        </screen>
        <!-- Adapter setup -->
        <screen name="AdapterSetup" position="90,100" size="550,400" title="Network Setup" >
        </screen>
        <!-- Adapter setup -->
        <screen name="AdapterSetup" position="90,100" size="550,400" title="Network Setup" >
-               <widget name="config" position="10,10" size="530,130" scrollbarMode="showOnDemand" />
+               <widget name="config" position="10,10" size="530,125" scrollbarMode="showOnDemand" />
                <ePixmap pixmap="skin_default/div-h.png" position="0,140" zPosition="1" size="550,2" />
                <widget name="DNS1text" position="10,145" size="190,21" zPosition="1" font="Regular;19" />
                <widget name="DNS2text" position="10,175" size="190,21" zPosition="1" font="Regular;19" />
                <ePixmap pixmap="skin_default/div-h.png" position="0,140" zPosition="1" size="550,2" />
                <widget name="DNS1text" position="10,145" size="190,21" zPosition="1" font="Regular;19" />
                <widget name="DNS2text" position="10,175" size="190,21" zPosition="1" font="Regular;19" />
-               <widget name="DNS1" position="430,145" size="120,21" zPosition="1" font="Regular;17" />
-               <widget name="DNS2" position="430,175" size="120,21" zPosition="1" font="Regular;17" />
+               <widget name="DNS1" position="420,145" size="130,21" zPosition="1" font="Regular;17" />
+               <widget name="DNS2" position="420,175" size="130,21" zPosition="1" font="Regular;17" />
                <ePixmap pixmap="skin_default/div-h.png" position="0,200" zPosition="1" size="550,2" />         
                <widget name="introduction" position="10,205" size="440,20" font="Regular;19" halign="center" />
 
                <ePixmap pixmap="skin_default/div-h.png" position="0,200" zPosition="1" size="550,2" />         
                <widget name="introduction" position="10,205" size="440,20" font="Regular;19" halign="center" />
 
@@ -543,8 +543,14 @@ self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y()))
                <widget name="introduction" position="140,360" size="300,20" zPosition="10" font="Regular;21" halign="center" transparent="1" />
        </screen>
        <!-- Network adapter selection -->
                <widget name="introduction" position="140,360" size="300,20" zPosition="10" font="Regular;21" halign="center" transparent="1" />
        </screen>
        <!-- Network adapter selection -->
-       <screen name="NetworkAdapterSelection" position="130,140" size="460,330" title="Select Network Adapter">
-               <widget name="adapterlist" position="10,10" size="440,310" />
+       <screen name="NetworkAdapterSelection" position="70,100" size="550,400" title="Select Network Adapter">
+               <widget name="list" position="10,10" size="530,250" scrollbarMode="showOnDemand" zPosition="10"/>    
+               <ePixmap pixmap="skin_default/bottombar.png" position="5,310" size="540,120" zPosition="1" transparent="1" alphatest="on" />
+               <widget name="ButtonRedtext" position="430,325" size="120,21" zPosition="10" font="Regular;21" transparent="1" />
+               <ePixmap pixmap="skin_default/buttons/button_red.png" position="410,325" zPosition="10" size="15,16" transparent="1" alphatest="on" />
+               <widget name="ButtonBluetext" position="60,325" size="300,21" zPosition="10" font="Regular;21" transparent="1" />
+               <ePixmap pixmap="skin_default/buttons/button_blue.png" position="30,325" zPosition="10" size="15,16" transparent="1" alphatest="on" />
+               <widget name="introduction" position="140,360" size="300,21" zPosition="10" font="Regular;21" halign="center" transparent="1" />
        </screen>
        <!-- Network adapter test Black = "#000000" Grey = "#8c8c93" Green = "#1cff1c" Red = #f23d21-->
        <screen name="NetworkAdapterTest" position="70,100" size="570,400" title="Network test..." >
        </screen>
        <!-- Network adapter test Black = "#000000" Grey = "#8c8c93" Green = "#1cff1c" Red = #f23d21-->
        <screen name="NetworkAdapterTest" position="70,100" size="570,400" title="Network test..." >
diff --git a/data/skin_default/.cvsignore b/data/skin_default/.cvsignore
new file mode 100644 (file)
index 0000000..282522d
--- /dev/null
@@ -0,0 +1,2 @@
+Makefile
+Makefile.in
diff --git a/lib/mmi/.cvsignore b/lib/mmi/.cvsignore
new file mode 100644 (file)
index 0000000..e995588
--- /dev/null
@@ -0,0 +1,3 @@
+.deps
+Makefile
+Makefile.in
index d94fa30..b5b8e20 100644 (file)
@@ -109,19 +109,19 @@ class Network:
                for ifacename, iface in self.ifaces.items():
                        if iface['up'] == True:
                                fp.write("auto " + ifacename + "\n")
                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()
 
                fp.close()
                self.writeNameserverConfig()
 
diff --git a/lib/python/Plugins/SystemPlugins/DefaultServicesScanner/.cvsignore b/lib/python/Plugins/SystemPlugins/DefaultServicesScanner/.cvsignore
new file mode 100644 (file)
index 0000000..138b9cc
--- /dev/null
@@ -0,0 +1,4 @@
+*.pyc
+*.pyo
+Makefile
+Makefile.in
index be2a763..8cc473f 100644 (file)
@@ -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.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 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.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.PluginComponent import plugins
+from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest
 from Plugins.Plugin import PluginDescriptor
 from enigma import eTimer
 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 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.")
 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()]
                self.adapters = [(iNetwork.getFriendlyAdapterName(x),x) for x in iNetwork.getAdapterList()]
+
                if len(self.adapters) == 0:
                        self.onFirstExecBegin.append(self.NetworkFallback)
                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,
                {
                        "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)
 
 
                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):
        def okbuttonClick(self):
-               selection = self["adapterlist"].getCurrent()
+               selection = self["list"].getCurrent()
+               print "selection",selection
                if selection is not None:
                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:
 
        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")
                                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()
                        if self.extended is not None and self.configStrings is not None:
                                iNetwork.setAdapterAttribute(self.iface, "configStrings", self.configStrings(self.iface))
                                self.ws.writeConfig()