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);
|
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);
|
SoupSession * gcal_create_soup_session (void);
|
||||||
|
|
||||||
|
GListModel * gcal_create_writable_calendars_model (GcalManager *manager);
|
||||||
|
|
||||||
#endif /* __GCAL_UTILS_H__ */
|
#endif /* __GCAL_UTILS_H__ */
|
||||||
|
|||||||
Reference in New Issue
Block a user