From dc093daa0b0c4b12e33c30fb1b0b48c18ab8f8b5 Mon Sep 17 00:00:00 2001 From: Stefan Pluecken Date: Fri, 25 Nov 2005 06:26:19 +0000 Subject: [PATCH] introduce BlinkingPointConditional, which blinks, if a condition-function returns True --- lib/python/Components/BlinkingPoint.py | 55 -------------------------- lib/python/Screens/InfoBarGenerics.py | 9 +++-- timer.py | 3 ++ 3 files changed, 8 insertions(+), 59 deletions(-) diff --git a/lib/python/Components/BlinkingPoint.py b/lib/python/Components/BlinkingPoint.py index b5a45dbb..e69de29b 100644 --- a/lib/python/Components/BlinkingPoint.py +++ b/lib/python/Components/BlinkingPoint.py @@ -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 diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index 6c15c707..4f754728 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -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: diff --git a/timer.py b/timer.py index 6f33b54d..42bafe35 100644 --- 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" -- 2.30.2