config rewrite. some extensions still need to be updated.
[enigma2.git] / lib / python / Screens / NetworkSetup.py
index 8b55265444d332b3776c80292480d7beeffc2ad6..3bdfe163150ca1731ed3c2581ab2b10e8bc15c9e 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.ConfigList import ConfigList, ConfigListScreen
+from Components.config import config, getConfigListEntry
 from Components.Network import iNetwork
 from Components.Label import Label
 
-class NetworkSetup(Screen):
-    def __init__(self, session):
-        Screen.__init__(self, session)
-        
-        self["actions"] = NumberActionMap(["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)
+class NetworkSetup(Screen, ConfigListScreen):
+       def __init__(self, session):
+               Screen.__init__(self, session)
+        
+               self["actions"] = NumberActionMap(["SetupActions"],
+               {
+                       "ok": self.keySave,
+                       "cancel": self.keyCancel,
+               }, -1)
 
-        self.list = []
-        self["config"] = ConfigList(self.list)
-        self.createSetup()
-        
-        self["introduction"] = Label("Press OK to activate the settings.")
-        
-    def createSetup(self):
-        self.list = []
-        
-        self.list.append(getConfigListEntry("Use DHCP", config.network.dhcp))
-        if (config.network.dhcp.value == 0):
-            self.list.append(getConfigListEntry("IP Address", config.network.ip))
-            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()[0] == "Use DHCP":
-            self.createSetup()
+               self.list = []
+               ConfigListScreen.__init__(self, self.list)
+               self.createSetup()
 
-    def keyLeft(self):
-        self["config"].handleKey(config.key["prevElement"])
-        self.newConfig()
+               self["introduction"] = Label(_("Press OK to activate the settings."))
 
-    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):
-        #for x in self["config"].list:
-            #x[1].save()
-        
-        iNetwork.writeNetworkConfig()    
-        iNetwork.activateNetworkConfig()
-        self.close()
+       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 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):
+               ConfigListScreen.keyLeft(self)
+               self.createSetup()
+
+       def keyRight(self):
+               ConfigListScreen.keyRight(self)
+               self.createSetup()
+
+       def keySave(self):
+               #for x in self["config"].list:
+                       #x[1].save()
+
+               iNetwork.writeNetworkConfig()    
+               iNetwork.activateNetworkConfig()
+               self.close()
 
-    def keyCancel(self):
-        for x in self["config"].list:
-            x[1].cancel()
-        iNetwork.loadNetworkConfig()
-        self.close()
\ No newline at end of file
+       def keyCancel(self):
+               for x in self["config"].list:
+                       x[1].cancel()
+               iNetwork.loadNetworkConfig()
+               self.close()