utils: Add function to create writable-only calendars lists

This commit is contained in:
Hari Rana
2024-08-23 13:46:00 -03:00
committed by Georges Basile Stavracas Neto
parent fb5b03b2df
commit 8ff3a843b3
2 changed files with 28 additions and 0 deletions
+26
View File
@@ -1356,3 +1356,29 @@ gcal_create_soup_session (void)
return g_steal_pointer (&session);
}
/**
* gcal_create_writable_calendars_model:
* @manager: a #GcalManager
*
* Retrieves a model with all available read-write #GcalCalendar.
* This is useful for binding to combo rows.
*
* Returns: (transfer full): a #GListModel with all available read-write #GcalCalendar
*/
GListModel*
gcal_create_writable_calendars_model (GcalManager *manager)
{
GtkBoolFilter *bool_filter;
GtkExpression *expression;
g_return_val_if_fail (GCAL_IS_MANAGER (manager), NULL);
expression = gtk_property_expression_new (GCAL_TYPE_CALENDAR, NULL, "read-only");
bool_filter = gtk_bool_filter_new (expression);
gtk_bool_filter_set_invert (bool_filter, TRUE);
return G_LIST_MODEL (gtk_filter_list_model_new (G_LIST_MODEL (gcal_manager_get_calendars_model (manager)),
GTK_FILTER (bool_filter)));
}
+2
View File
@@ -141,4 +141,6 @@ const gchar* gcal_get_service_name_from_url (const gchar
SoupSession * gcal_create_soup_session (void);
GListModel * gcal_create_writable_calendars_model (GcalManager *manager);
#endif /* __GCAL_UTILS_H__ */