X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FInfoBarGenerics.py;h=528bca2e3bce0d2b023cadc7199472e7642fd393;hb=9fe975821792486e21350b365217717ed29ca9bb;hp=2f7b36c3e3855163c3b70374240c7757cb6b68a3;hpb=377d4210692cf494933638cce3b21da3189fb613;p=vuplus_dvbapp diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index 2f7b36c..528bca2 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -258,7 +258,8 @@ class InfoBarChannelSelection: "zapUp": (self.zapUp, _("previous channel")), "zapDown": (self.zapDown, _("next channel")), "historyBack": (self.historyBack, _("previous channel in history")), - "historyNext": (self.historyNext, _("next channel in history")) + "historyNext": (self.historyNext, _("next channel in history")), + "openServiceList": (self.openServiceList, _("open service list")), }) def firstRun(self): @@ -280,6 +281,9 @@ class InfoBarChannelSelection: def switchChannelDown(self): self.servicelist.moveDown() self.session.execDialog(self.servicelist) + + def openServiceList(self): + self.session.execDialog(self.servicelist) def zapUp(self): if currentConfigSelectionElement(config.usage.quickzap_bouquet_change) == "yes": @@ -681,6 +685,8 @@ class InfoBarSeek: def unPauseService(self): print "unpause" + if self.seekstate == self.SEEK_STATE_PLAY: + return 0 self.setSeekState(self.SEEK_STATE_PLAY); def doSeek(self, seektime): @@ -1022,6 +1028,7 @@ class InfoBarExtensions: PIPOFF = 1 MOVEPIP = 2 PIPSWAP = 3 + ENABLE_SUBTITLE = 4 def extensions(self): list = [] @@ -1031,6 +1038,13 @@ class InfoBarExtensions: list.append((_("Disable Picture in Picture"), self.PIPOFF)) list.append((_("Move Picture in Picture"), self.MOVEPIP)) list.append((_("Swap services"), self.PIPSWAP)) + + s = self.getCurrentServiceSubtitle() + l = s and s.getSubtitleList() or [ ] + + for x in l: + list.append(("DEBUG: Enable Subtitles: " + x[0], self.ENABLE_SUBTITLE, x[1])) + self.session.openWithCallback(self.extensionCallback, ChoiceBox, title=_("Please choose an extension..."), list = list) def extensionCallback(self, answer): @@ -1056,6 +1070,9 @@ class InfoBarExtensions: elif answer[1] == self.MOVEPIP: self.session.open(PiPSetup, pip = self.pip) + elif answer[1] == self.ENABLE_SUBTITLE: + self.selected_subtitle = answer[2] + self.subtitles_enabled = True from RecordTimer import parseEvent @@ -1617,6 +1634,7 @@ class InfoBarSubtitleSupport(object): # reenable if it was enabled r = self.__subtitles_enabled self.__subtitles_enabled = False + self.__selected_subtitle = None self.setSubtitlesEnable(r) def getCurrentServiceSubtitle(self): @@ -1625,9 +1643,9 @@ class InfoBarSubtitleSupport(object): def setSubtitlesEnable(self, enable=True): subtitle = self.getCurrentServiceSubtitle() - if enable: + if enable and self.__selected_subtitle: if subtitle and not self.__subtitles_enabled: - subtitle.enableSubtitles(self.subtitle_window.instance, 0) + subtitle.enableSubtitles(self.subtitle_window.instance, self.selected_subtitle) self.subtitle_window.show() self.__subtitles_enabled = True else: @@ -1636,5 +1654,14 @@ class InfoBarSubtitleSupport(object): self.subtitle_window.hide() self.__subtitles_enabled = False - - subtitlesEnabled = property(lambda self: self.__subtitlesEnabled, setSubtitlesEnable) + + def setSelectedSubtitle(self, subtitle): + if self.__selected_subtitle != subtitle and self.subtitles_enabled: + # kick + self.__selected_subtitle = subtitle + self.__serviceStarted() + else: + self.__selected_subtitle = subtitle + + subtitles_enabled = property(lambda self: self.__subtitles_enabled, setSubtitlesEnable) + selected_subtitle = property(lambda self: self.__selected_subtitle, setSelectedSubtitle)