set permissions to 644 for data files
[enigma2.git] / lib / python / Screens / ParentalControlSetup.py
index f39afed0f16cba80dab501d3a12301acde8bde10..4c63dd5cfde8e6aa1741f058c8193c3092740433 100644 (file)
@@ -9,7 +9,7 @@ from Screens.MessageBox import MessageBox
 from Screens.InputBox import PinInput
 from Screens.ChannelSelection import service_types_tv
 from Tools.BoundFunction import boundFunction
-from enigma import eServiceCenter, eTimer
+from enigma import eServiceCenter, eTimer, eServiceReference
 from operator import itemgetter
 
 class ProtectedScreen:
@@ -148,7 +148,7 @@ class ParentalControlEditor(Screen):
                self.currentLetter = chr(SPECIAL_CHAR)
                self.readServiceList()
                self.chooseLetterTimer = eTimer()
-               self.chooseLetterTimer.timeout.get().append(self.chooseLetter)
+               self.chooseLetterTimer.callback.append(self.chooseLetter)
                self.onLayoutFinish.append(self.LayoutFinished)
 
                self["actions"] = NumberActionMap(["DirectionActions", "ColorActions", "OkCancelActions", "NumberActions"],
@@ -215,9 +215,7 @@ class ParentalControlEditor(Screen):
                if result is not None:
                        print "result:", result
                        self.currentLetter = result[1]
-                       self.list = []
-                       for x in self.servicesList[result[1]]:
-                               self.list.append(ParentalControlEntryComponent(x[0], x[1], parentalControl.getProtectionLevel(x[0]) != -1))
+                       self.list = [ParentalControlEntryComponent(x[0], x[1], parentalControl.getProtectionLevel(x[0]) != -1) for x in self.servicesList[result[1]]]
                        self.servicelist.setList(self.list)
                else:
                        parentalControl.save()
@@ -230,6 +228,8 @@ class ParentalControlChangePin(Screen, ConfigListScreen, ProtectedScreen):
                self.list = []
                self.pin1 = ConfigPIN(default = 1111, censor = "*")
                self.pin2 = ConfigPIN(default = 1112, censor = "*")
+               self.pin1.addEndNotifier(boundFunction(self.valueChanged, 1))
+               self.pin2.addEndNotifier(boundFunction(self.valueChanged, 2))
                self.list.append(getConfigListEntry(_("New pin"), NoSave(self.pin1)))
                self.list.append(getConfigListEntry(_("Reenter new pin"), NoSave(self.pin2)))
                ConfigListScreen.__init__(self, self.list)
@@ -243,6 +243,12 @@ class ParentalControlChangePin(Screen, ConfigListScreen, ProtectedScreen):
                        "cancel": self.cancel,
                }, -1)
 
+       def valueChanged(self, pin, value):
+               if pin == 1:
+                       self["config"].setCurrentIndex(1)
+               elif pin == 2:
+                       self.keyOK()
+
        def getPinText(self):
                return _("Please enter the old pin code")