[gnome-todo] manager: Add a providers model
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-todo] manager: Add a providers model
- Date: Fri, 8 May 2020 15:06:33 +0000 (UTC)
commit 3dad645793dde5822f88d1eaef525f48f8f33619
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Tue May 5 12:55:57 2020 -0300
manager: Add a providers model
src/engine/gtd-manager.c | 20 ++++++++++++++++++++
src/engine/gtd-manager.h | 2 ++
2 files changed, 22 insertions(+)
---
diff --git a/src/engine/gtd-manager.c b/src/engine/gtd-manager.c
index 13a6656..89f9a46 100644
--- a/src/engine/gtd-manager.c
+++ b/src/engine/gtd-manager.c
@@ -59,6 +59,7 @@ struct _GtdManager
GListModel *inbox_model;
GListModel *lists_model;
+ GListModel *providers_model;
GListModel *tasks_model;
GListModel *unarchived_tasks_model;
@@ -512,6 +513,7 @@ gtd_manager_init (GtdManager *self)
filter_achived_lists_func,
self,
NULL);
+ self->providers_model = (GListModel*) gtd_list_store_new (GTD_TYPE_PROVIDER);
}
/**
@@ -574,6 +576,7 @@ gtd_manager_add_provider (GtdManager *self,
GTD_ENTRY;
self->providers = g_list_prepend (self->providers, provider);
+ gtd_list_store_append (GTD_LIST_STORE (self->providers_model), provider);
/* Add lists */
lists = gtd_provider_get_task_lists (provider);
@@ -615,6 +618,7 @@ gtd_manager_remove_provider (GtdManager *self,
GTD_ENTRY;
self->providers = g_list_remove (self->providers, provider);
+ gtd_list_store_remove (GTD_LIST_STORE (self->providers_model), provider);
/* Remove lists */
lists = gtd_provider_get_task_lists (provider);
@@ -886,6 +890,22 @@ gtd_manager_get_inbox_model (GtdManager *self)
return self->inbox_model;
}
+/**
+ * gtd_manager_get_providers_model:
+ * @self: a #GtdManager
+ *
+ * Retrieves the #GListModel containing #GtdProviders.
+ *
+ * Returns: (transfer none): a #GListModel
+ */
+GListModel*
+gtd_manager_get_providers_model (GtdManager *self)
+{
+ g_return_val_if_fail (GTD_IS_MANAGER (self), NULL);
+
+ return self->providers_model;
+}
+
void
gtd_manager_load_plugins (GtdManager *self)
{
diff --git a/src/engine/gtd-manager.h b/src/engine/gtd-manager.h
index 7b46400..0b993f4 100644
--- a/src/engine/gtd-manager.h
+++ b/src/engine/gtd-manager.h
@@ -81,4 +81,6 @@ GListModel* gtd_manager_get_tasks_model (GtdManager
GListModel* gtd_manager_get_inbox_model (GtdManager *self);
+GListModel* gtd_manager_get_providers_model (GtdManager *self);
+
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]