aboutsummaryrefslogtreecommitdiff
path: root/mytest.py
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-11-08 14:10:32 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-11-08 14:10:32 +0000
commitace3f764c4db999f9e63a904caf14282a7e3626f (patch)
tree40c403f7334f12e203ecf793ba35af72f7b258da /mytest.py
parent1096b055add5f5f5d5a3ba9f004d335d4567f0ca (diff)
downloadenigma2-ace3f764c4db999f9e63a904caf14282a7e3626f.tar.gz
enigma2-ace3f764c4db999f9e63a904caf14282a7e3626f.zip
show shutdown menu on long power button press
the old behavior (immediate shutdown) is choosable in usage config
Diffstat (limited to 'mytest.py')
-rw-r--r--mytest.py51
1 files changed, 33 insertions, 18 deletions
diff --git a/mytest.py b/mytest.py
index 3a5ec3ec..79dd6277 100644
--- a/mytest.py
+++ b/mytest.py
@@ -393,36 +393,51 @@ class VolumeControl:
self.volumeDialog.setValue(vol)
import Screens.Standby
+from Screens.Menu import MainMenu, mdom
+import xml.dom.minidom
class PowerKey:
""" PowerKey stuff - handles the powerkey press and powerkey release actions"""
def __init__(self, session):
self.session = session
- self.powerKeyTimer = eTimer()
- self.powerKeyTimer.timeout.get().append(self.powertimer)
- globalActionMap.actions["powerdown"]=self.powerdown
- globalActionMap.actions["powerup"]=self.powerup
+ globalActionMap.actions["power_down"]=self.powerdown
+ globalActionMap.actions["power_up"]=self.powerup
+ globalActionMap.actions["power_long"]=self.powerlong
self.standbyblocked = 1
-# self["PowerKeyActions"] = HelpableActionMap(self, "PowerKeyActions",
- #{
- #"powerdown": self.powerdown,
- #"powerup": self.powerup,
- #"discreteStandby": (self.standby, "Go standby"),
- #"discretePowerOff": (self.quit, "Go to deep standby"),
- #})
-
- def powertimer(self):
- print "PowerOff - Now!"
- if not Screens.Standby.inTryQuitMainloop:
- self.session.open(Screens.Standby.TryQuitMainloop, 1)
+
+ def MenuClosed(self, *val):
+ self.session.infobar = None
+
+ def powerlong(self):
+ self.standbyblocked = 1
+ action = config.usage.on_long_powerpress.value
+ if action == "shutdown":
+ print "PowerOff - Now!"
+ if not Screens.Standby.inTryQuitMainloop:
+ self.session.open(Screens.Standby.TryQuitMainloop, 1)
+ elif action == "show_menu":
+ print "Show shutdown Menu"
+ menu = mdom.childNodes[0]
+ for x in menu.childNodes:
+ if x.nodeType != xml.dom.minidom.Element.nodeType:
+ continue
+ elif x.tagName == 'menu':
+ for y in x.childNodes:
+ if y.nodeType != xml.dom.minidom.Element.nodeType:
+ continue
+ elif y.tagName == 'id':
+ id = y.getAttribute("val")
+ if id and id == "shutdown":
+ self.session.infobar = self
+ menu_screen = self.session.openWithCallback(self.MenuClosed, MainMenu, menu, x.childNodes)
+ menu_screen.setTitle(_("Standby Menu"))
+ return
def powerdown(self):
self.standbyblocked = 0
- self.powerKeyTimer.start(3000, True)
def powerup(self):
- self.powerKeyTimer.stop()
if self.standbyblocked == 0:
self.standbyblocked = 1
self.standby()