3f5520b12ac5d87409526a2c85bec1d7b873ce7f
[enigma2.git] / lib / python / Screens / NetworkSetup.py
1 from Screen import Screen
2 from Components.ActionMap import NumberActionMap
3 from Components.ConfigList import ConfigList
4 from Components.config import config
5 from Components.config import getConfigListEntry
6 from Components.Network import iNetwork
7
8 class NetworkSetup(Screen):
9     def __init__(self, session):
10         Screen.__init__(self, session)
11         
12         self["actions"] = NumberActionMap(["SetupActions"],
13         {
14             "ok": self.keySave,
15             "cancel": self.keyCancel,
16             "left": self.keyLeft,
17             "right": self.keyRight,
18             "1": self.keyNumberGlobal,
19             "2": self.keyNumberGlobal,
20             "3": self.keyNumberGlobal,
21             "4": self.keyNumberGlobal,
22             "5": self.keyNumberGlobal,
23             "6": self.keyNumberGlobal,
24             "7": self.keyNumberGlobal,
25             "8": self.keyNumberGlobal,
26             "9": self.keyNumberGlobal,
27             "0": self.keyNumberGlobal
28         }, -1)
29
30         self.list = []
31         self["config"] = ConfigList(self.list)
32         self.createSetup()
33         
34     def createSetup(self):
35         self.list = []
36         
37         self.list.append(getConfigListEntry("Use DHCP", config.network.dhcp))
38         if (config.network.dhcp.value == 0):
39             self.list.append(getConfigListEntry("IP Address", config.network.ip))
40             self.list.append(getConfigListEntry("Netmask", config.network.netmask))
41             self.list.append(getConfigListEntry("Gateway", config.network.gateway))
42             self.list.append(getConfigListEntry("Nameserver", config.network.dns))
43         
44         self["config"].list = self.list
45         self["config"].l.setList(self.list)
46         
47     def newConfig(self):
48         print self["config"].getCurrent()
49         if self["config"].getCurrent()[0] == "Use DHCP":
50             self.createSetup()
51
52     def keyLeft(self):
53         self["config"].handleKey(config.key["prevElement"])
54         self.newConfig()
55
56     def keyRight(self):
57         self["config"].handleKey(config.key["nextElement"])
58         self.newConfig()
59     
60     def keyNumberGlobal(self, number):
61         print "You pressed number " + str(number)
62         if (self["config"].getCurrent()[1].parent.enabled == True):
63             self["config"].handleKey(config.key[str(number)])
64         
65     def keySave(self):
66         #for x in self["config"].list:
67             #x[1].save()
68         
69         iNetwork.writeNetworkConfig()    
70         iNetwork.activateNetworkConfig()
71         self.close()
72
73     def keyCancel(self):
74         for x in self["config"].list:
75             x[1].cancel()
76         iNetwork.loadNetworkConfig()
77         self.close()