static GtkWidget *make_recent_documents_list (gboolean images, gchar *command, int limit, int age, gchar *sort_type) { GtkWidget *widget = gtk_recent_chooser_menu_new (); if (images) { gtk_recent_chooser_set_show_icons (GTK_RECENT_CHOOSER(widget), TRUE); } else { gtk_recent_chooser_set_show_icons (GTK_RECENT_CHOOSER(widget), FALSE); } g_signal_connect (G_OBJECT (widget), "item-activated", G_CALLBACK (recent_activated), g_strdup (command)); if (age) { GtkRecentFilter *filter = gtk_recent_filter_new (); gtk_recent_filter_add_pattern (filter, "*"); gtk_recent_filter_add_age (filter, age); gtk_recent_chooser_add_filter (GTK_RECENT_CHOOSER(widget), filter); } if (sort_type) { if (strcmp (sort_type, "most used") == 0) { gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER(widget), GTK_RECENT_SORT_MRU); } else { gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER(widget), GTK_RECENT_SORT_LRU); } } gtk_recent_chooser_set_limit (GTK_RECENT_CHOOSER(widget), limit); return widget; }
static VALUE rg_add_age(VALUE self, VALUE days) { gtk_recent_filter_add_age(_SELF(self), NUM2INT(days)); return self; }