From: Stefan Pluecken Date: Sat, 26 Nov 2005 02:47:56 +0000 (+0000) Subject: rename BlinkingPoint to BlinkingPixmap (is more generic) X-Git-Tag: 2.6.0~4943 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/cb52eb273bed4c28716b501fbbf128d2c7046d57 rename BlinkingPoint to BlinkingPixmap (is more generic) --- diff --git a/lib/python/Components/BlinkingPixmap.py b/lib/python/Components/BlinkingPixmap.py new file mode 100644 index 00000000..e34e9165 --- /dev/null +++ b/lib/python/Components/BlinkingPixmap.py @@ -0,0 +1,95 @@ +from HTMLComponent import * +from GUIComponent import * + +from Pixmap import Pixmap + +from enigma import * + +import time + +class BlinkingPixmap(GUIComponent, Pixmap): + SHOWN = 0 + HIDDEN = 1 + + def __init__(self, filename): + Pixmap.__init__(self) + GUIComponent.__init__(self) + + self.filename = filename + + self.state = self.SHOWN + self.blinking = False + + self.setBlinkTime(500) + + self.timer = eTimer() + self.timer.timeout.get().append(self.blink) + + + def createWidget(self, parent): + return self.getePixmap(parent, self.filename) + + 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 setBlinkTime(self, time): + self.blinktime = time + + 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(self.blinktime) + + def stopBlinking(self): + self.blinking = False + if (self.state == self.SHOWN): + self.hidePoint() + self.timer.stop() + +class BlinkingPixmapConditional(BlinkingPixmap): + def __init__(self, filename): + BlinkingPixmap.__init__(self, filename) + + self.setConnect(None) + + self.conditionCheckTimer = eTimer() + self.conditionCheckTimer.timeout.get().append(self.conditionallyBlink) + self.conditionCheckTimer.start(1000) + + def setConnect(self, conditionalFunction): + self.conditionalFunction = conditionalFunction + + def conditionallyBlink(self): + try: + self.conditionalFunction() # check, if the conditionalfunction is still valid + except: + self.conditionalFunction = None + self.stopBlinking() + + if self.conditionalFunction != None: + if self.conditionalFunction(): # we shall blink + if self.blinking: # we are already blinking + pass + else: # we don't blink + self.startBlinking() + else: # we shall not blink + if self.blinking: # we are blinking + self.stopBlinking() + else: # we don't blink + pass \ No newline at end of file diff --git a/lib/python/Components/BlinkingPoint.py b/lib/python/Components/BlinkingPoint.py deleted file mode 100644 index e69de29b..00000000 diff --git a/lib/python/Components/Makefile.am b/lib/python/Components/Makefile.am index 31eb61c1..ebad6d0d 100644 --- a/lib/python/Components/Makefile.am +++ b/lib/python/Components/Makefile.am @@ -10,4 +10,4 @@ install_PYTHON = \ InputDevice.py ServicePosition.py SetupDevices.py Harddisk.py \ AVSwitch.py Network.py RFmod.py DiskInfo.py NimManager.py Lcd.py \ EpgList.py ScrollLabel.py Timezones.py Language.py HelpMenuList.py \ - BlinkingPoint.py Pixmap.py + BlinkingPixmap.py Pixmap.py diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index 671c7aa2..3dc59cff 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 BlinkingPointConditional +from Components.BlinkingPixmap import BlinkingPixmapConditional from Components.ServiceName import ServiceName from Components.EventInfo import EventInfo @@ -393,14 +393,13 @@ class InfoBarInstantRecord: }) self.recording = None - self["BlinkingPoint"] = BlinkingPointConditional("/usr/share/enigma2/record.png") + self["BlinkingPoint"] = BlinkingPixmapConditional("/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() - + def startInstantRecording(self): serviceref = self.session.nav.getCurrentlyPlayingServiceReference() @@ -419,8 +418,7 @@ class InfoBarInstantRecord: self.recording.dontSave = True self["BlinkingPoint"].setConnect(lambda: self.recording.isRunning()) - #self["BlinkingPoint"].startBlinking() - + def isInstantRecordRunning(self): if self.recording != None: if self.recording.isRunning():