X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=mytest.py;h=d594af38a1330d53864ba2341a439ad538e935f1;hp=680f198d35f58808297c0899a60db30812388234;hb=d90dbdc59343556b52e40049e890a085773a3b51;hpb=323ac4a566f7c1ea9006eaf58eae915fac00071b diff --git a/mytest.py b/mytest.py index 680f198..d594af3 100644 --- a/mytest.py +++ b/mytest.py @@ -4,6 +4,12 @@ from tools import * from Components.Language import language +def setEPGLanguage(): + print "language set to", language.getLanguage() + eServiceEvent.setEPGLanguage(language.getLanguage()) + +language.addCallback(setEPGLanguage) + import traceback import Screens.InfoBar from Screens.SimpleSummary import SimpleSummary @@ -94,10 +100,13 @@ class Session: self.dialog_stack = [ ] 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 @@ -114,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() @@ -130,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) @@ -224,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: @@ -302,10 +321,51 @@ class VolumeControl: else: self.muteDialog.hide() -def runScreenTest(): - session = Session(desktop = getDesktop(0), summary_desktop = getDesktop(1), navigation = Navigation()) +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)) + + session = Session(desktop = getDesktop(0), summary_desktop = getDesktop(1), navigation = Navigation()) screensToRun = [ ] @@ -333,6 +393,7 @@ def runScreenTest(): CONNECT(keyPressedSignal(), session.keyEvent) vol = VolumeControl(session) + power = PowerKey(session) runReactor() @@ -354,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()