5433058180e8ccd7cb7549b8695e5861a96e3e68
[enigma2.git] / lib / python / Screens / NetworkSetup.py
1 from Screen import Screen
2 from Components.ActionMap import ActionMap
3 from Components.ConfigList import ConfigList
4 from Components.config import config
5 from Components.config import getConfigListEntry
6
7 class NetworkSetup(Screen):
8     def __init__(self, session):
9         Screen.__init__(self, session)
10         
11         self["actions"] = ActionMap(["SetupActions"],
12         {
13             "ok": self.keySave,
14             "cancel": self.keyCancel,
15             "left": self.keyLeft,
16             "right": self.keyRight
17         }, -1)
18
19         self.list = []
20         self["config"] = ConfigList(self.list)
21         self.createSetup()
22         
23     def createSetup(self):
24         self.list = []
25         
26         self.list.append(getConfigListEntry("Use DHCP", config.network.dhcp))
27         if (config.network.dhcp.value == 0):
28             self.list.append(getConfigListEntry("IP Address", config.network.ip))
29             self.list.append(getConfigListEntry("Netmask", config.network.netmask))
30             self.list.append(getConfigListEntry("Gateway", config.network.gateway))
31             self.list.append(getConfigListEntry("Nameserver", config.network.dns))
32         
33         self["config"].list = self.list
34         self["config"].l.setList(self.list)
35         
36     def newConfig(self):
37         print self["config"].getCurrent()
38         if self["config"].getCurrent()[0] == "Use DHCP":
39             self.createSetup()
40
41     def keyLeft(self):
42         self["config"].handleKey(config.key["prevElement"])
43         self.newConfig()
44
45     def keyRight(self):
46         self["config"].handleKey(config.key["nextElement"])
47         self.newConfig()
48
49     def keySave(self):
50         for x in self["config"].list:
51             x[1].save()
52         self.close()
53
54     def keyCancel(self):
55         for x in self["config"].list:
56             x[1].cancel()
57         self.close()