fa5f44b3f9d92bd01b081caafb4a7755ec3b9313
[enigma2.git] / lib / python / Screens / Satconfig.py
1 from Screen import Screen
2 from Components.ActionMap import ActionMap
3 from Components.ConfigList import ConfigList
4 from Components.config import *
5 from Components.MenuList import MenuList
6 from Components.NimManager import nimmanager
7
8 class NimSetup(Screen):
9         def createSimpleSetup(self, nim, list, mode):
10                 print "request for diseqcmode:" + str(mode)
11                 
12                 b = config.Nims[nim.slotid].diseqcA
13                 item = b.controlType(b)
14                 if mode == 0:
15                         list.append( ("Satellite", item) )
16                 else:
17                         list.append( ("Port A", item) )
18                 
19                 if mode >= 1:
20                         b = config.Nims[nim.slotid].diseqcB
21                         item = b.controlType(b)
22                         list.append( ("Port B", item) )
23                         if mode >= 3:
24                                 b = config.Nims[nim.slotid].diseqcC
25                                 item = b.controlType(b)
26                                 list.append( ("Port C", item) )
27
28                                 b = config.Nims[nim.slotid].diseqcD
29                                 item = b.controlType(b)
30                                 list.append( ("Port D", item) )
31                                 
32         def createSetup(self):
33                 print "createSetup"
34                 self.list = [ ]
35                 
36                 b = config.Nims[self.nim.slotid].configMode
37                 item = b.controlType(b)
38                 self.list.append( ("Configmode", item) )
39                 
40                 if b.value == 0:                        #simple setup
41                         b = config.Nims[self.nim.slotid].diseqcMode
42                         item = b.controlType(b)
43                         self.list.append( ("Diseqcmode", item) )
44                 
45                         self.createSimpleSetup(self.nim, self.list, b.value)
46                 else:   
47                         print "FIXME: implement advanced mode"
48
49                 self["config"].list = self.list
50                 self["config"].l.setList(self.list)
51                 
52         def newConfig(self):    
53                 if self["config"].getCurrent()[0] == "Diseqcmode":
54                         self.createSetup()
55                 if self["config"].getCurrent()[0] == "Configmode":
56                         self.createSetup()
57                 
58         def keyLeft(self):
59                 self["config"].handleKey(config.key["prevElement"])
60                 self.newConfig()
61
62         def keyRight(self):
63                 self["config"].handleKey(config.key["nextElement"])
64                 self.newConfig()
65
66         def __init__(self, session, nim):
67                 Screen.__init__(self, session)
68                 self.nim = nim
69
70                 self["actions"] = ActionMap(["SetupActions"],
71                 {
72                         "ok": self.close,
73                         "cancel": self.close,
74                         "left": self.keyLeft,
75                         "right": self.keyRight
76                 }, -1)
77
78                 self.list = [ ]
79                 self["config"] = ConfigList(self.list)
80                 
81                 self.createSetup()
82
83 class NimSelection(Screen):
84         def __init__(self, session):
85                 Screen.__init__(self, session)
86
87                 self["nimlist"] = MenuList(nimmanager.nimList())
88
89                 self["actions"] = ActionMap(["OkCancelActions"],
90                 {
91                         "ok": self.okbuttonClick ,
92                         "cancel": self.close
93                 }, -1)
94
95         def okbuttonClick(self):
96                 selection = self["nimlist"].getCurrent()
97                 if selection[1].nimType != -1:  #unknown/empty
98                         self.session.open(NimSetup, selection[1])
99