aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2007-08-13 17:02:00 +0000
committerFelix Domke <tmbinc@elitedvb.net>2007-08-13 17:02:00 +0000
commit9ce6ca4f63e908ef0ed64c3cf9d02ed307c2da46 (patch)
tree7251658114344f5295ae33d6c41315752902ca5f
parentea77a638b58160db057dd260cc2b58a4759dacbb (diff)
downloadenigma2-9ce6ca4f63e908ef0ed64c3cf9d02ed307c2da46.tar.gz
enigma2-9ce6ca4f63e908ef0ed64c3cf9d02ed307c2da46.zip
Alter behavior of the zero button in PiP mode. The exact behavior may be
configured by changing the value of the 'Behaviour of 0 key in PiP-mode' property in the settings menu. Possible values are: - standard the behavior of the zero button is remains as is (switch to last channel) - swap the zero button swaps the pip service with the active - swap and stop the zero button swaps the pip service with the active and then turns pip off - stop turns pip off Patch by John Holland <johnbock@i-have-a-dreambox.com>, with some modifications.
-rw-r--r--data/setup.xml1
-rw-r--r--lib/python/Components/UsageConfig.py4
-rw-r--r--lib/python/Screens/InfoBarGenerics.py18
3 files changed, 22 insertions, 1 deletions
diff --git a/data/setup.xml b/data/setup.xml
index aca80401..408927fd 100644
--- a/data/setup.xml
+++ b/data/setup.xml
@@ -29,6 +29,7 @@
<item text="Show infobar on skip forward/backward">config.usage.show_infobar_on_skip</item>
<item text="Show infobar on event change">config.usage.show_infobar_on_event_change</item>
<item text="Custom skip time for 1/3 keys">config.usage.self_defined_seek</item>
+ <item text="Behaviour of 0 key in PiP-mode">config.usage.pip_zero_button</item>
</setup>
<setup key="harddisk" title="Harddisk setup">
<item text="Harddisk standby after">config.usage.hdd_standby</item>
diff --git a/lib/python/Components/UsageConfig.py b/lib/python/Components/UsageConfig.py
index 507696f0..d122a4f7 100644
--- a/lib/python/Components/UsageConfig.py
+++ b/lib/python/Components/UsageConfig.py
@@ -25,6 +25,10 @@ def InitUsageConfig():
("do not change", _("do not change")), ("off", _("off")), ("on", _("on")) ])
config.usage.self_defined_seek = ConfigInteger(default=10, limits=(1,9999))
+ config.usage.pip_zero_button = ConfigSelection(default = "standard", choices = [
+ ("standard", _("standard")), ("swap", _("swap PiP and main picture")),
+ ("swapstop", _("move PiP to main picture")), ("stop", _("stop PiP")) ])
+
def setHDDStandby(configElement):
os.system("hdparm -S" + configElement.value + " /dev/ide/host0/bus0/target0/lun0/disc")
config.usage.hdd_standby.addNotifier(setHDDStandby)
diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py
index 85b1d80f..fd2e0e95 100644
--- a/lib/python/Screens/InfoBarGenerics.py
+++ b/lib/python/Screens/InfoBarGenerics.py
@@ -198,7 +198,10 @@ class InfoBarNumberZap:
def keyNumberGlobal(self, number):
# print "You pressed number " + str(number)
if number == 0:
- self.servicelist.recallPrevService()
+ if isinstance(self, InfoBarPiP) and self.pipHandles0Action():
+ self.pipDoHandle0Action()
+ else:
+ self.servicelist.recallPrevService()
else:
self.session.openWithCallback(self.numberEntered, NumberZap, number)
@@ -1234,6 +1237,9 @@ class InfoBarPiP:
def pipShown(self):
return self.session.pipshown
+ def pipHandles0Action(self):
+ return self.pipShown() and config.usage.pip_zero_button.value != "standard"
+
def getShowHideName(self):
if self.session.pipshown:
return _("Disable Picture in Picture")
@@ -1278,6 +1284,16 @@ class InfoBarPiP:
def movePiP(self):
self.session.open(PiPSetup, pip = self.session.pip)
+ def pipDoHandle0Action(self):
+ use = config.usage.pip_zero_button.value
+ if "swap" == use:
+ self.swapPiP()
+ elif "swapstop" == use:
+ self.swapPiP()
+ self.showPiP()
+ elif "stop" == use:
+ self.showPiP()
+
from RecordTimer import parseEvent
class InfoBarInstantRecord: