X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/08fca93e7f2a37a452399d08c5c84b969b7e52af..70e37dc93d9fc21482de4ca0c041bb646c9ab2a0:/mytest.py diff --git a/mytest.py b/mytest.py index 13d39800..d594af38 100644 --- a/mytest.py +++ b/mytest.py @@ -101,12 +101,12 @@ class Session: self.summary_stack = [ ] self.summary = None + self.in_exec = False + for p in plugins.getPlugins(PluginDescriptor.WHERE_SESSIONSTART): p(reason=0, session=self) def processDelay(self): - self.execEnd() - callback = self.current_dialog.callback retval = self.current_dialog.returnValue @@ -123,6 +123,8 @@ class Session: callback(*retval) def execBegin(self): + assert not self.in_exec + self.in_exec = True c = self.current_dialog self.pushSummary() @@ -139,6 +141,9 @@ class Session: c.show() def execEnd(self): + assert self.in_exec + self.in_exec = False + self.current_dialog.execEnd() self.current_dialog.hide() self.current_dialog.removeSummary(self.summary) @@ -233,8 +238,13 @@ class Session: print "code " + str(code) def close(self, *retval): + if not self.in_exec: + print "close after exec!" + return + self.current_dialog.returnValue = retval self.delay_timer.start(0, 1) + self.execEnd() def pushSummary(self): if self.summary is not None: @@ -311,6 +321,47 @@ class VolumeControl: else: self.muteDialog.hide() +from Screens.Standby import Standby + +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 + self.standbyblocked = 0 +# 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!" + self.quit() + + 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() + + def standby(self): + self.session.open(Standby, self) + + def quit(self): + # halt + quitMainloop(1) + def runScreenTest(): plugins.readPluginList(resolveFilename(SCOPE_PLUGINS)) @@ -342,6 +393,7 @@ def runScreenTest(): CONNECT(keyPressedSignal(), session.keyEvent) vol = VolumeControl(session) + power = PowerKey(session) runReactor() @@ -363,7 +415,7 @@ def runScreenTest(): import keymapparser keymapparser.readKeymap() import skin -skin.loadSkin(getDesktop(0)) +skin.loadSkinData(getDesktop(0)) import Components.InputDevice Components.InputDevice.InitInputDevices()