diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2007-06-14 21:09:07 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2007-06-14 21:09:07 +0000 |
| commit | f412f2579647e5b4b9857acaa4a1b29ff191533e (patch) | |
| tree | 19ca43a07257afe6d005d675d831f00a4518f43d /lib/python | |
| parent | aac552982ff936e76416d0b478dbcbc54528a062 (diff) | |
| download | enigma2-f412f2579647e5b4b9857acaa4a1b29ff191533e.tar.gz enigma2-f412f2579647e5b4b9857acaa4a1b29ff191533e.zip | |
fix showing of infobar on servicechange via servicelist
Diffstat (limited to 'lib/python')
| -rw-r--r-- | lib/python/Screens/ChannelSelection.py | 7 | ||||
| -rw-r--r-- | lib/python/Screens/InfoBarGenerics.py | 11 |
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 |
