summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2011-11-13 00:25:30 +0100
committermathieui <mathieui@mathieui.net>2011-11-13 00:25:30 +0100
commit4b02b1a8123505607de90db7a82b485d302f0267 (patch)
treec97054056e49bfafdb937da9c421bd9cf3c638af
parentcc4f6c8b4c7b1a02ed11bfe48f03eefedde2ecaa (diff)
downloadpoezio-4b02b1a8123505607de90db7a82b485d302f0267.tar.gz
poezio-4b02b1a8123505607de90db7a82b485d302f0267.tar.bz2
poezio-4b02b1a8123505607de90db7a82b485d302f0267.tar.xz
poezio-4b02b1a8123505607de90db7a82b485d302f0267.zip
Fix add_tab_command (and remove)
-rw-r--r--src/plugin_manager.py5
-rw-r--r--src/tabs.py9
2 files changed, 5 insertions, 9 deletions
diff --git a/src/plugin_manager.py b/src/plugin_manager.py
index fe4d2b7e..437d8ee2 100644
--- a/src/plugin_manager.py
+++ b/src/plugin_manager.py
@@ -99,12 +99,15 @@ class PluginManager(object):
def add_tab_command(self, module_name, tab_type, name, handler, help, completion=None):
commands = self.tab_commands[module_name]
t = tab_type.__name__
+ if name in tab_type.plugin_commands:
+ return
if not t in commands:
commands[t] = []
commands[t].append((name, handler, help, completion))
+ tab_type.plugin_commands[name] = (handler, help, completion)
for tab in self.core.tabs:
if isinstance(tab, tab_type):
- tab.add_plugin_command(name, handler, help, completion)
+ tab.update_commands()
def del_tab_command(self, module_name, tab_type, name):
commands = self.tab_commands[module_name]
diff --git a/src/tabs.py b/src/tabs.py
index 472a15fa..28bb90d2 100644
--- a/src/tabs.py
+++ b/src/tabs.py
@@ -222,17 +222,10 @@ class Tab(object):
def on_input(self, key):
pass
- def add_plugin_command(self, name, handler, help, completion=None):
- if name in self.plugin_commands or name in self.commands:
- return
- self.plugin_commands[name] = (handler, help, completion)
- self.commands[name] = (handler, help, completion)
- self.update_commands()
-
def update_commands(self):
for c in self.plugin_commands:
if not c in self.commands:
- self.commands[name] = self.plugin_commands[c]
+ self.commands[c] = self.plugin_commands[c]
def on_lose_focus(self):
"""