[gnome-todo/wip/gbsneto/plugins: 58/62] manager: expose plugin-manager



commit f94855c1823f9dca65edecb6dd543f3cb6a8e882
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Thu Jan 14 20:58:30 2016 -0200

    manager: expose plugin-manager
    
    It'll be used by the plugin dialog to setup
    and manage plugins.

 src/gtd-manager.c |   18 +++++++++---------
 src/gtd-manager.h |    2 ++
 2 files changed, 11 insertions(+), 9 deletions(-)
---
diff --git a/src/gtd-manager.c b/src/gtd-manager.c
index 32c3135..e53efd5 100644
--- a/src/gtd-manager.c
+++ b/src/gtd-manager.c
@@ -448,6 +448,7 @@ gtd_manager_init (GtdManager *self)
 {
   self->priv = gtd_manager_get_instance_private (self);
   self->priv->settings = g_settings_new ("org.gnome.todo");
+  self->priv->plugin_manager = gtd_plugin_manager_new ();
 }
 
 /**
@@ -783,15 +784,6 @@ gtd_manager_load_plugins (GtdManager *manager)
 {
   GtdManagerPrivate *priv = gtd_manager_get_instance_private (manager);
 
-  /*
-   * Avoid loading plugins more than once.
-   */
-  if (priv->plugin_manager)
-    return;
-
-  /* plugin manager */
-  priv->plugin_manager = gtd_plugin_manager_new ();
-
   g_signal_connect (priv->plugin_manager,
                     "panel-registered",
                     G_CALLBACK (gtd_manager__panel_added),
@@ -814,3 +806,11 @@ gtd_manager_load_plugins (GtdManager *manager)
 
   gtd_plugin_manager_load_plugins (priv->plugin_manager);
 }
+
+GtdPluginManager*
+gtd_manager_get_plugin_manager (GtdManager *manager)
+{
+  g_return_val_if_fail (GTD_IS_MANAGER (manager), NULL);
+
+  return manager->priv->plugin_manager;
+}
diff --git a/src/gtd-manager.h b/src/gtd-manager.h
index 6062d8c..d8bcd32 100644
--- a/src/gtd-manager.h
+++ b/src/gtd-manager.h
@@ -77,6 +77,8 @@ void                    gtd_manager_emit_error_message    (GtdManager
                                                            const gchar          *primary_message,
                                                            const gchar          *secondary_message);
 
+GtdPluginManager*       gtd_manager_get_plugin_manager    (GtdManager           *manager);
+
 G_END_DECLS
 
 #endif /* GTD_MANAGER_H */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]