Update to Version 0.4: More plasma- friendly timer.
authorTorsten Link <tode@users.schwerkraft.elitedvb.net>
Sat, 5 Sep 2009 21:55:48 +0000 (21:55 +0000)
committerTorsten Link <tode@users.schwerkraft.elitedvb.net>
Sat, 5 Sep 2009 21:55:48 +0000 (21:55 +0000)
kiddytimer/.project [new file with mode: 0644]
kiddytimer/CONTROL/control
kiddytimer/img/Smiley-Background.png [new file with mode: 0644]
kiddytimer/img/Smiley-Slider.png [new file with mode: 0644]
kiddytimer/po/KiddyTimer.pot
kiddytimer/po/de.po
kiddytimer/src/KTglob.py
kiddytimer/src/KTmain.py
kiddytimer/src/KTpositioner.py
kiddytimer/src/KTsetup.py
kiddytimer/src/plugin.py

diff --git a/kiddytimer/.project b/kiddytimer/.project
new file mode 100644 (file)
index 0000000..dcd8c88
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>kiddytimer</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.python.pydev.PyDevBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.python.pydev.pythonNature</nature>
+       </natures>
+</projectDescription>
index 996a6bc..4d7bdd5 100644 (file)
@@ -1,5 +1,5 @@
 Package: enigma2-plugin-extensions-kiddytimer
-Version: 0.2-20090820-r0
+Version: 0.4-20090905-r0
 Description: Allows to control the Kids' daily TV usage
 Architecture: mipsel
 Section: extra
diff --git a/kiddytimer/img/Smiley-Background.png b/kiddytimer/img/Smiley-Background.png
new file mode 100644 (file)
index 0000000..1b3247c
Binary files /dev/null and b/kiddytimer/img/Smiley-Background.png differ
diff --git a/kiddytimer/img/Smiley-Slider.png b/kiddytimer/img/Smiley-Slider.png
new file mode 100644 (file)
index 0000000..85218b2
Binary files /dev/null and b/kiddytimer/img/Smiley-Slider.png differ
index e2dded7..a1db6e5 100644 (file)
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: KiddyTimer\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-08-29 12:59+0100\n"
+"POT-Creation-Date: 2009-09-05 23:34+0100\n"
 "PO-Revision-Date: \n"
 "Last-Translator: \n"
 "Language-Team: \n"
@@ -12,18 +12,31 @@ msgstr ""
 "X-Poedit-Basepath: L:\\Dreambox\\Eclipse\\kiddytimer\\po\n"
 "X-Poedit-SearchPath-0: ..\\src\n"
 
-#: ..\src/plugin.py:49
+#: ..\src/plugin.py:16
+msgid "Clock"
+msgstr ""
+
+#: ..\src/plugin.py:16
+msgid "Smiley"
+msgstr ""
+
+#: ..\src/plugin.py:50
 msgid "KiddyTimer"
 msgstr ""
 
-#: ..\src/plugin.py:49
+#: ..\src/plugin.py:50
 msgid "Allows to controls your kids' daily TV usage"
 msgstr ""
 
-#: ..\src/KTmain.py:21
+#: ..\src/KTmain.py:24
+#: ..\src/KTmain.py:26
 msgid "??:??"
 msgstr ""
 
+#: ..\src/KTmain.py:103
+msgid "Do you want to start the kiddytimer- plugin now."
+msgstr ""
+
 #: ..\src/KTglob.py:6
 msgid "Sunday"
 msgstr ""
@@ -64,39 +77,44 @@ msgstr ""
 msgid "Don't monitor TV started after"
 msgstr ""
 
-#: ..\src/KTsetup.py:70
+#: ..\src/KTsetup.py:51
+msgid "Style of timer"
+msgstr ""
+
+#: ..\src/KTsetup.py:71
 #, python-format
 msgid "Plugin: %(plugin)s , Version: %(version)s"
 msgstr ""
 
-#: ..\src/KTsetup.py:71
-#: ..\src/KTsetup.py:97
+#: ..\src/KTsetup.py:72
+#: ..\src/KTsetup.py:98
 #, python-format
 msgid "Remaining time: %s"
 msgstr ""
 
-#: ..\src/KTsetup.py:72
+#: ..\src/KTsetup.py:73
 #, python-format
 msgid "Last day started: %s"
 msgstr ""
 
-#: ..\src/KTsetup.py:75
+#: ..\src/KTsetup.py:76
 msgid "Cancel"
 msgstr ""
 
-#: ..\src/KTsetup.py:76
+#: ..\src/KTsetup.py:77
 msgid "Save"
 msgstr ""
 
-#: ..\src/KTsetup.py:77
+#: ..\src/KTsetup.py:78
 msgid "Reset clock"
 msgstr ""
 
-#: ..\src/KTsetup.py:78
+#: ..\src/KTsetup.py:79
 msgid "Move clock"
 msgstr ""
 
-#: ..\src/KTpositioner.py:18
+#: ..\src/KTpositioner.py:19
+#: ..\src/KTpositioner.py:21
 msgid "01:00"
 msgstr ""
 
index 8b3eaed..325a648 100644 (file)
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: KiddyTimer\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-08-29 13:00+0100\n"
+"POT-Creation-Date: 2009-09-05 23:33+0100\n"
 "PO-Revision-Date: \n"
 "Last-Translator: \n"
 "Language-Team: \n"
@@ -13,18 +13,31 @@ msgstr ""
 "X-Poedit-Language: German\n"
 "X-Poedit-SearchPath-0: ..\\src\n"
 
-#: ..\src/plugin.py:49
+#: ..\src/plugin.py:16
+msgid "Clock"
+msgstr "Uhr"
+
+#: ..\src/plugin.py:16
+msgid "Smiley"
+msgstr "Smiley"
+
+#: ..\src/plugin.py:50
 msgid "KiddyTimer"
 msgstr "KiddyTimer"
 
-#: ..\src/plugin.py:49
+#: ..\src/plugin.py:50
 msgid "Allows to controls your kids' daily TV usage"
 msgstr "Ermöglicht,  den täglichen TV- Konsum Ihrer Kinder zu steuern"
 
-#: ..\src/KTmain.py:21
+#: ..\src/KTmain.py:24
+#: ..\src/KTmain.py:26
 msgid "??:??"
 msgstr "??:??"
 
+#: ..\src/KTmain.py:103
+msgid "Do you want to start the kiddytimer- plugin now."
+msgstr "Wollen Sie das KiddyTimer- Plugin jetzt starten?"
+
 #: ..\src/KTglob.py:6
 msgid "Sunday"
 msgstr ""
@@ -65,39 +78,44 @@ msgstr "PIN"
 msgid "Don't monitor TV started after"
 msgstr "Nicht mehr überwachen nach"
 
-#: ..\src/KTsetup.py:70
+#: ..\src/KTsetup.py:51
+msgid "Style of timer"
+msgstr "Aussehen des Timers"
+
+#: ..\src/KTsetup.py:71
 #, python-format
 msgid "Plugin: %(plugin)s , Version: %(version)s"
 msgstr "Plugin: %(plugin)s , Version: %(version)s"
 
-#: ..\src/KTsetup.py:71
-#: ..\src/KTsetup.py:97
+#: ..\src/KTsetup.py:72
+#: ..\src/KTsetup.py:98
 #, python-format
 msgid "Remaining time: %s"
 msgstr "Verbleibende Zeit: %s"
 
-#: ..\src/KTsetup.py:72
+#: ..\src/KTsetup.py:73
 #, python-format
 msgid "Last day started: %s"
 msgstr "Zuletzt gestartet am: %s"
 
-#: ..\src/KTsetup.py:75
+#: ..\src/KTsetup.py:76
 msgid "Cancel"
 msgstr "Abbrechen"
 
-#: ..\src/KTsetup.py:76
+#: ..\src/KTsetup.py:77
 msgid "Save"
 msgstr "Speichern"
 
-#: ..\src/KTsetup.py:77
+#: ..\src/KTsetup.py:78
 msgid "Reset clock"
 msgstr "Zurücksetzen"
 
-#: ..\src/KTsetup.py:78
+#: ..\src/KTsetup.py:79
 msgid "Move clock"
 msgstr "Pos.ändern"
 
-#: ..\src/KTpositioner.py:18
+#: ..\src/KTpositioner.py:19
+#: ..\src/KTpositioner.py:21
 msgid "01:00"
 msgstr "01:00"
 
index 312cc89..18e7b3d 100644 (file)
@@ -1,7 +1,7 @@
 import time
 
 PLUGIN_BASE = "KiddyTimer"
-PLUGIN_VERSION = "0.3"
+PLUGIN_VERSION = "0.4"
 
 DAYNAMES= (_("Sunday"),
           _("Monday"),
@@ -29,9 +29,12 @@ plugin_path = ""
 ##############################################################################
 
 SKIN = """
-    <screen flags="wfNoBorder" position="0,0" size="82,82" title="Kiddy Timer" backgroundColor="#ff000000">
-        <widget name="TimerGraph" pixmaps="~/img/Timer1000.png,~/img/Timer0950.png,~/img/Timer0900.png,~/img/Timer0850.png,~/img/Timer0800.png,~/img/Timer0750.png,~/img/Timer0700.png,~/img/Timer0650.png,~/img/Timer0600.png,~/img/Timer0550.png,~/img/Timer0500.png,~/img/Timer0450.png,~/img/Timer0400.png,~/img/Timer0350.png,~/img/Timer0300.png,~/img/Timer0250.png,~/img/Timer0200.png,~/img/Timer0150.png,~/img/Timer0100.png,~/img/Timer0050.png,~/img/Timer0000.png" position="0,0" zPosition="1" size="130,130" transparent="1" alphatest="on" />
-        <widget name="TimerText" zPosition="2" position="0,30" size="82,21" font="Regular;18" halign="center" valign="center" foregroundColor="#000000" transparent = "1" />
+    <screen flags="wfNoBorder" position="0,0" size="82,104" title="Kiddy Timer" backgroundColor="#ff000000">
+        <ePixmap pixmap="~/img/Smiley-Background.png" position="0,0" zPosition="1" size="82,82" alphatest="on" transparent="1"/>
+        <widget name="TimerSlider" pixmap="~/img/Smiley-Slider.png" zPosition="2" position="0,0" size="82,82" transparent="1" orientation="orBottomToTop" />
+        <widget name="TimerSliderText" zPosition="3" position="0,75" size="82,21" font="Regular;18" halign="center" valign="center" foregroundColor="#000000" backgroundColor="#aaffffff" />
+        <widget name="TimerGraph" pixmaps="~/img/Timer1000.png,~/img/Timer0950.png,~/img/Timer0900.png,~/img/Timer0850.png,~/img/Timer0800.png,~/img/Timer0750.png,~/img/Timer0700.png,~/img/Timer0650.png,~/img/Timer0600.png,~/img/Timer0550.png,~/img/Timer0500.png,~/img/Timer0450.png,~/img/Timer0400.png,~/img/Timer0350.png,~/img/Timer0300.png,~/img/Timer0250.png,~/img/Timer0200.png,~/img/Timer0150.png,~/img/Timer0100.png,~/img/Timer0050.png,~/img/Timer0000.png" position="0,0" zPosition="2" size="82,82" transparent="1" alphatest="on" />
+        <widget name="TimerText" zPosition="3" position="0,30" size="82,21" font="Regular;18" halign="center" valign="center" foregroundColor="#000000" transparent = "1" />
     </screen>"""
 
 ##############################################################################
index 3106ee4..e795e8e 100644 (file)
@@ -1,6 +1,9 @@
 from Components.Label import Label
+from Components.ProgressBar import ProgressBar
 from KTMultiPixmap import KTmultiPixmap
 from Components.config import config
+from Screens.MessageBox import MessageBox
+from Screens.ParentalControlSetup import ProtectedScreen
 from Screens.Screen import Screen
 from Screens import Standby
 from enigma import ePoint, eTimer
@@ -14,17 +17,31 @@ class KiddyTimerScreen(Screen):
         Screen.__init__(self, session)
         self.skin = KTglob.SKIN
         self.onShow.append(self.movePosition)
-
+        
         self.skin_path = KTglob.plugin_path
 
         self["TimerGraph"] = KTmultiPixmap()
         self["TimerText"] = Label(_("??:??"))
+        self["TimerSlider"] = ProgressBar()
+        self["TimerSliderText"] = Label(_("??:??"))
         
     def renderScreen(self):
+        self["TimerSlider"].setValue(int(KTglob.oKiddyTimer.remainingPercentage*100)) 
         self["TimerGraph"].setPixmapNum(KTglob.oKiddyTimer.curImg)
-        self["TimerGraph"].show()
         self.sTimeLeft = KTglob.getTimeFromSeconds( (KTglob.oKiddyTimer.remainingTime + 59) , False ) # Add 59 Seconds to show one minute if less than 1 minute left...
         self["TimerText"].setText(self.sTimeLeft)
+        self["TimerSliderText"].setText(self.sTimeLeft)
+
+        if config.plugins.KiddyTimer.timerStyle.value == "clock":
+            self["TimerGraph"].show()
+            self["TimerText"].show()
+            self["TimerSlider"].hide()    
+            self["TimerSliderText"].hide()
+        else:
+            self["TimerGraph"].hide()
+            self["TimerText"].hide()
+            self["TimerSlider"].show()
+            self["TimerSliderText"].show()
 
     def movePosition(self):
         if self.instance:
@@ -36,7 +53,7 @@ class KiddyTimerScreen(Screen):
         for sPixmap in self["TimerGraph"].pixmapFiles:
             i = int(sPixmap[-8:-4])
             self.percentageList.append(i)
-
+      
 ##############################################################################
 
 class KiddyTimer():
@@ -74,14 +91,31 @@ class KiddyTimer():
             if self.currentDay != config.plugins.KiddyTimer.lastStartDay.getValue():
                 #Reset all Timers
                 self.resetTimer()
-
+            
             if self.dialog == None:
                 self.dialog = self.session.instantiateDialog(KiddyTimerScreen)
                 self.dialog.hide()
-
-            self.setDialogStatus(self.timerHasToRun())            
+                
+            self.setDialogStatus(self.timerHasToRun())
             self.calculateTimer()
+            
+    def askForActivation(self):
+        self.session.openWithCallback(self.activationCallback, MessageBox, _("Do you want to start the kiddytimer- plugin now."), MessageBox.TYPE_YESNO)
 
+    def activationCallback(self, value):
+        self.setDialogStatus(self.timerHasToRun())
+
+        if value:
+            self.setDialogStatus( True )
+            if self.dialog == None:
+                self.dialog = self.session.instantiateDialog(KiddyTimerScreen)
+                self.dialog.hide()
+        else:
+            self.setDialogStatus( False )
+                                       
+        self.calculateTimer()
+
+    
     def startLoop(self):
         self.loopTimer.start(self.loopTimerStep,1)
     
@@ -140,7 +174,7 @@ class KiddyTimer():
             self.startLoop()
 
     def showHide(self):
-        if config.plugins.KiddyTimer.enabled.value:
+        if config.plugins.KiddyTimer.enabled.value and self.timerHasToRun():
             self.setDialogStatus(True)
         else:
             self.setDialogStatus(False)
index 2066d02..ecb64b1 100644 (file)
@@ -1,5 +1,6 @@
 from Components.ActionMap import ActionMap
 from Components.Label import Label
+from Components.ProgressBar import ProgressBar
 from KTMultiPixmap import KTmultiPixmap
 from Components.config import config
 from Screens.Screen import Screen
@@ -16,6 +17,19 @@ class KiddyTimerPositioner(Screen):
 
         self["TimerGraph"] = KTmultiPixmap()
         self["TimerText"] = Label(_("01:00"))
+        self["TimerSlider"] = ProgressBar()
+        self["TimerSliderText"] = Label(_("01:00"))
+        
+        if config.plugins.KiddyTimer.timerStyle.value == "clock":
+            self["TimerGraph"].show()
+            self["TimerText"].show()
+            self["TimerSlider"].hide()    
+            self["TimerSliderText"].hide()
+        else:
+            self["TimerGraph"].hide()
+            self["TimerText"].hide()
+            self["TimerSlider"].show()
+            self["TimerSliderText"].show()
         
         self["actions"] = ActionMap(["WizardActions"],
         {
index 6460e84..5bb7c47 100644 (file)
@@ -15,7 +15,7 @@ import time
 
 class KiddyTimerSetup(ConfigListScreen, Screen, ProtectedScreen):
     skin = ("""
-    <screen position="75,90" size="560,370" title="%s Setup">
+    <screen position="75,90" size="560,380" title="%s Setup">
       <ePixmap pixmap="~/img/button-red.png" position="0,0" zPosition="0" size="140,40" transparent="1" alphatest="on" />
       <ePixmap pixmap="~/img/button-green.png" position="140,0" zPosition="0" size="140,40" transparent="1" alphatest="on" />
       <ePixmap pixmap="~/img/button-yellow.png" position="280,0" zPosition="0" size="140,40" transparent="1" alphatest="on" />
@@ -32,10 +32,10 @@ class KiddyTimerSetup(ConfigListScreen, Screen, ProtectedScreen):
       <widget name="key_blue" position="420,0" zPosition="1" size="140,40"
         font="Regular;20" valign="center" halign="center" backgroundColor="#18188b" transparent="1"
         shadowColor="#000000" shadowOffset="-1,-1" />
-      <widget name="config" position="10,40" size="540,260" scrollbarMode="showOnDemand" />
-      <widget name="LastDayStarted" position="10,300" size="540,20" zPosition="4" font="Regular;18" foregroundColor="#cccccc" />
-      <widget name="RemainingTime" position="10,320" size="540,20" zPosition="4" font="Regular;18" foregroundColor="#cccccc" />
-      <widget name="PluginInfo" position="10,340" size="540,20" zPosition="4" font="Regular;18" foregroundColor="#cccccc" />
+      <widget name="config" position="10,40" size="540,280" scrollbarMode="showOnDemand" />
+      <widget name="LastDayStarted" position="10,320" size="540,20" zPosition="4" font="Regular;18" foregroundColor="#cccccc" />
+      <widget name="RemainingTime" position="10,340" size="540,20" zPosition="4" font="Regular;18" foregroundColor="#cccccc" />
+      <widget name="PluginInfo" position="10,360" size="540,20" zPosition="4" font="Regular;18" foregroundColor="#cccccc" />
     </screen>""") %KTglob.PLUGIN_BASE
 
     def __init__(self, session):
@@ -47,7 +47,8 @@ class KiddyTimerSetup(ConfigListScreen, Screen, ProtectedScreen):
         self.list = [
             getConfigListEntry(_("Enabled"), config.plugins.KiddyTimer.enabled),
             getConfigListEntry(_("PIN"), config.plugins.KiddyTimer.pin),
-            getConfigListEntry(_("Don't monitor TV started after"), config.plugins.KiddyTimer.monitorEndTime )
+            getConfigListEntry(_("Don't monitor TV started after"), config.plugins.KiddyTimer.monitorEndTime ), 
+            getConfigListEntry(_("Style of timer"), config.plugins.KiddyTimer.timerStyle )
             ]
         for i in range(0,7):
             self.list.append(getConfigListEntry(KTglob.DAYNAMES[i], config.plugins.KiddyTimer.dayTimes[i].timeValue))                
@@ -107,7 +108,7 @@ class KiddyTimerSetup(ConfigListScreen, Screen, ProtectedScreen):
             if self.enabled_old != config.plugins.KiddyTimer.enabled.value:
                 KTglob.oKiddyTimer.gotSession(KTglob.oKiddyTimer.session)
             else:
-                KTglob.oKiddyTimer.setDialogStatus(True)
+                KTglob.oKiddyTimer.setDialogStatus(KTglob.oKiddyTimer.timerHasToRun())
         self.close()
 
     def cancel(self):
index 1c7e03c..955cbb9 100644 (file)
@@ -1,5 +1,5 @@
 from Components.ActionMap import ActionMap, NumberActionMap
-from Components.config import config, ConfigInteger, ConfigSubsection, \
+from Components.config import config, ConfigInteger, ConfigSubsection, ConfigSelection, \
     ConfigSubList, ConfigText, ConfigYesNo, ConfigDateTime, ConfigClock, ConfigPIN
 from KTmain import KiddyTimer
 from KTsetup import KiddyTimerSetup
@@ -13,6 +13,7 @@ config.plugins.KiddyTimer = ConfigSubsection()
 config.plugins.KiddyTimer.enabled = ConfigYesNo(default=False)
 config.plugins.KiddyTimer.position_x = ConfigInteger(default=590)
 config.plugins.KiddyTimer.position_y = ConfigInteger(default=35)
+config.plugins.KiddyTimer.timerStyle = ConfigSelection(choices = [("clock", _("Clock")), ("smiley", _("Smiley"))])
 config.plugins.KiddyTimer.lastStartDay = ConfigText(default="")
 config.plugins.KiddyTimer.monitorEndTime = ConfigClock(default=KTglob.EIGHTOCLOCKNOON)
 config.plugins.KiddyTimer.pin = ConfigPIN(default = 1111 , censor = "*")