X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/a36d71485cec16ba09beb5c267a4467d0f10bb1f..ea9231ad7229f47ebf117a3b4894a9e4e7a3c40a:/mytest.py diff --git a/mytest.py b/mytest.py index 66d9eb39..38e18d69 100644 --- a/mytest.py +++ b/mytest.py @@ -1,4 +1,3 @@ -from Tools import RedirectOutput, RedirectTime from enigma import runMainloop, eDVBDB, eTimer, quitMainloop, eDVBVolumecontrol, \ getDesktop, ePythonConfigQuery, eAVSwitch, eWindow, eServiceEvent from tools import * @@ -17,8 +16,6 @@ from Screens.SimpleSummary import SimpleSummary from sys import stdout, exc_info -import ServiceReference - from Components.ParentalControl import InitParentalControl InitParentalControl() @@ -34,12 +31,12 @@ eDVBDB.getInstance().reloadBouquets() config.misc.radiopic = ConfigText(default = resolveFilename(SCOPE_SKIN_IMAGE)+"radio.mvi") try: - import e2reactor - e2reactor.install() - import twisted.python.runtime twisted.python.runtime.platform.supportsThreads = lambda: False + import e2reactor + e2reactor.install() + from twisted.internet import reactor def runReactor(): @@ -95,6 +92,12 @@ class GUIOutputDevice(OutputDevice): def create(self, comp, desktop): comp.createGUIScreen(self.parent, desktop) +from Screens.Globals import Globals +from Screens.SessionGlobals import SessionGlobals +from Screens.Screen import Screen + +Screen.global_screen = Globals() + # Session.open: # * push current active dialog ('current_dialog') onto stack # * call execEnd for this dialog @@ -136,6 +139,8 @@ class Session: self.in_exec = False + self.screen = SessionGlobals(self) + for p in plugins.getPlugins(PluginDescriptor.WHERE_SESSIONSTART): p(reason=0, session=self) @@ -388,36 +393,55 @@ 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 + globalActionMap.actions["deepstandby"]=self.shutdown # frontpanel long power button press 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): + + def MenuClosed(self, *val): + self.session.infobar = None + + def shutdown(self): print "PowerOff - Now!" if not Screens.Standby.inTryQuitMainloop: self.session.open(Screens.Standby.TryQuitMainloop, 1) + + def powerlong(self): + self.standbyblocked = 1 + action = config.usage.on_long_powerpress.value + if action == "shutdown": + self.shutdown() + 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, x, x.childNodes) + menu_screen.setTitle(_("Standby / Restart")) + 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() @@ -521,8 +545,6 @@ def runScreenTest(): return 0 -import keymapparser -keymapparser.readKeymap() import skin skin.loadSkinData(getDesktop(0)) @@ -538,6 +560,9 @@ Components.RecordingConfig.InitRecordingConfig() import Components.UsageConfig Components.UsageConfig.InitUsageConfig() +import keymapparser +keymapparser.readKeymap(config.usage.keymap.value) + import Components.Network Components.Network.InitNetwork() @@ -550,8 +575,6 @@ Components.SetupDevices.InitSetupDevices() import Components.RFmod Components.RFmod.InitRFmod() -import Components.NimManager - import Screens.Ci Screens.Ci.InitCiConfig()