aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Screens
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-06-14 21:09:07 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-06-14 21:09:07 +0000
commitf412f2579647e5b4b9857acaa4a1b29ff191533e (patch)
tree19ca43a07257afe6d005d675d831f00a4518f43d /lib/python/Screens
parentaac552982ff936e76416d0b478dbcbc54528a062 (diff)
downloadenigma2-f412f2579647e5b4b9857acaa4a1b29ff191533e.tar.gz
enigma2-f412f2579647e5b4b9857acaa4a1b29ff191533e.zip
fix showing of infobar on servicechange via servicelist
Diffstat (limited to 'lib/python/Screens')
-rw-r--r--lib/python/Screens/ChannelSelection.py7
-rw-r--r--lib/python/Screens/InfoBarGenerics.py11
2 files changed, 16 insertions, 2 deletions
diff --git a/lib/python/Screens/ChannelSelection.py b/lib/python/Screens/ChannelSelection.py
index 728cecf2..eb6f9059 100644
--- a/lib/python/Screens/ChannelSelection.py
+++ b/lib/python/Screens/ChannelSelection.py
@@ -1054,6 +1054,7 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelect
self.lastroot = config.tv.lastroot
self.revertMode = None
config.usage.multibouquet.addNotifier(self.multibouquet_config_changed)
+ self.new_service_played = False
def multibouquet_config_changed(self, val):
self.recallBouquetMode()
@@ -1129,12 +1130,18 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelect
ref = self.session.nav.getCurrentlyPlayingServiceReference()
nref = self.getCurrentSelection()
if ref is None or ref != nref:
+ self.new_service_played = True
self.session.nav.playService(nref)
self.saveRoot()
self.saveChannel(nref)
config.servicelist.lastmode.save()
self.addToHistory(nref)
+ def newServicePlayed(self):
+ ret = self.new_service_played
+ self.new_service_played = False
+ return ret
+
def addToHistory(self, ref):
if self.servicePath is not None:
tmp=self.servicePath[:]
diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py
index f8b6c7ea..da0e6d6f 100644
--- a/lib/python/Screens/InfoBarGenerics.py
+++ b/lib/python/Screens/InfoBarGenerics.py
@@ -96,11 +96,18 @@ class InfoBarShowHide:
if old_begin_time and old_begin_time != self.current_begin_time:
self.doShow()
- def __serviceStarted(self):
- if self.execing:
+ def __serviceStarted(self, force=False):
+ new = self.servicelist.newServicePlayed()
+ if self.execing or force:
self.current_begin_time=0
if config.usage.show_infobar_on_zap.value:
self.doShow()
+ elif not self.__checkServiceStarted in self.onExecBegin and new:
+ self.onExecBegin.append(self.__checkServiceStarted)
+
+ def __checkServiceStarted(self):
+ self.__serviceStarted(True)
+ self.onExecBegin.remove(self.__checkServiceStarted)
def __onShow(self):
self.__state = self.STATE_SHOWN