add missing PiPSetup screen
[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                 self.orgsize = self.size
23
24                 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."))
25
26                 self["actions"] = NumberActionMap(["PiPSetupActions"], 
27                 {
28                         "ok": self.go,
29                         "cancel": self.cancel,
30                         "up": self.up,
31                         "down": self.down,
32                         "left": self.left,
33                         "right": self.right,
34                         "size+": self.bigger,
35                         "size-": self.smaller,
36                 }, -1)
37                 
38         def go(self):
39                 self.close()
40         
41         def cancel(self):
42                 self.movePiP(self.orgpos[0], self.orgpos[1])
43                 self.resizePiP(self.orgsize[0], self.orgsize[1])
44                 self.close()
45                 
46         def movePiP(self, x, y):
47                 self.pip.move(x, y)
48                 self.pos = (x, y)
49                 
50         def resizePiP(self, w, h):
51                 self.pip.resize(w, h)
52                 self.size = (w, h)
53         
54         def up(self):
55                 self.movePiP(self.pos[0], self.pos[1] - 1)
56
57         def down(self):
58                 self.movePiP(self.pos[0], self.pos[1] + 1)
59         
60         def left(self):
61                 self.movePiP(self.pos[0] - 1, self.pos[1])
62         
63         def right(self):
64                 self.movePiP(self.pos[0] + 1, self.pos[1])
65                 
66         def bigger(self):
67                 # just for testing... TODO resize with correct aspect ratio
68                 self.resizePiP(self.size[0] + 1, self.size[1] + 1)
69         
70         def smaller(self):
71                 # just for testing... TODO resize with correct aspect ratio
72                 self.resizePiP(self.size[0] - 1, self.size[1] - 1)