+ def ChannelSelectionRadioClosed(self, *arg):
+ self.rds_display.show() # in InfoBarRdsDecoder
+
+ def showMovies(self):
+ from Screens.MovieSelection import MovieSelection
+ self.session.openWithCallback(self.movieSelected, MovieSelection)
+
+ def movieSelected(self, service):
+ if service is not None:
+ self.session.open(MoviePlayer, service)
+
+class MoviePlayer(InfoBarBase, InfoBarShowHide, \
+ InfoBarMenu, \
+ InfoBarSeek, InfoBarShowMovies, InfoBarAudioSelection, HelpableScreen, InfoBarNotifications,
+ InfoBarServiceNotifications, InfoBarPVRState, InfoBarCueSheetSupport, InfoBarSimpleEventView,
+ InfoBarMoviePlayerSummarySupport, InfoBarSubtitleSupport, Screen, InfoBarTeletextPlugin,
+ InfoBarServiceErrorPopupSupport, InfoBarExtensions, InfoBarPlugins, InfoBarPiP):
+
+ ENABLE_RESUME_SUPPORT = True
+ ALLOW_SUSPEND = True
+
+ def __init__(self, session, service):
+ Screen.__init__(self, session)
+
+ self["actions"] = HelpableActionMap(self, "MoviePlayerActions",
+ {
+ "leavePlayer": (self.leavePlayer, _("leave movie player..."))
+ })
+
+ self.allowPiP = False
+
+ for x in HelpableScreen, InfoBarShowHide, InfoBarMenu, \
+ InfoBarBase, InfoBarSeek, InfoBarShowMovies, \
+ InfoBarAudioSelection, InfoBarNotifications, InfoBarSimpleEventView, \
+ InfoBarServiceNotifications, InfoBarPVRState, InfoBarCueSheetSupport, \
+ InfoBarMoviePlayerSummarySupport, InfoBarSubtitleSupport, \
+ InfoBarTeletextPlugin, InfoBarServiceErrorPopupSupport, InfoBarExtensions, \
+ InfoBarPlugins, InfoBarPiP:
+ x.__init__(self)
+
+ self.lastservice = session.nav.getCurrentlyPlayingServiceReference()
+ session.nav.playService(service)
+ self.returning = False
+ self.onClose.append(self.__onClose)
+
+ def __onClose(self):
+ self.session.nav.playService(self.lastservice)
+
+ def handleLeave(self, how):
+ self.is_closing = True
+ if how == "ask":
+ if config.usage.setup_level.index < 2: # -expert
+ list = (
+ (_("Yes"), "quit"),
+ (_("No"), "continue")
+ )
+ else:
+ list = (
+ (_("Yes"), "quit"),
+ (_("Yes, returning to movie list"), "movielist"),
+ (_("Yes, and delete this movie"), "quitanddelete"),
+ (_("No"), "continue"),
+ (_("No, but restart from begin"), "restart")
+ )
+
+ from Screens.ChoiceBox import ChoiceBox
+ self.session.openWithCallback(self.leavePlayerConfirmed, ChoiceBox, title=_("Stop playing this movie?"), list = list)