git.cweiske.de
/
enigma2.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
92c5817
)
add actionmap disable support
author
Felix Domke
<tmbinc@elitedvb.net>
Thu, 19 Jan 2006 22:53:23 +0000
(22:53 +0000)
committer
Felix Domke
<tmbinc@elitedvb.net>
Thu, 19 Jan 2006 22:53:23 +0000
(22:53 +0000)
lib/python/Components/ActionMap.py
patch
|
blob
|
history
diff --git
a/lib/python/Components/ActionMap.py
b/lib/python/Components/ActionMap.py
index 046a92d98ee2cf88b68b041e0e5e8dec9f8bf123..a6f5eb9c9773743861bb45995c549f965208ae16 100644
(file)
--- a/
lib/python/Components/ActionMap.py
+++ b/
lib/python/Components/ActionMap.py
@@
-6,15
+6,40
@@
class ActionMap:
self.contexts = contexts
self.prio = prio
self.p = eActionMapPtr()
self.contexts = contexts
self.prio = prio
self.p = eActionMapPtr()
+ self.bound = False
+ self.exec_active = False
+ self.enabled = True
eActionMap.getInstance(self.p)
eActionMap.getInstance(self.p)
+
+ def setEnabled(self, enabled):
+ self.enabled = enabled
+ self.checkBind()
+
+ def doBind(self):
+ if not self.bound:
+ for ctx in self.contexts:
+ self.p.bindAction(ctx, self.prio, self.action)
+ self.bound = True
+
+ def doUnbind(self):
+ if self.bound:
+ for ctx in self.contexts:
+ self.p.unbindAction(ctx, self.action)
+ self.bound = False
+
+ def checkBind(self):
+ if self.exec_active and self.enabled:
+ self.doBind()
+ else:
+ self.doUnbind()
def execBegin(self):
def execBegin(self):
- for ctx in self.contexts:
-
self.p.bindAction(ctx, self.prio, self.action
)
+ self.exec_active = True
+
self.checkBind(
)
def execEnd(self):
def execEnd(self):
- for ctx in self.contexts:
-
self.p.unbindAction(ctx, self.action
)
+ self.exec_active = False
+
self.checkBind(
)
def action(self, context, action):
print " ".join(("action -> ", context, action))
def action(self, context, action):
print " ".join(("action -> ", context, action))