void _gtk_recent_chooser_sync_action_properties (GtkActivatable *activatable, GtkAction *action) { GtkRecentChooser *recent_chooser; GtkRecentChooser *action_chooser; G_GNUC_BEGIN_IGNORE_DEPRECATIONS; recent_chooser = GTK_RECENT_CHOOSER (activatable); action_chooser = GTK_RECENT_CHOOSER (action); G_GNUC_END_IGNORE_DEPRECATIONS; if (!action) return; if (recent_chooser_has_show_numbers (recent_chooser)) { G_GNUC_BEGIN_IGNORE_DEPRECATIONS; g_object_set (recent_chooser, "show-numbers", gtk_recent_action_get_show_numbers (GTK_RECENT_ACTION (action)), NULL); G_GNUC_END_IGNORE_DEPRECATIONS; } gtk_recent_chooser_set_show_private (recent_chooser, gtk_recent_chooser_get_show_private (action_chooser)); gtk_recent_chooser_set_show_not_found (recent_chooser, gtk_recent_chooser_get_show_not_found (action_chooser)); gtk_recent_chooser_set_show_tips (recent_chooser, gtk_recent_chooser_get_show_tips (action_chooser)); gtk_recent_chooser_set_show_icons (recent_chooser, gtk_recent_chooser_get_show_icons (action_chooser)); gtk_recent_chooser_set_limit (recent_chooser, gtk_recent_chooser_get_limit (action_chooser)); gtk_recent_chooser_set_local_only (recent_chooser, gtk_recent_chooser_get_local_only (action_chooser)); gtk_recent_chooser_set_sort_type (recent_chooser, gtk_recent_chooser_get_sort_type (action_chooser)); gtk_recent_chooser_set_filter (recent_chooser, gtk_recent_chooser_get_filter (action_chooser)); }
JNIEXPORT jint JNICALL Java_org_gnome_gtk_GtkRecentChooser_gtk_1recent_1chooser_1get_1limit ( JNIEnv* env, jclass cls, jlong _self ) { gint result; jint _result; GtkRecentChooser* self; // convert parameter self self = (GtkRecentChooser*) _self; // call function result = gtk_recent_chooser_get_limit(self); // cleanup parameter self // translate return value to JNI type _result = (jint) result; // and finally return _result; }
void _gtk_recent_chooser_update (GtkActivatable *activatable, GtkAction *action, const gchar *property_name) { GtkRecentChooser *recent_chooser; GtkRecentChooser *action_chooser; GtkRecentAction *recent_action; G_GNUC_BEGIN_IGNORE_DEPRECATIONS; recent_chooser = GTK_RECENT_CHOOSER (activatable); action_chooser = GTK_RECENT_CHOOSER (action); recent_action = GTK_RECENT_ACTION (action); G_GNUC_END_IGNORE_DEPRECATIONS; if (strcmp (property_name, "show-numbers") == 0 && recent_chooser_has_show_numbers (recent_chooser)) { G_GNUC_BEGIN_IGNORE_DEPRECATIONS; g_object_set (recent_chooser, "show-numbers", gtk_recent_action_get_show_numbers (recent_action), NULL); G_GNUC_END_IGNORE_DEPRECATIONS; } else if (strcmp (property_name, "show-private") == 0) gtk_recent_chooser_set_show_private (recent_chooser, gtk_recent_chooser_get_show_private (action_chooser)); else if (strcmp (property_name, "show-not-found") == 0) gtk_recent_chooser_set_show_not_found (recent_chooser, gtk_recent_chooser_get_show_not_found (action_chooser)); else if (strcmp (property_name, "show-tips") == 0) gtk_recent_chooser_set_show_tips (recent_chooser, gtk_recent_chooser_get_show_tips (action_chooser)); else if (strcmp (property_name, "show-icons") == 0) gtk_recent_chooser_set_show_icons (recent_chooser, gtk_recent_chooser_get_show_icons (action_chooser)); else if (strcmp (property_name, "limit") == 0) gtk_recent_chooser_set_limit (recent_chooser, gtk_recent_chooser_get_limit (action_chooser)); else if (strcmp (property_name, "local-only") == 0) gtk_recent_chooser_set_local_only (recent_chooser, gtk_recent_chooser_get_local_only (action_chooser)); else if (strcmp (property_name, "sort-type") == 0) gtk_recent_chooser_set_sort_type (recent_chooser, gtk_recent_chooser_get_sort_type (action_chooser)); else if (strcmp (property_name, "filter") == 0) gtk_recent_chooser_set_filter (recent_chooser, gtk_recent_chooser_get_filter (action_chooser)); }
/* * _gtk_recent_chooser_get_items: * @chooser: a #GtkRecentChooser * @filter: a #GtkRecentFilter * @sort_func: (allow-none): sorting function, or %NULL * @sort_data: (allow-none): sorting function data, or %NULL * * Default implementation for getting the filtered, sorted and * clamped list of recently used resources from a #GtkRecentChooser. * This function should be used by implementations of the * #GtkRecentChooser interface inside the GtkRecentChooser::get_items * vfunc. * * Return value: a list of #GtkRecentInfo objects */ GList * _gtk_recent_chooser_get_items (GtkRecentChooser *chooser, GtkRecentFilter *filter, GtkRecentSortFunc sort_func, gpointer sort_data) { GtkRecentManager *manager; gint limit; GtkRecentSortType sort_type; GList *items; GCompareDataFunc compare_func; gint length; g_return_val_if_fail (GTK_IS_RECENT_CHOOSER (chooser), NULL); manager = _gtk_recent_chooser_get_recent_manager (chooser); if (!manager) return NULL; items = gtk_recent_manager_get_items (manager); if (!items) return NULL; limit = gtk_recent_chooser_get_limit (chooser); if (limit == 0) return NULL; if (filter) { GList *filter_items, *l; gboolean local_only = FALSE; gboolean show_private = FALSE; gboolean show_not_found = FALSE; g_object_get (G_OBJECT (chooser), "local-only", &local_only, "show-private", &show_private, "show-not-found", &show_not_found, NULL); filter_items = NULL; for (l = items; l != NULL; l = l->next) { GtkRecentInfo *info = l->data; gboolean remove_item = FALSE; if (get_is_recent_filtered (filter, info)) remove_item = TRUE; if (local_only && !gtk_recent_info_is_local (info)) remove_item = TRUE; if (!show_private && gtk_recent_info_get_private_hint (info)) remove_item = TRUE; if (!show_not_found && !gtk_recent_info_exists (info)) remove_item = TRUE; if (!remove_item) filter_items = g_list_prepend (filter_items, info); else gtk_recent_info_unref (info); } g_list_free (items); items = filter_items; } if (!items) return NULL; sort_type = gtk_recent_chooser_get_sort_type (chooser); switch (sort_type) { case GTK_RECENT_SORT_NONE: compare_func = NULL; break; case GTK_RECENT_SORT_MRU: compare_func = (GCompareDataFunc) sort_recent_items_mru; break; case GTK_RECENT_SORT_LRU: compare_func = (GCompareDataFunc) sort_recent_items_lru; break; case GTK_RECENT_SORT_CUSTOM: compare_func = (GCompareDataFunc) sort_recent_items_proxy; break; default: g_assert_not_reached (); break; } if (compare_func) { SortRecentData sort_recent; sort_recent.func = sort_func; sort_recent.data = sort_data; items = g_list_sort_with_data (items, compare_func, &sort_recent); } length = g_list_length (items); if ((limit != -1) && (length > limit)) { GList *clamp, *l; clamp = g_list_nth (items, limit - 1); if (!clamp) return items; l = clamp->next; clamp->next = NULL; g_list_free_full (l, (GDestroyNotify) gtk_recent_info_unref); } return items; }