diff options
| author | thedoc <thedoc@atom.(none)> | 2009-12-15 15:38:30 +0100 |
|---|---|---|
| committer | thedoc <thedoc@atom.(none)> | 2010-01-01 15:28:55 +0100 |
| commit | 030f977e0a582b9ab6c7bc0ab39d7219f8a8ae97 (patch) | |
| tree | 2906efcb9de2dbfa57e2704db5caea9fcb3c3393 /lib/python | |
| parent | 1bc8dc3d42231058a3dc71bcb72f212224daeeec (diff) | |
| download | enigma2-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/python')
| -rw-r--r-- | lib/python/Screens/ChannelSelection.py | 17 |
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() |
