changeset 316a272ea2f0 in /home/hg/repos/gajim

details:http://hg.gajim.org/gajim?cmd=changeset;node=316a272ea2f0
description: don't load unactivatable plugins

diffstat:

 src/plugins/gui.py           |  9 ++++++---
 src/plugins/plugin.py        |  1 +
 src/plugins/pluginmanager.py |  5 +++--
 3 files changed, 10 insertions(+), 5 deletions(-)

diffs (61 lines):

diff -r f922ac45c66b -r 316a272ea2f0 src/plugins/gui.py
--- a/src/plugins/gui.py        Mon Apr 30 00:43:18 2012 +0200
+++ b/src/plugins/gui.py        Mon Apr 30 21:04:37 2012 +0200
@@ -114,10 +114,13 @@
 
         desc_textbuffer = self.plugin_description_textview.get_buffer()
         from plugins.plugins_i18n import _
-        desc_textbuffer.set_text(_(plugin.description))
+        txt = plugin.description
+        if plugin.available_text:
+            txt += '\n\n' + _('Warning: %s') % plugin.available_text
+        desc_textbuffer.set_text(txt)
         self.plugin_description_textview.set_property('sensitive', True)
         self.uninstall_plugin_button.set_property('sensitive',
-                                    gajim.PLUGINS_DIRS[1] in plugin.__path__)
+            gajim.PLUGINS_DIRS[1] in plugin.__path__)
         if plugin.config_dialog is None:
             self.configure_plugin_button.set_property('sensitive', False)
         else:
@@ -145,7 +148,7 @@
 
         for plugin in pm.plugins:
             self.installed_plugins_model.append([plugin, plugin.name,
-                plugin.active, plugin.activatable])
+                plugin.active and plugin.activatable, plugin.activatable])
 
     @log_calls('PluginsWindow')
     def installed_plugins_toggled_cb(self, cell, path):
diff -r f922ac45c66b -r 316a272ea2f0 src/plugins/plugin.py
--- a/src/plugins/plugin.py     Mon Apr 30 00:43:18 2012 +0200
+++ b/src/plugins/plugin.py     Mon Apr 30 21:04:37 2012 +0200
@@ -155,6 +155,7 @@
         :type: `plugins.plugin.GajimPluginConfig`
         '''
         self.activatable = True
+        self.available_text = ''
         self.load_config()
         self.config_dialog = GajimPluginConfigDialog(self)
         self.init()
diff -r f922ac45c66b -r 316a272ea2f0 src/plugins/pluginmanager.py
--- a/src/plugins/pluginmanager.py      Mon Apr 30 00:43:18 2012 +0200
+++ b/src/plugins/pluginmanager.py      Mon Apr 30 21:04:37 2012 +0200
@@ -292,7 +292,7 @@
         :param plugin: plugin to be activated
         :type plugin: class object of `GajimPlugin` subclass
         '''
-        if not plugin.active:
+        if not plugin.active and plugin.activatable:
 
             self._add_gui_extension_points_handlers_from_plugin(plugin)
             self._handle_all_gui_extension_points_with_plugin(plugin)
@@ -374,7 +374,8 @@
 
     def _activate_all_plugins_from_global_config(self):
         for plugin in self.plugins:
-            if self._plugin_is_active_in_global_config(plugin):
+            if self._plugin_is_active_in_global_config(plugin) and \
+            plugin.activatable:
                 try:
                     self.activate_plugin(plugin)
                 except GajimPluginActivateException:
_______________________________________________
Commits mailing list
[email protected]
http://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to