[gnome-todo] Move panel handling to PeasExtensionSet
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-todo] Move panel handling to PeasExtensionSet
- Date: Sat, 2 May 2020 02:11:45 +0000 (UTC)
commit 571941632fc49d1c83e6a0763a6cf81c22fbd796
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Thu Apr 30 21:53:58 2020 -0300
Move panel handling to PeasExtensionSet
It is unbelievable the amount of code that can be removed
only by using APIs as they are meant to be used.
.../all-tasks-panel/gtd-plugin-all-tasks-panel.c | 30 ++-----
plugins/background/gtd-plugin-background.c | 7 --
plugins/dark-theme/gtd-plugin-dark-theme.c | 9 +-
plugins/eds/gtd-plugin-eds.c | 9 +-
plugins/inbox-panel/gtd-plugin-inbox-panel.c | 26 +-----
.../next-week-panel/gtd-plugin-next-week-panel.c | 30 ++-----
plugins/night-light/gtd-night-light-plugin.c | 9 +-
.../scheduled-panel/gtd-plugin-scheduled-panel.c | 30 ++-----
plugins/score/score/__init__.py | 5 +-
.../gtd-plugin-task-lists-workspace.c | 7 --
.../gtd-task-lists-workspace.c | 97 +++++++++++++++++++---
plugins/task-lists-workspace/sidebar/gtd-sidebar.c | 18 ++--
plugins/task-lists-workspace/sidebar/gtd-sidebar.h | 5 +-
plugins/today-panel/gtd-plugin-today-panel.c | 28 +------
.../unscheduled-panel/__init__.py | 5 +-
src/engine/gtd-manager.c | 96 ---------------------
src/engine/gtd-manager.h | 2 -
src/engine/gtd-plugin-manager.c | 55 ------------
src/interfaces/gtd-activatable.c | 59 +------------
src/interfaces/gtd-activatable.h | 6 +-
20 files changed, 129 insertions(+), 404 deletions(-)
---
diff --git a/plugins/all-tasks-panel/gtd-plugin-all-tasks-panel.c
b/plugins/all-tasks-panel/gtd-plugin-all-tasks-panel.c
index 760b926..2191167 100644
--- a/plugins/all-tasks-panel/gtd-plugin-all-tasks-panel.c
+++ b/plugins/all-tasks-panel/gtd-plugin-all-tasks-panel.c
@@ -1,6 +1,6 @@
/* gtd-plugin-all-tasks-panel.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
@@ -31,8 +31,6 @@
struct _GtdPluginAllTasksPanel
{
PeasExtensionBase parent;
-
- GList *panels;
};
static void gtd_activatable_iface_init (GtdActivatableInterface *iface);
@@ -74,14 +72,6 @@ gtd_plugin_all_tasks_panel_get_preferences_panel (GtdActivatable *activatable)
return NULL;
}
-static GList*
-gtd_plugin_all_tasks_panel_get_panels (GtdActivatable *activatable)
-{
- GtdPluginAllTasksPanel *plugin = GTD_PLUGIN_ALL_TASKS_PANEL (activatable);
-
- return plugin->panels;
-}
-
static GList*
gtd_plugin_all_tasks_panel_get_providers (GtdActivatable *activatable)
{
@@ -95,20 +85,9 @@ gtd_activatable_iface_init (GtdActivatableInterface *iface)
iface->deactivate = gtd_plugin_all_tasks_panel_deactivate;
iface->get_header_widgets = gtd_plugin_all_tasks_panel_get_header_widgets;
iface->get_preferences_panel = gtd_plugin_all_tasks_panel_get_preferences_panel;
- iface->get_panels = gtd_plugin_all_tasks_panel_get_panels;
iface->get_providers = gtd_plugin_all_tasks_panel_get_providers;
}
-static void
-gtd_plugin_all_tasks_panel_finalize (GObject *object)
-{
- GtdPluginAllTasksPanel *self = (GtdPluginAllTasksPanel *)object;
-
- g_list_free (self->panels);
-
- G_OBJECT_CLASS (gtd_plugin_all_tasks_panel_parent_class)->finalize (object);
-}
-
static void
gtd_plugin_all_tasks_panel_get_property (GObject *object,
guint prop_id,
@@ -131,7 +110,6 @@ gtd_plugin_all_tasks_panel_class_init (GtdPluginAllTasksPanelClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- object_class->finalize = gtd_plugin_all_tasks_panel_finalize;
object_class->get_property = gtd_plugin_all_tasks_panel_get_property;
g_object_class_override_property (object_class, PROP_PREFERENCES_PANEL, "preferences-panel");
@@ -140,8 +118,6 @@ gtd_plugin_all_tasks_panel_class_init (GtdPluginAllTasksPanelClass *klass)
static void
gtd_plugin_all_tasks_panel_init (GtdPluginAllTasksPanel *self)
{
- /* And then the panel */
- self->panels = g_list_append (NULL, gtd_all_tasks_panel_new ());
}
static void
@@ -157,4 +133,8 @@ gtd_plugin_all_tasks_panel_register_types (PeasObjectModule *module)
peas_object_module_register_extension_type (module,
GTD_TYPE_ACTIVATABLE,
GTD_TYPE_PLUGIN_ALL_TASKS_PANEL);
+
+ peas_object_module_register_extension_type (module,
+ GTD_TYPE_PANEL,
+ GTD_TYPE_ALL_TASKS_PANEL);
}
diff --git a/plugins/background/gtd-plugin-background.c b/plugins/background/gtd-plugin-background.c
index 82e0bbb..bc8d8e1 100644
--- a/plugins/background/gtd-plugin-background.c
+++ b/plugins/background/gtd-plugin-background.c
@@ -504,12 +504,6 @@ gtd_plugin_background_get_preferences_panel (GtdActivatable *activatable)
return self->preferences_panel;
}
-static GList*
-gtd_plugin_background_get_panels (GtdActivatable *activatable)
-{
- return NULL;
-}
-
static GList*
gtd_plugin_background_get_providers (GtdActivatable *activatable)
{
@@ -523,7 +517,6 @@ gtd_activatable_iface_init (GtdActivatableInterface *iface)
iface->deactivate = gtd_plugin_background_deactivate;
iface->get_header_widgets = gtd_plugin_background_get_header_widgets;
iface->get_preferences_panel = gtd_plugin_background_get_preferences_panel;
- iface->get_panels = gtd_plugin_background_get_panels;
iface->get_providers = gtd_plugin_background_get_providers;
}
diff --git a/plugins/dark-theme/gtd-plugin-dark-theme.c b/plugins/dark-theme/gtd-plugin-dark-theme.c
index 4991452..492a116 100644
--- a/plugins/dark-theme/gtd-plugin-dark-theme.c
+++ b/plugins/dark-theme/gtd-plugin-dark-theme.c
@@ -1,6 +1,6 @@
/* gtd-plugin-dark-theme.c
*
- * Copyright (C) 2016 Georges Basile Stavracas Neto <georges stavracas gmail com>
+ * Copyright (C) 2016-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
@@ -71,12 +71,6 @@ gtd_plugin_dark_theme_get_preferences_panel (GtdActivatable *activatable)
return NULL;
}
-static GList*
-gtd_plugin_dark_theme_get_panels (GtdActivatable *activatable)
-{
- return NULL;
-}
-
static GList*
gtd_plugin_dark_theme_get_providers (GtdActivatable *activatable)
{
@@ -90,7 +84,6 @@ gtd_activatable_iface_init (GtdActivatableInterface *iface)
iface->deactivate = gtd_plugin_dark_theme_deactivate;
iface->get_header_widgets = gtd_plugin_dark_theme_get_header_widgets;
iface->get_preferences_panel = gtd_plugin_dark_theme_get_preferences_panel;
- iface->get_panels = gtd_plugin_dark_theme_get_panels;
iface->get_providers = gtd_plugin_dark_theme_get_providers;
}
diff --git a/plugins/eds/gtd-plugin-eds.c b/plugins/eds/gtd-plugin-eds.c
index bfd2290..fab4df6 100644
--- a/plugins/eds/gtd-plugin-eds.c
+++ b/plugins/eds/gtd-plugin-eds.c
@@ -1,6 +1,6 @@
/* gtd-plugin-eds.c
*
- * 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
@@ -96,12 +96,6 @@ gtd_plugin_eds_get_preferences_panel (GtdActivatable *activatable)
return NULL;
}
-static GList*
-gtd_plugin_eds_get_panels (GtdActivatable *activatable)
-{
- return NULL;
-}
-
static GList*
gtd_plugin_eds_get_providers (GtdActivatable *activatable)
{
@@ -117,7 +111,6 @@ gtd_activatable_iface_init (GtdActivatableInterface *iface)
iface->deactivate = gtd_plugin_eds_deactivate;
iface->get_header_widgets = gtd_plugin_eds_get_header_widgets;
iface->get_preferences_panel = gtd_plugin_eds_get_preferences_panel;
- iface->get_panels = gtd_plugin_eds_get_panels;
iface->get_providers = gtd_plugin_eds_get_providers;
}
diff --git a/plugins/inbox-panel/gtd-plugin-inbox-panel.c b/plugins/inbox-panel/gtd-plugin-inbox-panel.c
index e10278f..b2eeb5c 100644
--- a/plugins/inbox-panel/gtd-plugin-inbox-panel.c
+++ b/plugins/inbox-panel/gtd-plugin-inbox-panel.c
@@ -31,7 +31,6 @@ struct _GtdPluginInboxPanel
{
PeasExtensionBase parent;
- GList *panels;
GtkCssProvider *css_provider;
};
@@ -76,14 +75,6 @@ gtd_plugin_inbox_panel_get_preferences_panel (GtdActivatable *activatable)
return NULL;
}
-static GList*
-gtd_plugin_inbox_panel_get_panels (GtdActivatable *activatable)
-{
- GtdPluginInboxPanel *plugin = GTD_PLUGIN_INBOX_PANEL (activatable);
-
- return plugin->panels;
-}
-
static GList*
gtd_plugin_inbox_panel_get_providers (GtdActivatable *activatable)
{
@@ -97,20 +88,9 @@ gtd_activatable_iface_init (GtdActivatableInterface *iface)
iface->deactivate = gtd_plugin_inbox_panel_deactivate;
iface->get_header_widgets = gtd_plugin_inbox_panel_get_header_widgets;
iface->get_preferences_panel = gtd_plugin_inbox_panel_get_preferences_panel;
- iface->get_panels = gtd_plugin_inbox_panel_get_panels;
iface->get_providers = gtd_plugin_inbox_panel_get_providers;
}
-static void
-gtd_plugin_inbox_panel_finalize (GObject *object)
-{
- GtdPluginInboxPanel *self = (GtdPluginInboxPanel *)object;
-
- g_list_free (self->panels);
-
- G_OBJECT_CLASS (gtd_plugin_inbox_panel_parent_class)->finalize (object);
-}
-
static void
gtd_plugin_inbox_panel_get_property (GObject *object,
guint prop_id,
@@ -133,7 +113,6 @@ gtd_plugin_inbox_panel_class_init (GtdPluginInboxPanelClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- object_class->finalize = gtd_plugin_inbox_panel_finalize;
object_class->get_property = gtd_plugin_inbox_panel_get_property;
g_object_class_override_property (object_class, PROP_PREFERENCES_PANEL, "preferences-panel");
@@ -142,7 +121,6 @@ gtd_plugin_inbox_panel_class_init (GtdPluginInboxPanelClass *klass)
static void
gtd_plugin_inbox_panel_init (GtdPluginInboxPanel *self)
{
- self->panels = g_list_append (NULL, gtd_inbox_panel_new ());
}
static void
@@ -158,4 +136,8 @@ gtd_plugin_inbox_panel_register_types (PeasObjectModule *module)
peas_object_module_register_extension_type (module,
GTD_TYPE_ACTIVATABLE,
GTD_TYPE_PLUGIN_INBOX_PANEL);
+
+ peas_object_module_register_extension_type (module,
+ GTD_TYPE_PANEL,
+ GTD_TYPE_INBOX_PANEL);
}
diff --git a/plugins/next-week-panel/gtd-plugin-next-week-panel.c
b/plugins/next-week-panel/gtd-plugin-next-week-panel.c
index 45ecf53..8edd146 100644
--- a/plugins/next-week-panel/gtd-plugin-next-week-panel.c
+++ b/plugins/next-week-panel/gtd-plugin-next-week-panel.c
@@ -1,6 +1,6 @@
/* gtd-plugin-next-week-panel.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
@@ -31,7 +31,6 @@ struct _GtdPluginNextWeekPanel
{
PeasExtensionBase parent;
- GList *panels;
GtkCssProvider *css_provider;
};
@@ -76,14 +75,6 @@ gtd_plugin_next_week_panel_get_preferences_panel (GtdActivatable *activatable)
return NULL;
}
-static GList*
-gtd_plugin_next_week_panel_get_panels (GtdActivatable *activatable)
-{
- GtdPluginNextWeekPanel *plugin = GTD_PLUGIN_NEXT_WEEK_PANEL (activatable);
-
- return plugin->panels;
-}
-
static GList*
gtd_plugin_next_week_panel_get_providers (GtdActivatable *activatable)
{
@@ -97,20 +88,9 @@ gtd_activatable_iface_init (GtdActivatableInterface *iface)
iface->deactivate = gtd_plugin_next_week_panel_deactivate;
iface->get_header_widgets = gtd_plugin_next_week_panel_get_header_widgets;
iface->get_preferences_panel = gtd_plugin_next_week_panel_get_preferences_panel;
- iface->get_panels = gtd_plugin_next_week_panel_get_panels;
iface->get_providers = gtd_plugin_next_week_panel_get_providers;
}
-static void
-gtd_plugin_next_week_panel_finalize (GObject *object)
-{
- GtdPluginNextWeekPanel *self = (GtdPluginNextWeekPanel *)object;
-
- g_list_free (self->panels);
-
- G_OBJECT_CLASS (gtd_plugin_next_week_panel_parent_class)->finalize (object);
-}
-
static void
gtd_plugin_next_week_panel_get_property (GObject *object,
guint prop_id,
@@ -133,7 +113,6 @@ gtd_plugin_next_week_panel_class_init (GtdPluginNextWeekPanelClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- object_class->finalize = gtd_plugin_next_week_panel_finalize;
object_class->get_property = gtd_plugin_next_week_panel_get_property;
g_object_class_override_property (object_class,
@@ -164,9 +143,6 @@ gtd_plugin_next_week_panel_init (GtdPluginNextWeekPanel *self)
gtk_css_provider_load_from_file (self->css_provider, css_file);
else
gtk_css_provider_load_from_resource (self->css_provider,
"/org/gnome/todo/theme/scheduled-panel/Adwaita.css");
-
- /* And then the panel */
- self->panels = g_list_append (NULL, gtd_next_week_panel_new ());
}
static void
@@ -182,4 +158,8 @@ gtd_plugin_next_week_panel_register_types (PeasObjectModule *module)
peas_object_module_register_extension_type (module,
GTD_TYPE_ACTIVATABLE,
GTD_TYPE_PLUGIN_NEXT_WEEK_PANEL);
+
+ peas_object_module_register_extension_type (module,
+ GTD_TYPE_PANEL,
+ GTD_TYPE_NEXT_WEEK_PANEL);
}
diff --git a/plugins/night-light/gtd-night-light-plugin.c b/plugins/night-light/gtd-night-light-plugin.c
index 8d4502a..d42a11d 100644
--- a/plugins/night-light/gtd-night-light-plugin.c
+++ b/plugins/night-light/gtd-night-light-plugin.c
@@ -1,6 +1,6 @@
/* gtd-night-light-plugin.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
@@ -159,12 +159,6 @@ gtd_night_light_plugin_get_preferences_panel (GtdActivatable *activatable)
return NULL;
}
-static GList*
-gtd_night_light_plugin_get_panels (GtdActivatable *activatable)
-{
- return NULL;
-}
-
static GList*
gtd_night_light_plugin_get_providers (GtdActivatable *activatable)
{
@@ -178,7 +172,6 @@ gtd_activatable_iface_init (GtdActivatableInterface *iface)
iface->deactivate = gtd_night_light_plugin_deactivate;
iface->get_header_widgets = gtd_night_light_plugin_get_header_widgets;
iface->get_preferences_panel = gtd_night_light_plugin_get_preferences_panel;
- iface->get_panels = gtd_night_light_plugin_get_panels;
iface->get_providers = gtd_night_light_plugin_get_providers;
}
diff --git a/plugins/scheduled-panel/gtd-plugin-scheduled-panel.c
b/plugins/scheduled-panel/gtd-plugin-scheduled-panel.c
index f97c343..b1400bc 100644
--- a/plugins/scheduled-panel/gtd-plugin-scheduled-panel.c
+++ b/plugins/scheduled-panel/gtd-plugin-scheduled-panel.c
@@ -1,6 +1,6 @@
/* gtd-plugin-scheduled-panel.c
*
- * Copyright (C) 2016 Georges Basile Stavracas Neto <georges stavracas gmail com>
+ * Copyright (C) 2016-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
@@ -29,7 +29,6 @@ struct _GtdPluginScheduledPanel
{
PeasExtensionBase parent;
- GList *panels;
GtkCssProvider *css_provider;
};
@@ -73,14 +72,6 @@ gtd_plugin_scheduled_panel_get_preferences_panel (GtdActivatable *activatable)
return NULL;
}
-static GList*
-gtd_plugin_scheduled_panel_get_panels (GtdActivatable *activatable)
-{
- GtdPluginScheduledPanel *plugin = GTD_PLUGIN_SCHEDULED_PANEL (activatable);
-
- return plugin->panels;
-}
-
static GList*
gtd_plugin_scheduled_panel_get_providers (GtdActivatable *activatable)
{
@@ -94,20 +85,9 @@ gtd_activatable_iface_init (GtdActivatableInterface *iface)
iface->deactivate = gtd_plugin_scheduled_panel_deactivate;
iface->get_header_widgets = gtd_plugin_scheduled_panel_get_header_widgets;
iface->get_preferences_panel = gtd_plugin_scheduled_panel_get_preferences_panel;
- iface->get_panels = gtd_plugin_scheduled_panel_get_panels;
iface->get_providers = gtd_plugin_scheduled_panel_get_providers;
}
-static void
-gtd_plugin_scheduled_panel_finalize (GObject *object)
-{
- GtdPluginScheduledPanel *self = (GtdPluginScheduledPanel *)object;
-
- g_list_free (self->panels);
-
- G_OBJECT_CLASS (gtd_plugin_scheduled_panel_parent_class)->finalize (object);
-}
-
static void
gtd_plugin_scheduled_panel_get_property (GObject *object,
guint prop_id,
@@ -130,7 +110,6 @@ gtd_plugin_scheduled_panel_class_init (GtdPluginScheduledPanelClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- object_class->finalize = gtd_plugin_scheduled_panel_finalize;
object_class->get_property = gtd_plugin_scheduled_panel_get_property;
g_object_class_override_property (object_class,
@@ -162,9 +141,6 @@ gtd_plugin_scheduled_panel_init (GtdPluginScheduledPanel *self)
else
gtk_css_provider_load_from_resource (self->css_provider,
"/org/gnome/todo/theme/scheduled-panel/Adwaita.css");
- /* And then the panel */
- self->panels = g_list_append (NULL, gtd_panel_scheduled_new ());
-
g_object_unref (settings);
g_object_unref (css_file);
g_free (theme_name);
@@ -184,4 +160,8 @@ gtd_plugin_scheduled_panel_register_types (PeasObjectModule *module)
peas_object_module_register_extension_type (module,
GTD_TYPE_ACTIVATABLE,
GTD_TYPE_PLUGIN_SCHEDULED_PANEL);
+
+ peas_object_module_register_extension_type (module,
+ GTD_TYPE_PANEL,
+ GTD_TYPE_PANEL_SCHEDULED);
}
diff --git a/plugins/score/score/__init__.py b/plugins/score/score/__init__.py
index d289f3c..0913912 100644
--- a/plugins/score/score/__init__.py
+++ b/plugins/score/score/__init__.py
@@ -2,7 +2,7 @@
# __init__.py
#
-# Copyright (C) 2016 Georges Basile Stavracas Neto <georges stavracas gmail com>
+# Copyright (C) 2016-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
@@ -167,9 +167,6 @@ class ScorePlugin(GObject.Object, Gtd.Activatable):
def do_get_header_widgets(self):
return [self.header_button]
- def do_get_panels(self):
- return None
-
def do_get_preferences_panel(self):
return None
diff --git a/plugins/task-lists-workspace/gtd-plugin-task-lists-workspace.c
b/plugins/task-lists-workspace/gtd-plugin-task-lists-workspace.c
index 750f098..8443424 100644
--- a/plugins/task-lists-workspace/gtd-plugin-task-lists-workspace.c
+++ b/plugins/task-lists-workspace/gtd-plugin-task-lists-workspace.c
@@ -84,12 +84,6 @@ gtd_plugin_task_lists_workspace_get_preferences_panel (GtdActivatable *activatab
return NULL;
}
-static GList*
-gtd_plugin_task_lists_workspace_get_panels (GtdActivatable *activatable)
-{
- return NULL;
-}
-
static GList*
gtd_plugin_task_lists_workspace_get_providers (GtdActivatable *activatable)
{
@@ -103,7 +97,6 @@ gtd_activatable_iface_init (GtdActivatableInterface *iface)
iface->deactivate = gtd_plugin_task_lists_workspace_deactivate;
iface->get_header_widgets = gtd_plugin_task_lists_workspace_get_header_widgets;
iface->get_preferences_panel = gtd_plugin_task_lists_workspace_get_preferences_panel;
- iface->get_panels = gtd_plugin_task_lists_workspace_get_panels;
iface->get_providers = gtd_plugin_task_lists_workspace_get_providers;
}
diff --git a/plugins/task-lists-workspace/gtd-task-lists-workspace.c
b/plugins/task-lists-workspace/gtd-task-lists-workspace.c
index 05a283b..b6e3aa5 100644
--- a/plugins/task-lists-workspace/gtd-task-lists-workspace.c
+++ b/plugins/task-lists-workspace/gtd-task-lists-workspace.c
@@ -25,6 +25,7 @@
#include "sidebar/gtd-sidebar.h"
#include "gtd-task-list-panel.h"
+#include <libpeas/peas.h>
#include <glib/gi18n.h>
struct _GtdTaskListsWorkspace
@@ -45,6 +46,7 @@ struct _GtdTaskListsWorkspace
GtdPanel *active_panel;
GtdPanel *task_list_panel;
+ PeasExtensionSet *panels_set;
GSimpleActionGroup *action_group;
};
@@ -61,6 +63,15 @@ enum
N_PROPS
};
+enum
+{
+ PANEL_ADDED,
+ PANEL_REMOVED,
+ NUM_SIGNALS
+};
+
+static guint signals[NUM_SIGNALS] = { 0, };
+
/*
* Auxiliary methods
@@ -190,7 +201,8 @@ on_back_button_clicked_cb (GtkButton *button,
}
static void
-on_panel_added_cb (GtdManager *manager,
+on_panel_added_cb (PeasExtensionSet *extension_set,
+ PeasPluginInfo *plugin_info,
GtdPanel *panel,
GtdTaskListsWorkspace *self)
{
@@ -198,14 +210,22 @@ on_panel_added_cb (GtdManager *manager,
GTK_WIDGET (panel),
gtd_panel_get_panel_name (panel),
gtd_panel_get_panel_title (panel));
+
+ g_signal_emit (self, signals[PANEL_ADDED], 0, panel);
}
static void
-on_panel_removed_cb (GtdManager *manager,
+on_panel_removed_cb (PeasExtensionSet *extension_set,
+ PeasPluginInfo *plugin_info,
GtdPanel *panel,
GtdTaskListsWorkspace *self)
{
+ g_object_ref (panel);
+
gtk_container_remove (GTK_CONTAINER (self->stack), GTK_WIDGET (panel));
+ g_signal_emit (self, signals[PANEL_REMOVED], 0, panel);
+
+ g_object_unref (panel);
}
static void
@@ -318,6 +338,21 @@ gtd_workspace_iface_init (GtdWorkspaceInterface *iface)
}
+/*
+ * GtkWidget overrides
+ */
+
+static void
+gtd_task_lists_workspace_destroy (GtkWidget *widget)
+{
+ GtdTaskListsWorkspace *self = (GtdTaskListsWorkspace *)widget;
+
+ g_clear_object (&self->panels_set);
+
+ GTK_WIDGET_CLASS (gtd_task_lists_workspace_parent_class)->destroy (widget);
+}
+
+
/*
* GObject overrides
*/
@@ -326,8 +361,6 @@ static void
gtd_task_lists_workspace_constructed (GObject *object)
{
GtdTaskListsWorkspace *self = (GtdTaskListsWorkspace *)object;
- g_autoptr (GList) lists = NULL;
- g_autoptr (GList) l = NULL;
GtdManager *manager;
self = GTD_TASK_LISTS_WORKSPACE (object);
@@ -338,13 +371,16 @@ gtd_task_lists_workspace_constructed (GObject *object)
manager = gtd_manager_get_default ();
/* Add loaded panels */
- lists = gtd_manager_get_panels (manager);
+ self->panels_set = peas_extension_set_new (peas_engine_get_default (),
+ GTD_TYPE_PANEL,
+ NULL);
- for (l = lists; l; l = l->next)
- on_panel_added_cb (NULL, l->data, self);
+ peas_extension_set_foreach (self->panels_set,
+ (PeasExtensionSetForeachFunc) on_panel_added_cb,
+ self);
- g_signal_connect (manager, "panel-added", G_CALLBACK (on_panel_added_cb), self);
- g_signal_connect (manager, "panel-removed", G_CALLBACK (on_panel_removed_cb), self);
+ g_signal_connect (self->panels_set, "extension-added", G_CALLBACK (on_panel_added_cb), self);
+ g_signal_connect (self->panels_set, "extension-removed", G_CALLBACK (on_panel_removed_cb), self);
g_settings_bind (gtd_manager_get_settings (manager),
"sidebar-revealed",
@@ -395,6 +431,46 @@ gtd_task_lists_workspace_class_init (GtdTaskListsWorkspaceClass *klass)
object_class->get_property = gtd_task_lists_workspace_get_property;
object_class->set_property = gtd_task_lists_workspace_set_property;
+ widget_class->destroy = gtd_task_lists_workspace_destroy;
+
+ /**
+ * GtdTaskListsWorkspace::panel-added:
+ * @manager: a #GtdManager
+ * @panel: a #GtdPanel
+ *
+ * The ::panel-added signal is emmited after a #GtdPanel
+ * is added.
+ */
+ signals[PANEL_ADDED] = g_signal_new ("panel-added",
+ GTD_TYPE_TASK_LISTS_WORKSPACE,
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL,
+ NULL,
+ NULL,
+ G_TYPE_NONE,
+ 1,
+ GTD_TYPE_PANEL);
+
+ /**
+ * GtdTaskListsWorkspace::panel-removed:
+ * @manager: a #GtdManager
+ * @panel: a #GtdPanel
+ *
+ * The ::panel-removed signal is emmited after a #GtdPanel
+ * is removed from the list.
+ */
+ signals[PANEL_REMOVED] = g_signal_new ("panel-removed",
+ GTD_TYPE_TASK_LISTS_WORKSPACE,
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL,
+ NULL,
+ NULL,
+ G_TYPE_NONE,
+ 1,
+ GTD_TYPE_PANEL);
+
g_object_class_override_property (object_class, PROP_ICON, "icon");
g_object_class_override_property (object_class, PROP_TITLE, "title");
@@ -442,8 +518,9 @@ gtd_task_lists_workspace_init (GtdTaskListsWorkspace *self)
/* Task list panel */
self->task_list_panel = GTD_PANEL (gtd_task_list_panel_new ());
- on_panel_added_cb (gtd_manager_get_default (), self->task_list_panel, self);
+ on_panel_added_cb (NULL, NULL, self->task_list_panel, self);
+ gtd_sidebar_connect (self->sidebar, GTK_WIDGET (self));
gtd_sidebar_set_panel_stack (self->sidebar, self->stack);
gtd_sidebar_set_task_list_panel (self->sidebar, self->task_list_panel);
diff --git a/plugins/task-lists-workspace/sidebar/gtd-sidebar.c
b/plugins/task-lists-workspace/sidebar/gtd-sidebar.c
index ace2445..8f4ae02 100644
--- a/plugins/task-lists-workspace/sidebar/gtd-sidebar.c
+++ b/plugins/task-lists-workspace/sidebar/gtd-sidebar.c
@@ -761,7 +761,6 @@ static void
gtd_sidebar_constructed (GObject *object)
{
g_autoptr (GList) providers = NULL;
- g_autoptr (GList) panels = NULL;
GListModel *lists;
GtdManager *manager;
GtdSidebar *self;
@@ -773,15 +772,6 @@ gtd_sidebar_constructed (GObject *object)
G_OBJECT_CLASS (gtd_sidebar_parent_class)->constructed (object);
- /* Add loaded panels */
- panels = gtd_manager_get_panels (manager);
-
- for (l = panels; l; l = l->next)
- add_panel (self, l->data);
-
- g_signal_connect (manager, "panel-added", G_CALLBACK (on_panel_added_cb), self);
- g_signal_connect (manager, "panel-removed", G_CALLBACK (on_panel_removed_cb), self);
-
/* Add providers */
providers = gtd_manager_get_providers (manager);
@@ -911,3 +901,11 @@ gtd_sidebar_set_archive_visible (GtdSidebar *self,
else
gtk_stack_set_visible_child (self->stack, GTK_WIDGET (self->listbox));
}
+
+void
+gtd_sidebar_connect (GtdSidebar *self,
+ GtkWidget *workspace)
+{
+ g_signal_connect (workspace, "panel-added", G_CALLBACK (on_panel_added_cb), self);
+ g_signal_connect (workspace, "panel-removed", G_CALLBACK (on_panel_removed_cb), self);
+}
diff --git a/plugins/task-lists-workspace/sidebar/gtd-sidebar.h
b/plugins/task-lists-workspace/sidebar/gtd-sidebar.h
index 65b81fc..581bdee 100644
--- a/plugins/task-lists-workspace/sidebar/gtd-sidebar.h
+++ b/plugins/task-lists-workspace/sidebar/gtd-sidebar.h
@@ -1,6 +1,6 @@
/* gtd-sidebar.h
*
- * 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
@@ -41,4 +41,7 @@ void gtd_sidebar_activate (GtdSidebar
void gtd_sidebar_set_archive_visible (GtdSidebar *self,
gboolean show_archive);
+void gtd_sidebar_connect (GtdSidebar *self,
+ GtkWidget *workspace);
+
G_END_DECLS
diff --git a/plugins/today-panel/gtd-plugin-today-panel.c b/plugins/today-panel/gtd-plugin-today-panel.c
index 58add33..8916451 100644
--- a/plugins/today-panel/gtd-plugin-today-panel.c
+++ b/plugins/today-panel/gtd-plugin-today-panel.c
@@ -30,7 +30,6 @@ struct _GtdPluginTodayPanel
{
PeasExtensionBase parent;
- GList *panels;
GtkCssProvider *css_provider;
};
@@ -74,14 +73,6 @@ gtd_plugin_today_panel_get_preferences_panel (GtdActivatable *activatable)
return NULL;
}
-static GList*
-gtd_plugin_today_panel_get_panels (GtdActivatable *activatable)
-{
- GtdPluginTodayPanel *plugin = GTD_PLUGIN_TODAY_PANEL (activatable);
-
- return plugin->panels;
-}
-
static GList*
gtd_plugin_today_panel_get_providers (GtdActivatable *activatable)
{
@@ -95,20 +86,9 @@ gtd_activatable_iface_init (GtdActivatableInterface *iface)
iface->deactivate = gtd_plugin_today_panel_deactivate;
iface->get_header_widgets = gtd_plugin_today_panel_get_header_widgets;
iface->get_preferences_panel = gtd_plugin_today_panel_get_preferences_panel;
- iface->get_panels = gtd_plugin_today_panel_get_panels;
iface->get_providers = gtd_plugin_today_panel_get_providers;
}
-static void
-gtd_plugin_today_panel_finalize (GObject *object)
-{
- GtdPluginTodayPanel *self = (GtdPluginTodayPanel *)object;
-
- g_list_free (self->panels);
-
- G_OBJECT_CLASS (gtd_plugin_today_panel_parent_class)->finalize (object);
-}
-
static void
gtd_plugin_today_panel_get_property (GObject *object,
guint prop_id,
@@ -131,7 +111,6 @@ gtd_plugin_today_panel_class_init (GtdPluginTodayPanelClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- object_class->finalize = gtd_plugin_today_panel_finalize;
object_class->get_property = gtd_plugin_today_panel_get_property;
g_object_class_override_property (object_class,
@@ -162,9 +141,6 @@ gtd_plugin_today_panel_init (GtdPluginTodayPanel *self)
gtk_css_provider_load_from_file (self->css_provider, css_file);
else
gtk_css_provider_load_from_resource (self->css_provider,
"/org/gnome/todo/theme/today-panel/Adwaita.css");
-
- /* And then the panel */
- self->panels = g_list_append (NULL, gtd_panel_today_new ());
}
static void
@@ -181,6 +157,10 @@ gtd_plugin_today_panel_register_types (PeasObjectModule *module)
GTD_TYPE_ACTIVATABLE,
GTD_TYPE_PLUGIN_TODAY_PANEL);
+ peas_object_module_register_extension_type (module,
+ GTD_TYPE_PANEL,
+ GTD_TYPE_PANEL_TODAY);
+
peas_object_module_register_extension_type (module,
GTD_TYPE_OMNI_AREA_ADDIN,
GTD_TYPE_TODAY_OMNI_AREA_ADDIN);
diff --git a/plugins/unscheduled-panel/unscheduled-panel/__init__.py
b/plugins/unscheduled-panel/unscheduled-panel/__init__.py
index decae8c..46a4af4 100644
--- a/plugins/unscheduled-panel/unscheduled-panel/__init__.py
+++ b/plugins/unscheduled-panel/unscheduled-panel/__init__.py
@@ -2,7 +2,7 @@
# __init__.py
#
-# Copyright ® 2016 Georges Basile Stavracas Neto <georges stavracas gmail com>
+# Copyright ® 2016-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
@@ -133,9 +133,6 @@ class UnscheduledPanelPlugin(GObject.Object, Gtd.Activatable):
def do_get_header_widgets(self):
return None
- def do_get_panels(self):
- return [self.panel]
-
def do_get_preferences_panel(self):
return None
diff --git a/src/engine/gtd-manager.c b/src/engine/gtd-manager.c
index a191184..4bed2f0 100644
--- a/src/engine/gtd-manager.c
+++ b/src/engine/gtd-manager.c
@@ -63,7 +63,6 @@ struct _GtdManager
GHashTable *workspaces;
GList *providers;
- GList *panels;
GtdProvider *default_provider;
GtdClock *clock;
@@ -82,8 +81,6 @@ enum
LIST_REMOVED,
SHOW_ERROR_MESSAGE,
SHOW_NOTIFICATION,
- PANEL_ADDED,
- PANEL_REMOVED,
PROVIDER_ADDED,
PROVIDER_REMOVED,
WORKSPACE_ADDED,
@@ -163,34 +160,6 @@ on_task_list_modified_cb (GtdTaskList *list,
GTD_EXIT;
}
-static void
-on_panel_added_cb (GtdPluginManager *plugin_manager,
- GtdPanel *panel,
- GtdManager *self)
-{
- GTD_ENTRY;
-
- self->panels = g_list_append (self->panels, panel);
-
- g_signal_emit (self, signals[PANEL_ADDED], 0, panel);
-
- GTD_EXIT;
-}
-
-static void
-on_panel_removed_cb (GtdPluginManager *plugin_manager,
- GtdPanel *panel,
- GtdManager *self)
-{
- GTD_ENTRY;
-
- self->panels = g_list_remove (self->panels, panel);
-
- g_signal_emit (self, signals[PANEL_REMOVED], 0, panel);
-
- GTD_EXIT;
-}
-
static void
on_list_added_cb (GtdProvider *provider,
GtdTaskList *list,
@@ -551,44 +520,6 @@ gtd_manager_class_init (GtdManagerClass *klass)
1,
GTD_TYPE_NOTIFICATION);
- /**
- * GtdManager::panel-added:
- * @manager: a #GtdManager
- * @panel: a #GtdPanel
- *
- * The ::panel-added signal is emmited after a #GtdPanel
- * is added.
- */
- signals[PANEL_ADDED] = g_signal_new ("panel-added",
- GTD_TYPE_MANAGER,
- G_SIGNAL_RUN_LAST,
- 0,
- NULL,
- NULL,
- NULL,
- G_TYPE_NONE,
- 1,
- GTD_TYPE_PANEL);
-
- /**
- * GtdManager::panel-removed:
- * @manager: a #GtdManager
- * @panel: a #GtdPanel
- *
- * The ::panel-removed signal is emmited after a #GtdPanel
- * is removed from the list.
- */
- signals[PANEL_REMOVED] = g_signal_new ("panel-removed",
- GTD_TYPE_MANAGER,
- G_SIGNAL_RUN_LAST,
- 0,
- NULL,
- NULL,
- NULL,
- G_TYPE_NONE,
- 1,
- GTD_TYPE_PANEL);
-
/**
* GtdManager::provider-added:
* @manager: a #GtdManager
@@ -721,23 +652,6 @@ gtd_manager_get_providers (GtdManager *self)
return g_list_copy (self->providers);
}
-/**
- * gtd_manager_get_panels:
- * @manager: a #GtdManager
- *
- * Retrieves the list of currently loaded #GtdPanel
- * instances.
- *
- * Returns: (transfer container) (element-type Gtd.Panel): a #GList of #GtdPanel
- */
-GList*
-gtd_manager_get_panels (GtdManager *self)
-{
- g_return_val_if_fail (GTD_IS_MANAGER (self), NULL);
-
- return g_list_copy (self->panels);
-}
-
/**
* gtd_manager_get_default_provider:
* @manager: a #GtdManager
@@ -1048,16 +962,6 @@ gtd_manager_load_plugins (GtdManager *self)
{
GTD_ENTRY;
- g_signal_connect (self->plugin_manager,
- "panel-registered",
- G_CALLBACK (on_panel_added_cb),
- self);
-
- g_signal_connect (self->plugin_manager,
- "panel-unregistered",
- G_CALLBACK (on_panel_removed_cb),
- self);
-
g_signal_connect (self->plugin_manager,
"provider-registered",
G_CALLBACK (on_provider_added_cb),
diff --git a/src/engine/gtd-manager.h b/src/engine/gtd-manager.h
index 3d601b8..5214325 100644
--- a/src/engine/gtd-manager.h
+++ b/src/engine/gtd-manager.h
@@ -42,8 +42,6 @@ GtdManager* gtd_manager_get_default (void);
GList* gtd_manager_get_providers (GtdManager *manager);
-GList* gtd_manager_get_panels (GtdManager *manager);
-
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 6678ba9..099bb6a 100644
--- a/src/engine/gtd-plugin-manager.c
+++ b/src/engine/gtd-plugin-manager.c
@@ -37,8 +37,6 @@ G_DEFINE_TYPE (GtdPluginManager, gtd_plugin_manager, GTD_TYPE_OBJECT)
enum
{
- PANEL_REGISTERED,
- PANEL_UNREGISTERED,
PLUGIN_LOADED,
PLUGIN_UNLOADED,
PROVIDER_REGISTERED,
@@ -127,22 +125,6 @@ from_property_to_gsetting_func (const GValue *value,
return g_variant_new_strv ((const gchar * const *)loaded_extensions, -1);
}
-static void
-on_panel_added_cb (GtdActivatable *activatable,
- GtdPanel *panel,
- GtdPluginManager *self)
-{
- g_signal_emit_by_name (self, "panel-registered", panel);
-}
-
-static void
-on_panel_removed_cb (GtdActivatable *activatable,
- GtdPanel *panel,
- GtdPluginManager *self)
-{
- g_signal_emit_by_name (self, "panel-unregistered", panel);
-}
-
static void
on_provider_added_cb (GtdActivatable *activatable,
GtdProvider *provider,
@@ -166,7 +148,6 @@ on_plugin_unloaded_cb (PeasEngine *engine,
{
GtdActivatable *activatable;
GList *extension_providers;
- GList *extension_panels;
GList *l;
activatable = g_hash_table_lookup (self->info_to_extension, info);
@@ -174,12 +155,6 @@ on_plugin_unloaded_cb (PeasEngine *engine,
if (!activatable)
return;
- /* Remove all panels */
- extension_panels = gtd_activatable_get_panels (activatable);
-
- for (l = extension_panels; l != NULL; l = l->next)
- on_panel_removed_cb (activatable, l->data, self);
-
/* Remove all registered providers */
extension_providers = gtd_activatable_get_providers (activatable);
@@ -193,8 +168,6 @@ on_plugin_unloaded_cb (PeasEngine *engine,
g_signal_emit (self, signals[PLUGIN_UNLOADED], 0, info, activatable);
/* Disconnect old signals */
- g_signal_handlers_disconnect_by_func (activatable, on_panel_added_cb, self);
- g_signal_handlers_disconnect_by_func (activatable, on_panel_removed_cb, self);
g_signal_handlers_disconnect_by_func (activatable, on_provider_added_cb, self);
g_signal_handlers_disconnect_by_func (activatable, on_provider_removed_cb, self);
@@ -235,14 +208,8 @@ on_plugin_loaded_cb (PeasEngine *engine,
for (l = gtd_activatable_get_providers (activatable); l != NULL; l = l->next)
on_provider_added_cb (activatable, l->data, self);
- /* Load all panels */
- for (l = gtd_activatable_get_panels (activatable); l != NULL; l = l->next)
- on_panel_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);
- g_signal_connect (activatable, "panel-added", G_CALLBACK (on_panel_added_cb), self);
- g_signal_connect (activatable, "panel-removed", G_CALLBACK (on_panel_removed_cb), self);
/* Activate extension */
gtd_activatable_activate (activatable);
@@ -311,28 +278,6 @@ gtd_plugin_manager_class_init (GtdPluginManagerClass *klass)
object_class->finalize = gtd_plugin_manager_finalize;
- signals[PANEL_REGISTERED] = g_signal_new ("panel-registered",
- GTD_TYPE_PLUGIN_MANAGER,
- G_SIGNAL_RUN_FIRST,
- 0,
- NULL,
- NULL,
- NULL,
- G_TYPE_NONE,
- 1,
- GTD_TYPE_PANEL);
-
- signals[PANEL_UNREGISTERED] = g_signal_new ("panel-unregistered",
- GTD_TYPE_PLUGIN_MANAGER,
- G_SIGNAL_RUN_FIRST,
- 0,
- NULL,
- NULL,
- NULL,
- G_TYPE_NONE,
- 1,
- GTD_TYPE_PANEL);
-
signals[PLUGIN_LOADED] = g_signal_new ("plugin-loaded",
GTD_TYPE_PLUGIN_MANAGER,
G_SIGNAL_RUN_FIRST,
diff --git a/src/interfaces/gtd-activatable.c b/src/interfaces/gtd-activatable.c
index e0c27b3..bf9d4d3 100644
--- a/src/interfaces/gtd-activatable.c
+++ b/src/interfaces/gtd-activatable.c
@@ -1,6 +1,6 @@
/* gtd-activatable.c
*
- * 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
@@ -53,8 +53,6 @@ G_DEFINE_INTERFACE (GtdActivatable, gtd_activatable, G_TYPE_OBJECT)
enum
{
- PANEL_ADDED,
- PANEL_REMOVED,
PROVIDER_ADDED,
PROVIDER_CHANGED,
PROVIDER_REMOVED,
@@ -78,44 +76,6 @@ gtd_activatable_default_init (GtdActivatableInterface *iface)
GTK_TYPE_WIDGET,
G_PARAM_READABLE));
- /**
- * GtdActivatable::panel-added:
- * @activatable: a #GtdActivatable
- * @panel: a #GtdPanel
- *
- * The ::panel-added signal is emmited after a #GtdPanel
- * is connected.
- */
- signals[PANEL_ADDED] = g_signal_new ("panel-added",
- GTD_TYPE_ACTIVATABLE,
- G_SIGNAL_RUN_LAST,
- 0,
- NULL,
- NULL,
- NULL,
- G_TYPE_NONE,
- 1,
- GTD_TYPE_PANEL);
-
- /**
- * GtdActivatable::panel-removed:
- * @activatable: a #GtdActivatable
- * @panel: a #GtdPanel
- *
- * The ::panel-removed signal is emmited after a #GtdPanel
- * is removed from the list.
- */
- signals[PANEL_REMOVED] = g_signal_new ("panel-removed",
- GTD_TYPE_ACTIVATABLE,
- G_SIGNAL_RUN_LAST,
- 0,
- NULL,
- NULL,
- NULL,
- G_TYPE_NONE,
- 1,
- GTD_TYPE_PANEL);
-
/**
* GtdActivatable::provider-added:
* @activatable: a #GtdActivatable
@@ -250,23 +210,6 @@ gtd_activatable_get_preferences_panel (GtdActivatable *activatable)
return GTD_ACTIVATABLE_GET_IFACE (activatable)->get_preferences_panel (activatable);
}
-/**
- * gtd_activatable_get_panels:
- * @activatable: a #GtdActivatable
- *
- * Retrieve the panel list of @activatable if any.
- *
- * Returns: (transfer none) (element-type Gtd.Panel): a #GList
- */
-GList*
-gtd_activatable_get_panels (GtdActivatable *activatable)
-{
- g_return_val_if_fail (GTD_IS_ACTIVATABLE (activatable), NULL);
- g_return_val_if_fail (GTD_ACTIVATABLE_GET_IFACE (activatable)->get_panels, NULL);
-
- return GTD_ACTIVATABLE_GET_IFACE (activatable)->get_panels (activatable);
-}
-
/**
* gtd_activatable_get_providers:
* @activatable: a #GtdActivatable
diff --git a/src/interfaces/gtd-activatable.h b/src/interfaces/gtd-activatable.h
index 1f7b012..ebe9fab 100644
--- a/src/interfaces/gtd-activatable.h
+++ b/src/interfaces/gtd-activatable.h
@@ -1,6 +1,6 @@
/* gtd-activatable.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
@@ -42,8 +42,6 @@ struct _GtdActivatableInterface
GtkWidget* (*get_preferences_panel) (GtdActivatable *activatable);
- GList* (*get_panels) (GtdActivatable *activatable);
-
GList* (*get_providers) (GtdActivatable *activatable);
};
@@ -55,8 +53,6 @@ GList* gtd_activatable_get_header_widgets (GtdActivatable
GtkWidget* gtd_activatable_get_preferences_panel (GtdActivatable *activatable);
-GList* gtd_activatable_get_panels (GtdActivatable *activatable);
-
GList* gtd_activatable_get_providers (GtdActivatable *activatable);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]