In my opinion, this feature is a must when watching videos.
--- a/ChannelSelection.py +++ b/ChannelSelection.py @@ -1960,6 +1960,9 @@ def layoutFinished(self): self.setModeTv() + def BouqetNumberActions(self, number): + pass + def channelSelected(self): # just return selected service ref = self.getCurrentSelection() if (ref.flags & eServiceReference.flagDirectory) == eServiceReference.flagDirectory: --- a/InfoBar.py +++ b/InfoBar.py @@ -146,6 +146,8 @@ self["actions"] = HelpableActionMap(self, "MoviePlayerActions", { + "channelUp": (self.openEPGserviceList, _("open EPG channel selection...")), + "channelDown": (self.openEPGserviceList, _("open EPG channel selection...")), "leavePlayer": (self.leavePlayer, _("leave movie player...")), "leavePlayerOnExit": (self.leavePlayerOnExit, _("leave movie player...")) }) @@ -384,6 +386,13 @@ def swapPiP(self): pass + def movePiP(self): + if self.session.pipshown: + InfoBarPiP.movePiP(self) + + def openEPGserviceList(self): + self.session.open(MoviePlayerEPGselection, _("EPG Channel Selection")) + def showMovies(self): ref = self.session.nav.getCurrentlyPlayingServiceOrGroup() self.playingservice = ref # movie list may change the currently playing @@ -424,3 +433,26 @@ def ref2HumanName(self, ref): return enigma.eServiceCenter.getInstance().info(ref).getName(ref) + +from Screens.ChannelSelection import SimpleChannelSelection +from Screens.EpgSelection import EPGSelection +from enigma import eServiceReference + +class MoviePlayerEPGselection(SimpleChannelSelection): + def __init__(self, session, title): + SimpleChannelSelection.__init__(self, session, title) + self.skinName = "SimpleChannelSelection" + + def channelSelected(self): + ref = self.getCurrentSelection() + if (ref.flags & eServiceReference.flagDirectory) == eServiceReference.flagDirectory: + self.enterPath(ref) + self.gotoCurrentServiceOrProvider(ref) + elif not (ref.flags & eServiceReference.isMarker): + ref = self.getCurrentSelection() + self.session.openWithCallback(self.closed, EPGSelection, ref) + + def closed(self, ret=None): + if ret: + self.close(ret) +