introduce BlinkingPointConditional, which blinks, if a condition-function returns...
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Fri, 25 Nov 2005 06:26:19 +0000 (06:26 +0000)
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Fri, 25 Nov 2005 06:26:19 +0000 (06:26 +0000)
lib/python/Components/BlinkingPoint.py
lib/python/Screens/InfoBarGenerics.py
timer.py

index b5a45dbbb9f1ff08dde1647d60f05ccbc72f2069..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,55 +0,0 @@
-from HTMLComponent import *
-from GUIComponent import *
-
-from Pixmap import Pixmap
-
-from enigma import *
-
-import time
-
-class BlinkingPoint(GUIComponent, Pixmap):
-       SHOWN = 0
-       HIDDEN = 1
-       
-       def __init__(self):
-               Pixmap.__init__(self)
-               GUIComponent.__init__(self)
-               
-               self.state = self.SHOWN
-               self.blinking = False
-
-               self.timer = eTimer()
-               self.timer.timeout.get().append(self.blink)
-               
-       def createWidget(self, parent):
-               return self.getePixmap(parent, "/usr/share/enigma2/record.png")
-
-       def removeWidget(self, w):
-               pass
-       
-       def showPoint(self):
-               print "Show point"
-               self.state = self.SHOWN
-               self.instance.show()
-
-       def hidePoint(self):
-               print "Hide point"
-               self.state = self.HIDDEN
-               self.instance.hide()
-               
-       def blink(self):
-               if self.blinking == True:
-                       if (self.state == self.SHOWN):
-                               self.hidePoint()
-                       elif (self.state == self.HIDDEN):
-                               self.showPoint()
-                       
-       def startBlinking(self):
-               self.blinking = True
-               self.timer.start(500)
-               
-       def stopBlinking(self):
-               self.blinking = False
-               if (self.state == self.SHOWN):
-                       self.hidePoint()
-               self.timer.stop()
\ No newline at end of file
index 6c15c707e3b6eec69c78491ed2692367f7d28ba4..4f75472871afcd2e32e2c675172939df78df58a0 100644 (file)
@@ -6,7 +6,7 @@ from Components.config import configfile, configsequencearg
 from Components.config import config, configElement, ConfigSubsection, configSequence
 from ChannelSelection import ChannelSelection
 
-from Components.BlinkingPoint import BlinkingPoint
+from Components.BlinkingPoint import BlinkingPointConditional
 from Components.ServiceName import ServiceName
 from Components.EventInfo import EventInfo
 
@@ -393,13 +393,13 @@ class InfoBarInstantRecord:
                        })
                self.recording = None
                
-               self["BlinkingPoint"] = BlinkingPoint()
+               self["BlinkingPoint"] = BlinkingPointConditional("/usr/share/enigma2/record.png")
                self.onShown.append(self["BlinkingPoint"].hidePoint)
 
        def stopCurrentRecording(self): 
                self.session.nav.RecordTimer.removeEntry(self.recording)
                self.recording = None
-               self["BlinkingPoint"].stopBlinking()
+               #self["BlinkingPoint"].stopBlinking()
        
        def startInstantRecording(self):
                serviceref = self.session.nav.getCurrentlyPlayingServiceReference()
@@ -418,7 +418,8 @@ class InfoBarInstantRecord:
                self.recording = self.session.nav.recordWithTimer(time.time(), time.time() + 3600, serviceref, epg, "instant record")
                self.recording.dontSave = True
                
-               self["BlinkingPoint"].startBlinking()
+               self["BlinkingPoint"].setConnect(lambda: self.recording.isRunning())
+               #self["BlinkingPoint"].startBlinking()
 
        def recordQuestionCallback(self, answer):
                if answer == False:
index 6f33b54d41d1039c8e3159e4686af95715019a52..42bafe350e4ac73f2a6fde81a703777f8549202e 100644 (file)
--- a/timer.py
+++ b/timer.py
@@ -27,6 +27,9 @@ class TimerEntry:
                self.repeated |= (2 ** day)
                print "Repeated: " + str(self.repeated)
                
+       def isRunning(self):
+               return self.state == self.StateRunning
+               
        # update self.begin and self.end according to the self.repeated-flags
        def processRepeated(self):
                print "ProcessRepeated"