workaround for not working /etc/init.d/network script
[enigma2.git] / lib / python / Screens / NetworkSetup.py
index 0317975851553d6d335884aa4f9ead988d1903b4..278c66063055d3334ab3849c3d1b50c1c935af92 100644 (file)
@@ -1,80 +1,63 @@
 from Screen import Screen
-from Components.ActionMap import NumberActionMap
-from Components.ConfigList import ConfigList
-from Components.config import config
-from Components.config import getConfigListEntry
+from Components.ActionMap import ActionMap
+from Components.ConfigList import ConfigList, ConfigListScreen
+from Components.config import config, getConfigListEntry
 from Components.Network import iNetwork
 from Components.Label import Label
 
-class NetworkSetup(Screen):
+class NetworkSetup(Screen, ConfigListScreen):
        def __init__(self, session):
                Screen.__init__(self, session)
         
-               self["actions"] = NumberActionMap(["SetupActions"],
+               self["actions"] = ActionMap(["SetupActions"],
                {
-                       "ok": self.keySave,
-                       "cancel": self.keyCancel,
-                       "left": self.keyLeft,
-                       "right": self.keyRight,
-                       "1": self.keyNumberGlobal,
-                       "2": self.keyNumberGlobal,
-                       "3": self.keyNumberGlobal,
-                       "4": self.keyNumberGlobal,
-                       "5": self.keyNumberGlobal,
-                       "6": self.keyNumberGlobal,
-                       "7": self.keyNumberGlobal,
-                       "8": self.keyNumberGlobal,
-                       "9": self.keyNumberGlobal,
-                       "0": self.keyNumberGlobal
-               }, -1)
+                       "ok": self.ok,
+                       "cancel": self.cancel,
+               }, -2)
 
                self.list = []
-               self["config"] = ConfigList(self.list)
+               ConfigListScreen.__init__(self, self.list)
                self.createSetup()
-        
+
                self["introduction"] = Label(_("Press OK to activate the settings."))
-        
+
        def createSetup(self):
                self.list = []
-        
+
                self.dhcpEntry = getConfigListEntry(_("Use DHCP"), config.network.dhcp)
                self.list.append(self.dhcpEntry)
                self.list.append(getConfigListEntry(_('IP Address'), config.network.ip))
-               if (config.network.dhcp.value == 0):
+               if not config.network.dhcp.value:
                        self.list.append(getConfigListEntry(_('Netmask'), config.network.netmask))
                        self.list.append(getConfigListEntry(_('Gateway'), config.network.gateway))
                        self.list.append(getConfigListEntry(_('Nameserver'), config.network.dns))
-        
+
                self["config"].list = self.list
                self["config"].l.setList(self.list)
-        
+
        def newConfig(self):
                print self["config"].getCurrent()
                if self["config"].getCurrent() == self.dhcpEntry:
                        self.createSetup()
 
        def keyLeft(self):
-               self["config"].handleKey(config.key["prevElement"])
-               self.newConfig()
+               ConfigListScreen.keyLeft(self)
+               self.createSetup()
 
        def keyRight(self):
-               self["config"].handleKey(config.key["nextElement"])
-               self.newConfig()
-    
-       def keyNumberGlobal(self, number):
-               print "You pressed number " + str(number)
-               if (self["config"].getCurrent()[1].parent.enabled == True):
-                       self["config"].handleKey(config.key[str(number)])
-        
-       def keySave(self):
+               ConfigListScreen.keyRight(self)
+               self.createSetup()
+
+       def ok(self):
                #for x in self["config"].list:
                        #x[1].save()
-        
+               
+               iNetwork.deactivateNetworkConfig()
                iNetwork.writeNetworkConfig()    
                iNetwork.activateNetworkConfig()
                self.close()
 
-       def keyCancel(self):
+       def cancel(self):
                for x in self["config"].list:
                        x[1].cancel()
                iNetwork.loadNetworkConfig()