d3c95b6549f86da3b01f68d36d4ef912cc42fe28
[enigma2.git] / lib / python / Screens / PiPSetup.py
1 from enigma import *
2 from Screens.Screen import Screen
3 from Screens.MessageBox import MessageBox
4 from Components.ActionMap import NumberActionMap
5 from Components.Label import Label
6 from Components.MenuList import MenuList
7 from Components.GUIComponent import *
8 from Components.ChoiceList import ChoiceEntryComponent, ChoiceList
9
10 import os
11
12 class PiPSetup(Screen):
13         def __init__(self, session, pip):
14                 Screen.__init__(self, session)
15                 
16                 self.pip = pip
17                 
18                 self.pos = (self.pip.instance.position().x(), self.pip.instance.position().y())
19                 self.orgpos = self.pos
20                 
21                 self.size = self.pip.getSize()
22                 
23                 self.resize = 100
24
25                 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."))
26
27                 self["actions"] = NumberActionMap(["PiPSetupActions", "NumberActions"], 
28                 {
29                         "ok": self.go,
30                         "cancel": self.cancel,
31                         "up": self.up,
32                         "down": self.down,
33                         "left": self.left,
34                         "right": self.right,
35                         "size+": self.bigger,
36                         "size-": self.smaller,
37                         "1": self.keyNumberGlobal,
38                         "2": self.keyNumberGlobal,
39                         "3": self.keyNumberGlobal,
40                         "4": self.keyNumberGlobal,
41                         "5": self.keyNumberGlobal,
42                         "6": self.keyNumberGlobal,
43                         "7": self.keyNumberGlobal,
44                         "8": self.keyNumberGlobal,
45                         "9": self.keyNumberGlobal,
46                         "0": self.keyNumberGlobal
47                 }, -1)
48                 
49         def go(self):
50                 self.close()
51         
52         def cancel(self):
53                 self.movePiP(self.orgpos[0], self.orgpos[1])
54                 self.resizePiP(100)
55                 self.close()
56                 
57         def movePiP(self, x, y):
58                 if x < 0:
59                         x = 0
60                 if y < 0:
61                         y = 0
62                 self.pip.move(x, y)
63                 self.pos = (x, y)
64                 
65         def resizePiP(self, resize):
66                 w = int(self.size[0] * self.resize / 100)
67                 h = int(self.size[1] * self.resize / 100)
68                 self.pip.resize(w, h)
69                 self.resize = resize
70         
71         def up(self):
72                 self.movePiP(self.pos[0], self.pos[1] - 10)
73
74         def down(self):
75                 self.movePiP(self.pos[0], self.pos[1] + 10)
76         
77         def left(self):
78                 self.movePiP(self.pos[0] - 10, self.pos[1])
79         
80         def right(self):
81                 self.movePiP(self.pos[0] + 10, self.pos[1])
82                 
83         def bigger(self):
84                 self.resizePiP(self.resize + 5)
85         
86         def smaller(self):
87                 self.resizePiP(self.resize - 5)
88                 
89         def keyNumberGlobal(self, number):
90                 size = int(240 / self.size[0] * 100)
91                 actions = [((self.orgpos[0], self.orgpos[1]), size),
92                                    ((0, 0), size),
93                                    ((240, 0), size),
94                                    ((480, 0), size),
95                                    ((0, 192), size),
96                                    ((240, 192), size),
97                                    ((480, 192), size),
98                                    ((0, 384), size),
99                                    ((240, 384), size),
100                                    ((480, 384), size)]
101                                    
102                 self.movePiP(actions[number][0][0], actions[number][0][1])
103                 self.resizePiP(actions[number][1])