aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorthedoc <thedoc@atom.(none)>2009-12-15 15:38:30 +0100
committerthedoc <thedoc@atom.(none)>2010-01-01 15:28:55 +0100
commit030f977e0a582b9ab6c7bc0ab39d7219f8a8ae97 (patch)
tree2906efcb9de2dbfa57e2704db5caea9fcb3c3393 /lib
parent1bc8dc3d42231058a3dc71bcb72f212224daeeec (diff)
downloadenigma2-030f977e0a582b9ab6c7bc0ab39d7219f8a8ae97.tar.gz
enigma2-030f977e0a582b9ab6c7bc0ab39d7219f8a8ae97.zip
fixes bug #269
add "activate picture in picture" to ChannelSelection context menu to activate PiP for the currently selected service
Diffstat (limited to 'lib')
-rw-r--r--lib/python/Screens/ChannelSelection.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/python/Screens/ChannelSelection.py b/lib/python/Screens/ChannelSelection.py
index 0432823b..d4a098c3 100644
--- a/lib/python/Screens/ChannelSelection.py
+++ b/lib/python/Screens/ChannelSelection.py
@@ -25,6 +25,7 @@ from Screens.InputBox import InputBox, PinInput
from Screens.MessageBox import MessageBox
from Screens.ServiceInfo import ServiceInfo
profile("ChannelSelection.py 4")
+from Screens.PictureInPicture import PictureInPicture
from Screens.RdsDisplay import RassInteractive
from ServiceReference import ServiceReference
from Tools.BoundFunction import boundFunction
@@ -101,6 +102,7 @@ class ChannelContextMenu(Screen):
if not inBouquetRootList:
isPlayable = not (current_sel_flags & (eServiceReference.isMarker|eServiceReference.isDirectory))
if isPlayable:
+ append_when_current_valid(current, menu, (_("Activate Picture in Picture"), self.showServiceInPiP), level = 0)
if config.ParentalControl.configured.value:
if parentalControl.getProtectionLevel(csel.getCurrentSelection().toCompareString()) == -1:
append_when_current_valid(current, menu, (_("add to parental protection"), boundFunction(self.addParentalProtection, csel.getCurrentSelection())), level = 0)
@@ -189,6 +191,21 @@ class ChannelContextMenu(Screen):
self.close()
else:
self.session.openWithCallback(self.close, MessageBox, _("The pin code you entered is wrong."), MessageBox.TYPE_ERROR)
+
+ def showServiceInPiP(self):
+ if self.session.pipshown:
+ del self.session.pip
+ self.session.pip = self.session.instantiateDialog(PictureInPicture)
+ self.session.pip.show()
+ newservice = self.csel.servicelist.getCurrent()
+ if self.session.pip.playService(newservice):
+ self.session.pipshown = True
+ self.session.pip.servicePath = self.csel.getCurrentServicePath()
+ self.close()
+ else:
+ self.session.pipshown = False
+ del self.session.pip
+ self.session.openWithCallback(self.close, MessageBox, _("Could not open Picture in Picture"), MessageBox.TYPE_ERROR)
def addServiceToBouquetSelected(self):
bouquets = self.csel.getBouquetList()