[gnome-todo] activatable: Remove get_providers() vfunc



commit 6ecf78f48bf7690d148e7ed5d42ee6668becb3af
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Fri May 1 23:08:57 2020 -0300

    activatable: Remove get_providers() vfunc
    
    Use a direct function, in GtdManager, instead of relying
    on signals. This gets us very close to the extinction of
    GtdActivatable.

 src/engine/gtd-manager-protected.h                 |   5 +-
 src/engine/gtd-manager.c                           | 167 ++++++++++-----------
 src/engine/gtd-manager.h                           |   6 +
 src/engine/gtd-plugin-manager.c                    |  60 --------
 src/interfaces/gtd-activatable.c                   |  66 --------
 src/interfaces/gtd-activatable.h                   |   4 -
 src/plugins/background/gtd-plugin-background.c     |   7 -
 src/plugins/dark-theme/gtd-plugin-dark-theme.c     |   7 -
 src/plugins/eds/gtd-plugin-eds.c                   |  30 ++--
 src/plugins/night-light/gtd-night-light-plugin.c   |   7 -
 .../scheduled-panel/gtd-plugin-scheduled-panel.c   |   7 -
 .../unscheduled-panel/__init__.py                  |   3 -
 tests/interactive/test-filter-sort.c               |   4 +-
 tests/interactive/test-task-model.c                |   4 +-
 tests/test-task-list.c                             |   4 +-
 tests/test-task-model.c                            |   4 +-
 16 files changed, 106 insertions(+), 279 deletions(-)
---
diff --git a/src/engine/gtd-manager-protected.h b/src/engine/gtd-manager-protected.h
index 6d2bb6b..142419f 100644
--- a/src/engine/gtd-manager-protected.h
+++ b/src/engine/gtd-manager-protected.h
@@ -1,6 +1,6 @@
 /* gtd-manager-protected.h
  *
- * Copyright (C) 2015 Georges Basile Stavracas Neto <georges stavracas gmail com>
+ * Copyright (C) 2015-2020 Georges Basile Stavracas Neto <georges stavracas gmail com>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -26,7 +26,4 @@ void                 gtd_manager_load_plugins                    (GtdManager
 
 GtdPluginManager*    gtd_manager_get_plugin_manager              (GtdManager         *manager);
 
-void                 _gtd_manager_inject_provider                (GtdManager         *self,
-                                                                  GtdProvider        *provider);
-
 G_END_DECLS
diff --git a/src/engine/gtd-manager.c b/src/engine/gtd-manager.c
index 2fe2423..ffa9c36 100644
--- a/src/engine/gtd-manager.c
+++ b/src/engine/gtd-manager.c
@@ -228,74 +228,6 @@ on_list_removed_cb (GtdProvider *provider,
   GTD_EXIT;
 }
 
-static void
-on_provider_added_cb (GtdPluginManager *plugin_manager,
-                      GtdProvider      *provider,
-                      GtdManager       *self)
-{
-  g_autoptr (GList) lists = NULL;
-  GList *l;
-
-  GTD_ENTRY;
-
-  self->providers = g_list_append (self->providers, provider);
-
-  /* Add lists */
-  lists = gtd_provider_get_task_lists (provider);
-
-  for (l = lists; l != NULL; l = l->next)
-    on_list_added_cb (provider, l->data, self);
-
-  g_signal_connect (provider,
-                    "list-added",
-                    G_CALLBACK (on_list_added_cb),
-                    self);
-
-  g_signal_connect (provider,
-                    "list-changed",
-                    G_CALLBACK (on_list_changed_cb),
-                    self);
-
-  g_signal_connect (provider,
-                    "list-removed",
-                    G_CALLBACK (on_list_removed_cb),
-                    self);
-
-  /* If we just added the default provider, update the property */
-  check_provider_is_default (self, provider);
-
-  g_signal_emit (self, signals[PROVIDER_ADDED], 0, provider);
-
-  GTD_EXIT;
-}
-
-static void
-on_provider_removed_cb (GtdPluginManager *plugin_manager,
-                        GtdProvider      *provider,
-                        GtdManager       *self)
-{
-  g_autoptr (GList) lists = NULL;
-  GList *l;
-
-  GTD_ENTRY;
-
-  self->providers = g_list_remove (self->providers, provider);
-
-  /* Remove lists */
-  lists = gtd_provider_get_task_lists (provider);
-
-  for (l = lists; l != NULL; l = l->next)
-    on_list_removed_cb (provider, l->data, self);
-
-  g_signal_handlers_disconnect_by_func (provider, on_list_added_cb, self);
-  g_signal_handlers_disconnect_by_func (provider, on_list_changed_cb, self);
-  g_signal_handlers_disconnect_by_func (provider, on_list_removed_cb, self);
-
-  g_signal_emit (self, signals[PROVIDER_REMOVED], 0, provider);
-
-  GTD_EXIT;
-}
-
 
 /*
  * GObject overrides
@@ -610,6 +542,84 @@ gtd_manager_get_providers (GtdManager *self)
   return g_list_copy (self->providers);
 }
 
+/**
+ * gtd_manager_add_provider:
+ * @self: a #GtdManager
+ * @provider: a #GtdProvider
+ *
+ * Adds @provider to the list of providers.
+ */
+void
+gtd_manager_add_provider (GtdManager  *self,
+                          GtdProvider *provider)
+{
+  g_autoptr (GList) lists = NULL;
+  GList *l;
+
+  g_return_if_fail (GTD_IS_MANAGER (self));
+  g_return_if_fail (GTD_IS_PROVIDER (provider));
+
+  GTD_ENTRY;
+
+  self->providers = g_list_prepend (self->providers, provider);
+
+  /* Add lists */
+  lists = gtd_provider_get_task_lists (provider);
+
+  for (l = lists; l != NULL; l = l->next)
+    on_list_added_cb (provider, l->data, self);
+
+  g_object_connect (provider,
+                    "signal::list-added", G_CALLBACK (on_list_added_cb), self,
+                    "signal::list-changed", G_CALLBACK (on_list_changed_cb), self,
+                    "signal::list-removed", G_CALLBACK (on_list_removed_cb), self,
+                    NULL);
+
+  /* If we just added the default provider, update the property */
+  check_provider_is_default (self, provider);
+
+  g_signal_emit (self, signals[PROVIDER_ADDED], 0, provider);
+
+  GTD_EXIT;
+}
+
+/**
+ * gtd_manager_remove_provider:
+ * @self: a #GtdManager
+ * @provider: a #GtdProvider
+ *
+ * Removes @provider from the list of providers.
+ */
+void
+gtd_manager_remove_provider (GtdManager  *self,
+                             GtdProvider *provider)
+{
+  g_autoptr (GList) lists = NULL;
+  GList *l;
+
+  g_return_if_fail (GTD_IS_MANAGER (self));
+  g_return_if_fail (GTD_IS_PROVIDER (provider));
+
+  GTD_ENTRY;
+
+  self->providers = g_list_remove (self->providers, provider);
+
+  /* Remove lists */
+  lists = gtd_provider_get_task_lists (provider);
+
+  for (l = lists; l != NULL; l = l->next)
+    on_list_removed_cb (provider, l->data, self);
+
+  g_signal_handlers_disconnect_by_func (provider, on_list_added_cb, self);
+  g_signal_handlers_disconnect_by_func (provider, on_list_changed_cb, self);
+  g_signal_handlers_disconnect_by_func (provider, on_list_removed_cb, self);
+
+  g_signal_emit (self, signals[PROVIDER_REMOVED], 0, provider);
+
+  GTD_EXIT;
+}
+
+
 /**
  * gtd_manager_get_default_provider:
  * @manager: a #GtdManager
@@ -852,16 +862,6 @@ gtd_manager_load_plugins (GtdManager *self)
 {
   GTD_ENTRY;
 
-  g_signal_connect (self->plugin_manager,
-                    "provider-registered",
-                    G_CALLBACK (on_provider_added_cb),
-                    self);
-
-  g_signal_connect (self->plugin_manager,
-                    "provider-unregistered",
-                    G_CALLBACK (on_provider_removed_cb),
-                    self);
-
   gtd_plugin_manager_load_plugins (self->plugin_manager);
 
   GTD_EXIT;
@@ -874,14 +874,3 @@ gtd_manager_get_plugin_manager (GtdManager *self)
 
   return self->plugin_manager;
 }
-
-void
-_gtd_manager_inject_provider (GtdManager  *self,
-                              GtdProvider *provider)
-{
-  g_return_if_fail (GTD_IS_MANAGER (self));
-
-  g_debug ("Injecting provider '%s'", gtd_provider_get_name (provider));
-
-  on_provider_added_cb (NULL, provider, self);
-}
diff --git a/src/engine/gtd-manager.h b/src/engine/gtd-manager.h
index 6294cbf..071472a 100644
--- a/src/engine/gtd-manager.h
+++ b/src/engine/gtd-manager.h
@@ -42,6 +42,12 @@ GtdManager*          gtd_manager_get_default                     (void);
 
 GList*               gtd_manager_get_providers                   (GtdManager         *manager);
 
+void                 gtd_manager_add_provider                    (GtdManager         *self,
+                                                                  GtdProvider        *provider);
+
+void                 gtd_manager_remove_provider                 (GtdManager         *self,
+                                                                  GtdProvider        *provider);
+
 GtdProvider*         gtd_manager_get_default_provider            (GtdManager         *manager);
 
 void                 gtd_manager_set_default_provider            (GtdManager         *manager,
diff --git a/src/engine/gtd-plugin-manager.c b/src/engine/gtd-plugin-manager.c
index 099bb6a..e6d86c0 100644
--- a/src/engine/gtd-plugin-manager.c
+++ b/src/engine/gtd-plugin-manager.c
@@ -39,8 +39,6 @@ enum
 {
   PLUGIN_LOADED,
   PLUGIN_UNLOADED,
-  PROVIDER_REGISTERED,
-  PROVIDER_UNREGISTERED,
   NUM_SIGNALS
 };
 
@@ -125,52 +123,24 @@ from_property_to_gsetting_func (const GValue       *value,
   return g_variant_new_strv ((const gchar * const *)loaded_extensions, -1);
 }
 
-static void
-on_provider_added_cb (GtdActivatable   *activatable,
-                      GtdProvider      *provider,
-                      GtdPluginManager *self)
-{
-  g_signal_emit_by_name (self, "provider-registered", provider);
-}
-
-static void
-on_provider_removed_cb (GtdActivatable   *activatable,
-                        GtdProvider      *provider,
-                        GtdPluginManager *self)
-{
-  g_signal_emit_by_name (self, "provider-unregistered", provider);
-}
-
 static void
 on_plugin_unloaded_cb (PeasEngine       *engine,
                        PeasPluginInfo   *info,
                        GtdPluginManager *self)
 {
   GtdActivatable *activatable;
-  GList *extension_providers;
-  GList *l;
 
   activatable = g_hash_table_lookup (self->info_to_extension, info);
 
   if (!activatable)
     return;
 
-  /* Remove all registered providers */
-  extension_providers = gtd_activatable_get_providers (activatable);
-
-  for (l = extension_providers; l != NULL; l = l->next)
-    on_provider_removed_cb (activatable, l->data, self);
-
   /* Deactivates the extension */
   gtd_activatable_deactivate (activatable);
 
   /* Emit the signal */
   g_signal_emit (self, signals[PLUGIN_UNLOADED], 0, info, activatable);
 
-  /* Disconnect old signals */
-  g_signal_handlers_disconnect_by_func (activatable, on_provider_added_cb, self);
-  g_signal_handlers_disconnect_by_func (activatable, on_provider_removed_cb, self);
-
   g_hash_table_remove (self->info_to_extension, info);
 
   /* Destroy the extension */
@@ -186,7 +156,6 @@ on_plugin_loaded_cb (PeasEngine       *engine,
     {
       GtdActivatable *activatable;
       PeasExtension *extension;
-      const GList *l;
 
       /*
        * Actually create the plugin object,
@@ -204,13 +173,6 @@ on_plugin_loaded_cb (PeasEngine       *engine,
                            info,
                            extension);
 
-      /* Load all providers */
-      for (l = gtd_activatable_get_providers (activatable); l != NULL; l = l->next)
-        on_provider_added_cb (activatable, l->data, self);
-
-      g_signal_connect (activatable, "provider-added", G_CALLBACK (on_provider_added_cb), self);
-      g_signal_connect (activatable, "provider-removed", G_CALLBACK (on_provider_removed_cb), self);
-
       /* Activate extension */
       gtd_activatable_activate (activatable);
 
@@ -301,28 +263,6 @@ gtd_plugin_manager_class_init (GtdPluginManagerClass *klass)
                                            2,
                                            PEAS_TYPE_PLUGIN_INFO,
                                            GTD_TYPE_ACTIVATABLE);
-
-  signals[PROVIDER_REGISTERED] = g_signal_new ("provider-registered",
-                                               GTD_TYPE_PLUGIN_MANAGER,
-                                               G_SIGNAL_RUN_FIRST,
-                                               0,
-                                               NULL,
-                                               NULL,
-                                               NULL,
-                                               G_TYPE_NONE,
-                                               1,
-                                               G_TYPE_POINTER);
-
-  signals[PROVIDER_UNREGISTERED] = g_signal_new ("provider-unregistered",
-                                                 GTD_TYPE_PLUGIN_MANAGER,
-                                                 G_SIGNAL_RUN_FIRST,
-                                                 0,
-                                                 NULL,
-                                                 NULL,
-                                                 NULL,
-                                                 G_TYPE_NONE,
-                                                 1,
-                                                 G_TYPE_POINTER);
 }
 
 static void
diff --git a/src/interfaces/gtd-activatable.c b/src/interfaces/gtd-activatable.c
index 576f40e..bf71ba0 100644
--- a/src/interfaces/gtd-activatable.c
+++ b/src/interfaces/gtd-activatable.c
@@ -51,15 +51,6 @@
 
 G_DEFINE_INTERFACE (GtdActivatable, gtd_activatable, G_TYPE_OBJECT)
 
-enum
-{
-  PROVIDER_ADDED,
-  PROVIDER_REMOVED,
-  NUM_SIGNALS
-};
-
-static guint signals[NUM_SIGNALS] = { 0, };
-
 static void
 gtd_activatable_default_init (GtdActivatableInterface *iface)
 {
@@ -74,44 +65,6 @@ gtd_activatable_default_init (GtdActivatableInterface *iface)
                                                             "The preferences panel of the plugins",
                                                             GTK_TYPE_WIDGET,
                                                             G_PARAM_READABLE));
-
-  /**
-   * GtdActivatable::provider-added:
-   * @activatable: a #GtdActivatable
-   * @provider: a #GtdProvider
-   *
-   * The ::provider-added signal is emmited after a #GtdProvider
-   * is connected.
-   */
-  signals[PROVIDER_ADDED] = g_signal_new ("provider-added",
-                                          GTD_TYPE_ACTIVATABLE,
-                                          G_SIGNAL_RUN_LAST,
-                                          0,
-                                          NULL,
-                                          NULL,
-                                          NULL,
-                                          G_TYPE_NONE,
-                                          1,
-                                          GTD_TYPE_PROVIDER);
-
-  /**
-   * GtdActivatable::provider-removed:
-   * @activatable: a #GtdActivatable
-   * @provider: a #GtdProvider
-   *
-   * The ::provider-removed signal is emmited after a #GtdProvider
-   * is disconnected.
-   */
-  signals[PROVIDER_REMOVED] = g_signal_new ("provider-removed",
-                                            GTD_TYPE_ACTIVATABLE,
-                                            G_SIGNAL_RUN_LAST,
-                                            0,
-                                            NULL,
-                                            NULL,
-                                            NULL,
-                                            G_TYPE_NONE,
-                                            1,
-                                            GTD_TYPE_PROVIDER);
 }
 
 /**
@@ -174,22 +127,3 @@ gtd_activatable_get_preferences_panel (GtdActivatable *activatable)
 
   return NULL;
 }
-
-/**
- * gtd_activatable_get_providers:
- * @activatable: a #GtdActivatable
- *
- * Retrieve the providers of @activatable if any.
- *
- * Returns: (transfer none) (element-type Gtd.Provider)(nullable): a #GList
- */
-GList*
-gtd_activatable_get_providers (GtdActivatable *activatable)
-{
-  g_return_val_if_fail (GTD_IS_ACTIVATABLE (activatable), NULL);
-
-  if (GTD_ACTIVATABLE_GET_IFACE (activatable)->get_providers)
-    return GTD_ACTIVATABLE_GET_IFACE (activatable)->get_providers (activatable);
-
-  return NULL;
-}
diff --git a/src/interfaces/gtd-activatable.h b/src/interfaces/gtd-activatable.h
index 4e1098a..2e26375 100644
--- a/src/interfaces/gtd-activatable.h
+++ b/src/interfaces/gtd-activatable.h
@@ -39,8 +39,6 @@ struct _GtdActivatableInterface
   void             (*deactivate)                           (GtdActivatable     *activatable);
 
   GtkWidget*       (*get_preferences_panel)                (GtdActivatable     *activatable);
-
-  GList*           (*get_providers)                        (GtdActivatable     *activatable);
 };
 
 void                 gtd_activatable_activate                    (GtdActivatable     *activatable);
@@ -49,8 +47,6 @@ void                 gtd_activatable_deactivate                  (GtdActivatable
 
 GtkWidget*           gtd_activatable_get_preferences_panel       (GtdActivatable     *activatable);
 
-GList*               gtd_activatable_get_providers               (GtdActivatable     *activatable);
-
 G_END_DECLS
 
 #endif /* GTD_ACTIVATABLE_H */
diff --git a/src/plugins/background/gtd-plugin-background.c b/src/plugins/background/gtd-plugin-background.c
index d84bcf5..0134015 100644
--- a/src/plugins/background/gtd-plugin-background.c
+++ b/src/plugins/background/gtd-plugin-background.c
@@ -498,19 +498,12 @@ gtd_plugin_background_get_preferences_panel (GtdActivatable *activatable)
   return self->preferences_panel;
 }
 
-static GList*
-gtd_plugin_background_get_providers (GtdActivatable *activatable)
-{
-  return NULL;
-}
-
 static void
 gtd_activatable_iface_init (GtdActivatableInterface *iface)
 {
   iface->activate = gtd_plugin_background_activate;
   iface->deactivate = gtd_plugin_background_deactivate;
   iface->get_preferences_panel = gtd_plugin_background_get_preferences_panel;
-  iface->get_providers = gtd_plugin_background_get_providers;
 }
 
 static void
diff --git a/src/plugins/dark-theme/gtd-plugin-dark-theme.c b/src/plugins/dark-theme/gtd-plugin-dark-theme.c
index a852e63..20972ef 100644
--- a/src/plugins/dark-theme/gtd-plugin-dark-theme.c
+++ b/src/plugins/dark-theme/gtd-plugin-dark-theme.c
@@ -65,19 +65,12 @@ gtd_plugin_dark_theme_get_preferences_panel (GtdActivatable *activatable)
   return NULL;
 }
 
-static GList*
-gtd_plugin_dark_theme_get_providers (GtdActivatable *activatable)
-{
-  return NULL;
-}
-
 static void
 gtd_activatable_iface_init (GtdActivatableInterface *iface)
 {
   iface->activate = gtd_plugin_dark_theme_activate;
   iface->deactivate = gtd_plugin_dark_theme_deactivate;
   iface->get_preferences_panel = gtd_plugin_dark_theme_get_preferences_panel;
-  iface->get_providers = gtd_plugin_dark_theme_get_providers;
 }
 
 static void
diff --git a/src/plugins/eds/gtd-plugin-eds.c b/src/plugins/eds/gtd-plugin-eds.c
index e131a5b..c420fe6 100644
--- a/src/plugins/eds/gtd-plugin-eds.c
+++ b/src/plugins/eds/gtd-plugin-eds.c
@@ -90,21 +90,12 @@ gtd_plugin_eds_get_preferences_panel (GtdActivatable *activatable)
   return NULL;
 }
 
-static GList*
-gtd_plugin_eds_get_providers (GtdActivatable *activatable)
-{
-  GtdPluginEds *plugin = GTD_PLUGIN_EDS (activatable);
-
-  return plugin->providers;
-}
-
 static void
 gtd_activatable_iface_init (GtdActivatableInterface *iface)
 {
   iface->activate = gtd_plugin_eds_activate;
   iface->deactivate = gtd_plugin_eds_deactivate;
   iface->get_preferences_panel = gtd_plugin_eds_get_preferences_panel;
-  iface->get_providers = gtd_plugin_eds_get_providers;
 }
 
 
@@ -117,10 +108,12 @@ gtd_plugin_eds_goa_account_removed_cb (GoaClient    *client,
                                        GoaObject    *object,
                                        GtdPluginEds *self)
 {
+  GtdManager *manager;
   GoaAccount *account;
   GList *l;
 
   account = goa_object_peek_account (object);
+  manager = gtd_manager_get_default ();
 
   if (!g_strv_contains (supported_accounts, goa_account_get_provider_type (account)))
     return;
@@ -133,9 +126,9 @@ gtd_plugin_eds_goa_account_removed_cb (GoaClient    *client,
       if (account == gtd_provider_goa_get_account (l->data))
         {
           GtdProviderGoa *provider = GTD_PROVIDER_GOA (l->data);
-          self->providers = g_list_remove (self->providers, l->data);
 
-          g_signal_emit_by_name (self, "provider-removed", provider);
+          self->providers = g_list_remove (self->providers, l->data);
+          gtd_manager_add_provider (manager, GTD_PROVIDER (provider));
           break;
         }
     }
@@ -146,9 +139,11 @@ gtd_plugin_eds_goa_account_added_cb (GoaClient    *client,
                                      GoaObject    *object,
                                      GtdPluginEds *self)
 {
+  GtdManager *manager;
   GoaAccount *account;
 
   account = goa_object_get_account (object);
+  manager = gtd_manager_get_default ();
 
   if (g_strv_contains (supported_accounts, goa_account_get_provider_type (account)))
     {
@@ -157,8 +152,7 @@ gtd_plugin_eds_goa_account_added_cb (GoaClient    *client,
       provider = gtd_provider_goa_new (self->registry, account);
 
       self->providers = g_list_append (self->providers, provider);
-
-      g_signal_emit_by_name (self, "provider-added", provider);
+      gtd_manager_add_provider (manager, GTD_PROVIDER (provider));
     }
 }
 
@@ -169,12 +163,14 @@ gtd_plugin_eds_goa_client_finish_cb (GObject      *client,
 {
   g_autoptr (GError) error = NULL;
   GtdPluginEds *self;
+  GtdManager *manager;
   GoaClient *goa_client;
   GList *accounts;
   GList *l;
 
   self = GTD_PLUGIN_EDS (user_data);
   goa_client = goa_client_new_finish (result, &error);
+  manager = gtd_manager_get_default ();
 
   if (error)
     {
@@ -215,8 +211,7 @@ gtd_plugin_eds_goa_client_finish_cb (GObject      *client,
       provider = gtd_provider_goa_new (self->registry, account);
 
       self->providers = g_list_append (self->providers, provider);
-
-      g_signal_emit_by_name (self, "provider-added", provider);
+      gtd_manager_add_provider (manager, GTD_PROVIDER (provider));
 
       g_object_unref (account);
     }
@@ -245,8 +240,10 @@ gtd_plugin_eds_source_registry_finish_cb (GObject      *source_object,
   GtdPluginEds *self = GTD_PLUGIN_EDS (user_data);
   GtdProviderLocal *provider;
   ESourceRegistry *registry;
+  GtdManager *manager;
   GError *error = NULL;
 
+  manager = gtd_manager_get_default ();
   registry = e_source_registry_new_finish (result, &error);
   self->registry = registry;
 
@@ -265,8 +262,7 @@ gtd_plugin_eds_source_registry_finish_cb (GObject      *source_object,
   provider = gtd_provider_local_new (registry);
 
   self->providers = g_list_append (self->providers, provider);
-
-  g_signal_emit_by_name (self, "provider-added", provider);
+  gtd_manager_add_provider (manager, GTD_PROVIDER (provider));
 
   /* We only start loading Goa accounts after
    * ESourceRegistry is get, since it'd be way
diff --git a/src/plugins/night-light/gtd-night-light-plugin.c 
b/src/plugins/night-light/gtd-night-light-plugin.c
index 9f800f3..1f8d068 100644
--- a/src/plugins/night-light/gtd-night-light-plugin.c
+++ b/src/plugins/night-light/gtd-night-light-plugin.c
@@ -153,19 +153,12 @@ gtd_night_light_plugin_get_preferences_panel (GtdActivatable *activatable)
   return NULL;
 }
 
-static GList*
-gtd_night_light_plugin_get_providers (GtdActivatable *activatable)
-{
-  return NULL;
-}
-
 static void
 gtd_activatable_iface_init (GtdActivatableInterface *iface)
 {
   iface->activate = gtd_night_light_plugin_activate;
   iface->deactivate = gtd_night_light_plugin_deactivate;
   iface->get_preferences_panel = gtd_night_light_plugin_get_preferences_panel;
-  iface->get_providers = gtd_night_light_plugin_get_providers;
 }
 
 
diff --git a/src/plugins/scheduled-panel/gtd-plugin-scheduled-panel.c 
b/src/plugins/scheduled-panel/gtd-plugin-scheduled-panel.c
index 1e70fc8..348cfd1 100644
--- a/src/plugins/scheduled-panel/gtd-plugin-scheduled-panel.c
+++ b/src/plugins/scheduled-panel/gtd-plugin-scheduled-panel.c
@@ -66,19 +66,12 @@ gtd_plugin_scheduled_panel_get_preferences_panel (GtdActivatable *activatable)
   return NULL;
 }
 
-static GList*
-gtd_plugin_scheduled_panel_get_providers (GtdActivatable *activatable)
-{
-  return NULL;
-}
-
 static void
 gtd_activatable_iface_init (GtdActivatableInterface *iface)
 {
   iface->activate = gtd_plugin_scheduled_panel_activate;
   iface->deactivate = gtd_plugin_scheduled_panel_deactivate;
   iface->get_preferences_panel = gtd_plugin_scheduled_panel_get_preferences_panel;
-  iface->get_providers = gtd_plugin_scheduled_panel_get_providers;
 }
 
 static void
diff --git a/src/plugins/unscheduled-panel/unscheduled-panel/__init__.py 
b/src/plugins/unscheduled-panel/unscheduled-panel/__init__.py
index 784e1c7..ae5bb3a 100644
--- a/src/plugins/unscheduled-panel/unscheduled-panel/__init__.py
+++ b/src/plugins/unscheduled-panel/unscheduled-panel/__init__.py
@@ -132,6 +132,3 @@ class UnscheduledPanelPlugin(GObject.Object, Gtd.Activatable):
 
     def do_get_preferences_panel(self):
         return None
-
-    def do_get_providers(self):
-        return None
diff --git a/tests/interactive/test-filter-sort.c b/tests/interactive/test-filter-sort.c
index d378d19..15bc1c5 100644
--- a/tests/interactive/test-filter-sort.c
+++ b/tests/interactive/test-filter-sort.c
@@ -1,6 +1,6 @@
 /* test-filter-sort.c
  *
- * Copyright 2018 Georges Basile Stavracas Neto <georges stavracas gmail com>
+ * Copyright 2018-2020 Georges Basile Stavracas Neto <georges stavracas gmail com>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -225,7 +225,7 @@ main (gint   argc,
   dummy_provider = dummy_provider_new ();
   dummy_provider_generate_task_lists (dummy_provider);
   dummy_provider_generate_task_lists (dummy_provider);
-  _gtd_manager_inject_provider (gtd_manager_get_default (), GTD_PROVIDER (dummy_provider));
+  gtd_manager_add_provider (gtd_manager_get_default (), GTD_PROVIDER (dummy_provider));
 
   /* Models */
   model = _gtd_task_model_new (gtd_manager_get_default ());
diff --git a/tests/interactive/test-task-model.c b/tests/interactive/test-task-model.c
index acfd1dc..c10ace8 100644
--- a/tests/interactive/test-task-model.c
+++ b/tests/interactive/test-task-model.c
@@ -1,6 +1,6 @@
 /* test-task-model.c
  *
- * Copyright 2018 Georges Basile Stavracas Neto <georges stavracas gmail com>
+ * Copyright 2018-2020 Georges Basile Stavracas Neto <georges stavracas gmail com>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -129,7 +129,7 @@ main (gint   argc,
   dummy_provider_generate_task_lists (dummy_provider);
 
   /* Inject a dumb fake provider */
-  _gtd_manager_inject_provider (gtd_manager_get_default (), GTD_PROVIDER (dummy_provider));
+  gtd_manager_add_provider (gtd_manager_get_default (), GTD_PROVIDER (dummy_provider));
 
   /* Now create the model - the initial providers must be there already */
   model = _gtd_task_model_new (gtd_manager_get_default ());
diff --git a/tests/test-task-list.c b/tests/test-task-list.c
index faf6963..cd43f46 100644
--- a/tests/test-task-list.c
+++ b/tests/test-task-list.c
@@ -1,6 +1,6 @@
 /* test-task-model.c
  *
- * Copyright 2018 Georges Basile Stavracas Neto <georges stavracas gmail com>
+ * Copyright 2018-2020 Georges Basile Stavracas Neto <georges stavracas gmail com>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -40,7 +40,7 @@ test_move (void)
   n_tasks = dummy_provider_generate_task_list (dummy_provider);
   g_assert_cmpuint (n_tasks, ==, 10);
 
-  _gtd_manager_inject_provider (gtd_manager_get_default (), GTD_PROVIDER (dummy_provider));
+  gtd_manager_add_provider (gtd_manager_get_default (), GTD_PROVIDER (dummy_provider));
 
   lists = gtd_provider_get_task_lists (GTD_PROVIDER (dummy_provider));
   g_assert_nonnull (lists);
diff --git a/tests/test-task-model.c b/tests/test-task-model.c
index 0a18153..9fc0b32 100644
--- a/tests/test-task-model.c
+++ b/tests/test-task-model.c
@@ -1,6 +1,6 @@
 /* test-task-model.c
  *
- * Copyright 2018 Georges Basile Stavracas Neto <georges stavracas gmail com>
+ * Copyright 2018-2020 Georges Basile Stavracas Neto <georges stavracas gmail com>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -36,7 +36,7 @@ test_basic (void)
   /* Create a DumbProvider and pre-populate it */
   dummy_provider = dummy_provider_new ();
   n_tasks = dummy_provider_generate_task_lists (dummy_provider);
-  _gtd_manager_inject_provider (gtd_manager_get_default (), GTD_PROVIDER (dummy_provider));
+  gtd_manager_add_provider (gtd_manager_get_default (), GTD_PROVIDER (dummy_provider));
 
   model = _gtd_task_model_new (gtd_manager_get_default ());
   g_assert_cmpint (g_list_model_get_n_items (G_LIST_MODEL (model)), ==, n_tasks);


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