From 8138d67d47307c7e438166b9c9cac5992e4929a5 Mon Sep 17 00:00:00 2001 From: Stefan Pluecken Date: Sat, 26 Nov 2005 03:49:30 +0000 Subject: [PATCH] show dolby, crypt and format status in the infobar - we don't have functionality to get the info about this yet --- data/crypt.png | 0 data/dolby.png | 0 data/format.png | 0 data/skin.xml | 5 ++++ lib/python/Components/BlinkingPixmap.py | 33 ++----------------------- lib/python/Components/Pixmap.py | 32 +++++++++++++++++++++--- lib/python/Screens/InfoBar.py | 13 +++++----- lib/python/Screens/InfoBarGenerics.py | 15 +++++++++++ 8 files changed, 57 insertions(+), 41 deletions(-) create mode 100644 data/crypt.png create mode 100644 data/dolby.png create mode 100644 data/format.png diff --git a/data/crypt.png b/data/crypt.png new file mode 100644 index 00000000..e69de29b diff --git a/data/dolby.png b/data/dolby.png new file mode 100644 index 00000000..e69de29b diff --git a/data/format.png b/data/format.png new file mode 100644 index 00000000..e69de29b diff --git a/data/skin.xml b/data/skin.xml index c0371d3e..aac69c58 100644 --- a/data/skin.xml +++ b/data/skin.xml @@ -146,6 +146,11 @@ + + + + + diff --git a/lib/python/Components/BlinkingPixmap.py b/lib/python/Components/BlinkingPixmap.py index e564eb1e..45b8a06b 100644 --- a/lib/python/Components/BlinkingPixmap.py +++ b/lib/python/Components/BlinkingPixmap.py @@ -1,21 +1,13 @@ -from HTMLComponent import * -from GUIComponent import * - from Pixmap import * from enigma import * import time -class BlinkingPixmap(GUIComponent, Pixmap): - SHOWN = 0 - HIDDEN = 1 - +class BlinkingPixmap(Pixmap): def __init__(self): Pixmap.__init__(self) - GUIComponent.__init__(self) - self.state = self.SHOWN self.blinking = False self.setBlinkTime(500) @@ -23,23 +15,6 @@ class BlinkingPixmap(GUIComponent, Pixmap): self.timer = eTimer() self.timer.timeout.get().append(self.blink) - - def createWidget(self, parent): - return self.getePixmap(parent) - - def removeWidget(self, w): - pass - - def showPixmap(self): - print "Show pixmap" - self.state = self.SHOWN - self.instance.show() - - def hidePixmap(self): - print "Hide pixmap" - self.state = self.HIDDEN - self.instance.hide() - def setBlinkTime(self, time): self.blinktime = time @@ -67,12 +42,8 @@ class BlinkingPixmapConditional(BlinkingPixmap, PixmapConditional): def activateCondition(self, condition): if (condition): - if self.blinking: # we are already blinking - pass - else: # we don't blink + if not self.blinking: # we are already blinking self.startBlinking() else: if self.blinking: # we are blinking self.stopBlinking() - else: # we don't blink - pass diff --git a/lib/python/Components/Pixmap.py b/lib/python/Components/Pixmap.py index 264ffe29..48eec237 100644 --- a/lib/python/Components/Pixmap.py +++ b/lib/python/Components/Pixmap.py @@ -1,12 +1,18 @@ import skin +from GUIComponent import * from enigma import * -class Pixmap: +class Pixmap(GUIComponent): """Pixmap can be used for components which diplay a pixmap""" + SHOWN = 0 + HIDDEN = 1 + def __init__(self): + GUIComponent.__init__(self) self.instance = None + self.state = self.SHOWN def GUIcreate(self, parent): self.instance = self.createWidget(parent) @@ -20,6 +26,22 @@ class Pixmap: #pixmap.setPixmapFromFile(self.filename) return ePixmap(parent) + def createWidget(self, parent): + return self.getePixmap(parent) + + def removeWidget(self, w): + pass + + def showPixmap(self): + print "Show pixmap" + self.state = self.SHOWN + self.instance.show() + + def hidePixmap(self): + print "Hide pixmap" + self.state = self.HIDDEN + self.instance.hide() + def removeWidget(self, instance): pass @@ -39,12 +61,14 @@ class PixmapConditional(Pixmap): def activateCondition(self, condition): if (condition): - self.instance.show() + if (self.state == self.HIDDEN): + self.showPixmap() else: - self.instance.hide() + if (self.state == self.SHOWN): + self.hidePixmap() def update(self): - if (self.setConnect != None): + if (self.conditionalFunction != None): try: self.conditionalFunction() # check, if the conditionalfunction is still valid except: diff --git a/lib/python/Screens/InfoBar.py b/lib/python/Screens/InfoBar.py index b0dfc0ab..62e4fcd2 100644 --- a/lib/python/Screens/InfoBar.py +++ b/lib/python/Screens/InfoBar.py @@ -10,7 +10,7 @@ from Components.ServicePosition import ServicePosition from Screens.InfoBarGenerics import InfoBarVolumeControl, InfoBarShowHide, \ InfoBarPowerKey, InfoBarNumberZap, InfoBarChannelSelection, InfoBarMenu, \ InfoBarEPG, InfoBarEvent, InfoBarServiceName, InfoBarPVR, InfoBarInstantRecord, \ - InfoBarAudioSelection + InfoBarAudioSelection, InfoBarAdditionalInfo from Screens.HelpMenu import HelpableScreen, HelpMenu @@ -18,10 +18,10 @@ from enigma import * import time -class InfoBar(Screen, InfoBarVolumeControl, InfoBarShowHide, InfoBarPowerKey, \ - InfoBarNumberZap, InfoBarChannelSelection, InfoBarMenu, InfoBarEPG, \ - InfoBarEvent, InfoBarServiceName, InfoBarInstantRecord, InfoBarAudioSelection, - HelpableScreen): +class InfoBar(Screen, InfoBarVolumeControl, InfoBarShowHide, InfoBarPowerKey, + InfoBarNumberZap, InfoBarChannelSelection, InfoBarMenu, InfoBarEPG, + InfoBarEvent, InfoBarServiceName, InfoBarInstantRecord, InfoBarAudioSelection, + HelpableScreen, InfoBarAdditionalInfo): def __init__(self, session): Screen.__init__(self, session) @@ -34,7 +34,8 @@ class InfoBar(Screen, InfoBarVolumeControl, InfoBarShowHide, InfoBarPowerKey, \ for x in HelpableScreen, \ InfoBarVolumeControl, InfoBarShowHide, InfoBarPowerKey, \ InfoBarNumberZap, InfoBarChannelSelection, InfoBarMenu, InfoBarEPG, \ - InfoBarEvent, InfoBarServiceName, InfoBarInstantRecord, InfoBarAudioSelection: + InfoBarEvent, InfoBarServiceName, InfoBarInstantRecord, InfoBarAudioSelection, \ + InfoBarAdditionalInfo: x.__init__(self) self.helpList.append((self["actions"], "InfobarActions", [("showMovies", "Watch a Movie...")])) diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index ce2c0da5..8ab16c53 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -6,6 +6,7 @@ from Components.config import configfile, configsequencearg from Components.config import config, configElement, ConfigSubsection, configSequence from ChannelSelection import ChannelSelection +from Components.Pixmap import PixmapConditional from Components.BlinkingPixmap import BlinkingPixmapConditional from Components.ServiceName import ServiceName from Components.EventInfo import EventInfo @@ -461,3 +462,17 @@ class InfoBarAudioSelection: n = audio.getNumberOfTracks() if n > 0: self.session.open(AudioSelection, audio) + +class InfoBarAdditionalInfo: + def __init__(self): + self["DolbyActive"] = PixmapConditional() + # TODO: get the info from c++ somehow + self["DolbyActive"].setConnect(lambda: False) + + self["CryptActive"] = PixmapConditional() + # TODO: get the info from c++ somehow + self["CryptActive"].setConnect(lambda: False) + + self["FormatActive"] = PixmapConditional() + # TODO: get the info from c++ somehow + self["FormatActive"].setConnect(lambda: False) \ No newline at end of file -- 2.30.2