diff options
-rw-r--r-- | src/plugin_manager.py | 5 | ||||
-rw-r--r-- | src/tabs.py | 9 |
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): """ |