aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Screens/PiPSetup.py
blob: d3c95b6549f86da3b01f68d36d4ef912cc42fe28 (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
from enigma import *
from Screens.Screen import Screen
from Screens.MessageBox import MessageBox
from Components.ActionMap import NumberActionMap
from Components.Label import Label
from Components.MenuList import MenuList
from Components.GUIComponent import *
from Components.ChoiceList import ChoiceEntryComponent, ChoiceList

import os

class PiPSetup(Screen):
	def __init__(self, session, pip):
		Screen.__init__(self, session)
		
		self.pip = pip
		
		self.pos = (self.pip.instance.position().x(), self.pip.instance.position().y())
		self.orgpos = self.pos
		
		self.size = self.pip.getSize()
		
		self.resize = 100

		self["text"] = Label(_("Please use direction keys to move the PiP window.\nPress Bouquet +/- to resize the window.\nPress OK to go back to the TV mode or EXIT to cancel the moving."))

		self["actions"] = NumberActionMap(["PiPSetupActions", "NumberActions"], 
		{
			"ok": self.go,
			"cancel": self.cancel,
			"up": self.up,
			"down": self.down,
			"left": self.left,
			"right": self.right,
			"size+": self.bigger,
			"size-": self.smaller,
			"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)
		
	def go(self):
		self.close()
	
	def cancel(self):
		self.movePiP(self.orgpos[0], self.orgpos[1])
		self.resizePiP(100)
		self.close()
		
	def movePiP(self, x, y):
		if x < 0:
			x = 0
		if y < 0:
			y = 0
		self.pip.move(x, y)
		self.pos = (x, y)
		
	def resizePiP(self, resize):
		w = int(self.size[0] * self.resize / 100)
		h = int(self.size[1] * self.resize / 100)
		self.pip.resize(w, h)
		self.resize = resize
	
	def up(self):
		self.movePiP(self.pos[0], self.pos[1] - 10)

	def down(self):
		self.movePiP(self.pos[0], self.pos[1] + 10)
	
	def left(self):
		self.movePiP(self.pos[0] - 10, self.pos[1])
	
	def right(self):
		self.movePiP(self.pos[0] + 10, self.pos[1])
		
	def bigger(self):
		self.resizePiP(self.resize + 5)
	
	def smaller(self):
		self.resizePiP(self.resize - 5)
		
	def keyNumberGlobal(self, number):
		size = int(240 / self.size[0] * 100)
		actions = [((self.orgpos[0], self.orgpos[1]), size),
				   ((0, 0), size),
				   ((240, 0), size),
				   ((480, 0), size),
				   ((0, 192), size),
				   ((240, 192), size),
				   ((480, 192), size),
				   ((0, 384), size),
				   ((240, 384), size),
				   ((480, 384), size)]
				   
		self.movePiP(actions[number][0][0], actions[number][0][1])
		self.resizePiP(actions[number][1])