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()
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[:]
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