utils: Add function to create writable-only calendars lists
This commit is contained in:
committed by
Georges Basile Stavracas Neto
parent
fb5b03b2df
commit
8ff3a843b3
@@ -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)));
|
||||
}
|
||||
|
||||
@@ -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__ */
|
||||
|
||||
Reference in New Issue
Block a user