X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/8ed4d48a8dc5cf0a399ae147b34f845a15fb94d4..ead18eb53880ecff8c41fa2e2db7ae87e2b950de:/lib/python/Screens/InfoBarGenerics.py diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index 62cc5f3b..f1141923 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -70,7 +70,8 @@ class InfoBarShowHide: self.__event_tracker = ServiceEventTracker(screen=self, eventmap= { - iPlayableService.evStart: self.__serviceStarted + iPlayableService.evStart: self.__serviceStarted, + iPlayableService.evUpdatedEventInfo: self.__eventInfoChanged }) self.__state = self.STATE_SHOWN @@ -82,10 +83,24 @@ class InfoBarShowHide: self.onShow.append(self.__onShow) self.onHide.append(self.__onHide) + self.current_begin_time=0 + + def __eventInfoChanged(self): + if self.execing: + service = self.session.nav.getCurrentService() + old_begin_time = self.current_begin_time + info = service and service.info() + ptr = info and info.getEvent(0) + self.current_begin_time = ptr and ptr.getBeginTime() or 0 + if config.usage.show_infobar_on_event_change.value: + if old_begin_time and old_begin_time != self.current_begin_time: + self.doShow() def __serviceStarted(self): - if config.usage.show_infobar_on_zap.value: - self.doShow() + if self.execing: + self.current_begin_time=0 + if config.usage.show_infobar_on_zap.value: + self.doShow() def __onShow(self): self.__state = self.STATE_SHOWN