show dolby, crypt and format status in the infobar - we don't have functionality...
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Sat, 26 Nov 2005 03:49:30 +0000 (03:49 +0000)
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Sat, 26 Nov 2005 03:49:30 +0000 (03:49 +0000)
data/crypt.png [new file with mode: 0644]
data/dolby.png [new file with mode: 0644]
data/format.png [new file with mode: 0644]
data/skin.xml
lib/python/Components/BlinkingPixmap.py
lib/python/Components/Pixmap.py
lib/python/Screens/InfoBar.py
lib/python/Screens/InfoBarGenerics.py

diff --git a/data/crypt.png b/data/crypt.png
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/data/dolby.png b/data/dolby.png
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/data/format.png b/data/format.png
new file mode 100644 (file)
index 0000000..e69de29
index c0371d3e8c32f598b182a5b1305be3abc927ee51..aac69c581b2e55cfc91639bd2266023037e6450c 100644 (file)
                        <ePixmap position="0,0" zPosition="1" size="720,148" pixmap="/usr/share/enigma2/info-bg.png" />
                                                
                        <widget name="BlinkingPoint" pixmap="/usr/share/enigma2/record.png" position="430,35" size="20,20" />
+
+                       <widget name="CryptActive" pixmap="/usr/share/enigma2/crypt.png" position="570,40" size="12,15" />
+                       <widget name="DolbyActive" pixmap="/usr/share/enigma2/dolby.png" position="585,40" size="25,15" />
+                       <widget name="FormatActive" pixmap="/usr/share/enigma2/format.png" position="613,40" size="28,15" />
+
                        <widget name="ServiceName" position="69,25" size="427,26" valign="center" font="Arial;22" backgroundColor="#101258" />
                        <widget name="CurrentTime" position="575,10" size="90,30" backgroundColor="dark" font="Arial;19" />
                        <widget name="Event_Now_StartTime" position="210,68" size="60,22" font="Arial;20" backgroundColor="dark" />
index e564eb1e3c1c8d2a12810415916ad5fbb160f498..45b8a06b483d94e4e808b194c3b4b59ea2d9bb6b 100644 (file)
@@ -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
index 264ffe29df6942a3ce2e5a924c19b29f0ce91277..48eec23705a77714c29f7f47c1e69682e7d895d3 100644 (file)
@@ -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:
index b0dfc0ab07306f514e3099e96255b678f5e53c0a..62e4fcd2c631f8ecf1657375a85d0ff4183f1a7d 100644 (file)
@@ -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...")]))
index ce2c0da5313e26ed38d3c59b00150039342043c4..8ab16c537313841a1cfb6f354779dc25eae8cd97 100644 (file)
@@ -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