Quantcast
Channel: [EN] Enduser support
Viewing all articles
Browse latest Browse all 10523

Add open EPG channel selection for MoviePlayer

$
0
0

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)
+

 

 


Viewing all articles
Browse latest Browse all 10523

Trending Articles