X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FInfoBarGenerics.py;h=186b07aea5246bd551ec3e66533442f79af991a5;hp=93a47886db3c846993c6469693f922de75ed82c5;hb=059fdda03072b1be0d67a525f20284df68a84a3c;hpb=df40bb74c9b81ad3d7ad16cb8e6c3ff0f70f649a diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py old mode 100644 new mode 100755 index 93a4788..186b07a --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -47,10 +47,12 @@ from Menu import MainMenu, mdom class InfoBarDish: def __init__(self): self.dishDialog = self.session.instantiateDialog(Dish) + self.dishDialog.setAnimationMode(0) class InfoBarUnhandledKey: def __init__(self): self.unhandledKeyDialog = self.session.instantiateDialog(UnhandledKey) + self.unhandledKeyDialog.setAnimationMode(0) self.hideUnhandledKeySymbolTimer = eTimer() self.hideUnhandledKeySymbolTimer.callback.append(self.unhandledKeyDialog.hide) self.checkUnusedTimer = eTimer() @@ -687,6 +689,7 @@ class InfoBarRdsDecoder: """provides RDS and Rass support/display""" def __init__(self): self.rds_display = self.session.instantiateDialog(RdsInfoDisplay) + self.rds_display.setAnimationMode(0) self.rass_interactive = None self.__event_tracker = ServiceEventTracker(screen=self, eventmap= @@ -772,7 +775,7 @@ class InfoBarSeek: self["SeekActions"] = InfoBarSeekActionMap(self, actionmap, { - "playpauseService": self.playpauseService, + "playpauseService": (self.playpauseService, _("Pause/Continue")), "pauseService": (self.pauseService, _("pause")), "unPauseService": (self.unPauseService, _("continue")), @@ -1105,6 +1108,7 @@ class InfoBarPVRState: def __init__(self, screen=PVRState, force_show = False): self.onPlayStateChanged.append(self.__playStateChanged) self.pvrStateDialog = self.session.instantiateDialog(screen) + self.pvrStateDialog.setAnimationMode(0) self.onShow.append(self._mayShow) self.onHide.append(self.pvrStateDialog.hide) self.force_show = force_show @@ -1318,6 +1322,9 @@ class InfoBarExtensions: "extensions": (self.showExtensionSelection, _("view extensions...")), }, 1) # lower priority + for p in plugins.getPlugins(PluginDescriptor.WHERE_EXTENSIONSINGLE): + p(self) + def addExtension(self, extension, key = None, type = EXTENSION_SINGLE): self.list.append((type, extension, key)) @@ -1459,6 +1466,7 @@ class InfoBarPiP: self.session.pipshown = False else: self.session.pip = self.session.instantiateDialog(PictureInPicture) + self.session.pip.setAnimationMode(0) self.session.pip.show() newservice = self.session.nav.getCurrentlyPlayingServiceReference() if self.session.pip.playService(newservice): @@ -1654,6 +1662,11 @@ class InfoBarInstantRecord: dir = preferredInstantRecordPath() if not dir or not fileExists(dir, 'w'): dir = defaultMoviePath() + + if not fileExists("/hdd", 0): + print "not found /hdd" + system("ln -s /media/hdd /hdd") +# try: stat = os_stat(dir) except: @@ -1823,6 +1836,67 @@ class InfoBarSubserviceSelection: else: del self.selectedSubservice +from Components.Sources.HbbtvApplication import HbbtvApplication +gHbbtvApplication = HbbtvApplication() +class InfoBarRedButton: + def __init__(self): + if not (config.misc.rcused.value == 1): + self["RedButtonActions"] = HelpableActionMap(self, "InfobarRedButtonActions", + { + "activateRedButton": (self.activateRedButton, _("Red button...")), + }) + self["HbbtvApplication"] = gHbbtvApplication + else: + self["HbbtvApplication"] = Boolean(fixed=0) + self["HbbtvApplication"].name = "" #is this a hack? + + self.onHBBTVActivation = [ ] + self.onRedButtonActivation = [ ] + self.onReadyForAIT = [ ] + self.__et = ServiceEventTracker(screen=self, eventmap= + { + iPlayableService.evHBBTVInfo: self.detectedHbbtvApplication, + iPlayableService.evUpdatedInfo: self.updateInfomation + }) + + def updateAIT(self, orgId=0): + for x in self.onReadyForAIT: + try: + x(orgId) + except Exception, ErrMsg: + print ErrMsg + #self.onReadyForAIT.remove(x) + + def updateInfomation(self): + try: + self["HbbtvApplication"].setApplicationName("") + self.updateAIT() + except Exception, ErrMsg: + pass + + def detectedHbbtvApplication(self): + service = self.session.nav.getCurrentService() + info = service and service.info() + try: + for x in info.getInfoObject(iServiceInformation.sHBBTVUrl): + print x + if x[0] in (-1, 1): + self.updateAIT(x[3]) + self["HbbtvApplication"].setApplicationName(x[1]) + break + except Exception, ErrMsg: + pass + + def activateRedButton(self): + service = self.session.nav.getCurrentService() + info = service and service.info() + if info and info.getInfoString(iServiceInformation.sHBBTVUrl) != "": + for x in self.onHBBTVActivation: + x() + elif False: # TODO: other red button services + for x in self.onRedButtonActivation: + x() + class InfoBarAdditionalInfo: def __init__(self): @@ -2161,6 +2235,7 @@ class InfoBarSubtitleSupport(object): def __init__(self): object.__init__(self) self.subtitle_window = self.session.instantiateDialog(SubtitleDisplay) + self.subtitle_window.setAnimationMode(0) self.__subtitles_enabled = False self.__event_tracker = ServiceEventTracker(screen=self, eventmap= @@ -2179,8 +2254,7 @@ class InfoBarSubtitleSupport(object): self.__selected_subtitle = None def __updatedInfo(self): - if not self.cached_subtitle_checked: - self.cached_subtitle_checked = True + if not self.__selected_subtitle: subtitle = self.getCurrentServiceSubtitle() self.setSelectedSubtitle(subtitle and subtitle.getCachedSubtitle()) if self.__selected_subtitle: @@ -2201,7 +2275,7 @@ class InfoBarSubtitleSupport(object): else: if subtitle: subtitle.disableSubtitles(self.subtitle_window.instance) - self.__selected_subtitle = False + self.__selected_subtitle = None self.__subtitles_enabled = False self.subtitle_window.hide()