From 4b02b1a8123505607de90db7a82b485d302f0267 Mon Sep 17 00:00:00 2001
From: mathieui <mathieui@mathieui.net>
Date: Sun, 13 Nov 2011 00:25:30 +0100
Subject: Fix add_tab_command (and remove)

---
 src/plugin_manager.py | 5 ++++-
 src/tabs.py           | 9 +--------
 2 files changed, 5 insertions(+), 9 deletions(-)

(limited to 'src')

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):
         """
-- 
cgit v1.2.3