aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Screens/Satconfig.py
blob: 99b044017f158ce5a8d2aed1fa8aabb0bf2f4a2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
from Screen import Screen
from Components.ActionMap import ActionMap
from Components.ConfigList import ConfigList
from Components.config import *
from Components.MenuList import MenuList
from Components.NimManager import nimmanager

class NimSetup(Screen):
	def createSimpleSetup(self, nim, list, mode):

		b = config.Nims[nim.slotid].diseqcA
		item = b.controlType(b)
		if mode == 0:			#single Sat
			list.append( ("Satellite", item) )
		else:							# > 1 Sats
			list.append( ("Port A", item) )
		
		if mode >= 1:			# > 1 Sats
			b = config.Nims[nim.slotid].diseqcB
			item = b.controlType(b)
			list.append( ("Port B", item) )
			if mode >= 3:		# > 2 Sats
				b = config.Nims[nim.slotid].diseqcC
				item = b.controlType(b)
				list.append( ("Port C", item) )

				b = config.Nims[nim.slotid].diseqcD
				item = b.controlType(b)
				list.append( ("Port D", item) )
				
	def createSetup(self):
		self.list = [ ]
		
		b = config.Nims[self.nim.slotid].configMode
		item = b.controlType(b)
		self.list.append( ("Configmode", item) )
		
		if b.value == 0:			#simple setup
			b = config.Nims[self.nim.slotid].diseqcMode
			item = b.controlType(b)
			self.list.append( ("Diseqcmode", item) )
		
			self.createSimpleSetup(self.nim, self.list, b.value)
		else:	
			print "FIXME: implement advanced mode"

		self["config"].list = self.list
		self["config"].l.setList(self.list)
		
	def newConfig(self):	
		if self["config"].getCurrent()[0] == "Diseqcmode":
			self.createSetup()
		if self["config"].getCurrent()[0] == "Configmode":
			self.createSetup()
		
	def keyLeft(self):
		self["config"].handleKey(config.key["prevElement"])
		self.newConfig()

	def keyRight(self):
		self["config"].handleKey(config.key["nextElement"])
		self.newConfig()

	def keySave(self):
		for x in self["config"].list:
			x[1].save()
		self.close()

	def keyCancel(self):
		for x in self["config"].list:
			x[1].cancel()
		self.close()

	def __init__(self, session, nim):
		Screen.__init__(self, session)
		self.nim = nim

		self["actions"] = ActionMap(["SetupActions"],
		{
			"ok": self.keySave,
			"cancel": self.keyCancel,
			"left": self.keyLeft,
			"right": self.keyRight
		}, -1)

		self.list = [ ]
		self["config"] = ConfigList(self.list)
		
		self.createSetup()

class NimSelection(Screen):
	def __init__(self, session):
		Screen.__init__(self, session)

		self["nimlist"] = MenuList(nimmanager.nimList())

		self["actions"] = ActionMap(["OkCancelActions"],
		{
			"ok": self.okbuttonClick ,
			"cancel": self.close
		}, -1)

	def okbuttonClick(self):
		selection = self["nimlist"].getCurrent()
		if selection[1].nimType != -1:	#unknown/empty
			self.session.open(NimSetup, selection[1])