489cb130b5d2e033f711ed5e49a75471427fc4b8
[enigma2.git] / lib / python / Components / ParentalControlList.py
1 from HTMLComponent import HTMLComponent
2 from GUIComponent import GUIComponent
3
4 from MenuList import MenuList
5 from Components.ParentalControl import parentalControl
6 from Tools.Directories import SCOPE_SKIN_IMAGE, resolveFilename
7
8 from enigma import eListbox, eListboxPythonMultiContent, gFont, RT_HALIGN_LEFT
9 from Tools.LoadPixmap import LoadPixmap
10
11 lockPicture = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "lock-fs8.png"))
12
13 def ParentalControlEntryComponent(service, name, locked = True):
14         res = [ (service, name, locked) ]
15         res.append((eListboxPythonMultiContent.TYPE_TEXT, 80, 5, 300, 50, 0, RT_HALIGN_LEFT, name))
16         if locked:
17                 res.append((eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 0, 0, 32, 32, lockPicture))
18         return res
19
20 class ParentalControlList(MenuList, HTMLComponent, GUIComponent):
21         def __init__(self, list):
22                 GUIComponent.__init__(self)
23                 self.l = eListboxPythonMultiContent()
24                 self.list = list
25                 self.l.setList(list)
26                 self.l.setFont(0, gFont("Regular", 20))
27                 self.l.setItemHeight(32)
28
29         GUI_WIDGET = eListbox
30         
31         def setList(self, list):
32                 self.list = list
33                 self.l.setList(list)
34                 
35         def postWidgetCreate(self, instance):
36                 instance.setContent(self.l)
37
38         def toggleSelectedLock(self):
39                 print "self.l.getCurrentSelection():", self.l.getCurrentSelection()
40                 print "self.l.getCurrentSelectionIndex():", self.l.getCurrentSelectionIndex()
41                 self.list[self.l.getCurrentSelectionIndex()] = ParentalControlEntryComponent(self.l.getCurrentSelection()[0][0], self.l.getCurrentSelection()[0][1], not self.l.getCurrentSelection()[0][2]);
42                 if self.l.getCurrentSelection()[0][2]:
43                         parentalControl.protectService(self.l.getCurrentSelection()[0][0])
44                 else:
45                         parentalControl.unProtectService(self.l.getCurrentSelection()[0][0])    
46                 self.l.setList(self.list)