X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/76fd7edbde9597007b9ab33b59b735c378043980..2c9a0e18d4ad0b5a73abb5466ea2f70b61daf7fa:/lib/python/Components/ActionMap.py diff --git a/lib/python/Components/ActionMap.py b/lib/python/Components/ActionMap.py index a6f5eb9c..b65d6ebc 100644 --- a/lib/python/Components/ActionMap.py +++ b/lib/python/Components/ActionMap.py @@ -1,16 +1,15 @@ -from enigma import * +from enigma import eActionMap class ActionMap: def __init__(self, contexts = [ ], actions = { }, prio=0): self.actions = actions self.contexts = contexts self.prio = prio - self.p = eActionMapPtr() + self.p = eActionMap.getInstance() self.bound = False self.exec_active = False self.enabled = True - eActionMap.getInstance(self.p) - + def setEnabled(self, enabled): self.enabled = enabled self.checkBind() @@ -44,17 +43,24 @@ class ActionMap: def action(self, context, action): print " ".join(("action -> ", context, action)) if self.actions.has_key(action): - self.actions[action]() + res = self.actions[action]() + if res is not None: + return res return 1 else: print "unknown action %s/%s! typo in keymap?" % (context, action) return 0 + def destroy(self): + pass + class NumberActionMap(ActionMap): def action(self, contexts, action): numbers = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] if (action in numbers and self.actions.has_key(action)): - self.actions[action](int(action)) + res = self.actions[action](int(action)) + if res is not None: + return res return 1 else: return ActionMap.action(self, contexts, action)