/* The GeditRecentConfiguration struct is allocated and owned by the caller */ void gedit_recent_configuration_init_default (GeditRecentConfiguration *config) { GSettings *settings; config->manager = gtk_recent_manager_get_default (); if (config->filter != NULL) { g_object_unref (config->filter); } config->filter = gtk_recent_filter_new (); gtk_recent_filter_add_application (config->filter, g_get_application_name ()); gtk_recent_filter_add_mime_type (config->filter, "text/plain"); g_object_ref_sink (config->filter); settings = g_settings_new ("org.gnome.gedit.preferences.ui"); g_settings_get (settings, GEDIT_SETTINGS_MAX_RECENTS, "u", &config->limit); g_object_unref (settings); config->show_not_found = TRUE; config->show_private = FALSE; config->local_only = FALSE; config->substring_filter = NULL; }
static void recent_cb (GSimpleAction *action, GVariant *parameter, gpointer app) { GtkWidget *dialog; GtkWindow *win; GtkRecentInfo *info; GtkRecentChooser *chooser; GtkRecentFilter *filter; GtkRecentFilter *filter_all; const gchar *uri = NULL; win = gtk_application_get_active_window (app); dialog = gtk_recent_chooser_dialog_new ( _("Recent Files"), win, _("_Cancel"), GTK_RESPONSE_CANCEL, _("_Open"), GTK_RESPONSE_ACCEPT, NULL); gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (dialog), GTK_RECENT_SORT_MRU); /* Most Recently Used first */ gtk_recent_chooser_set_show_icons (GTK_RECENT_CHOOSER (dialog), TRUE); filter = gtk_recent_filter_new (); gtk_recent_filter_set_name (filter, _("Parlatype")); gtk_recent_filter_add_application (filter, "parlatype"); gtk_recent_filter_add_mime_type (filter, "audio/*"); gtk_recent_chooser_add_filter (GTK_RECENT_CHOOSER (dialog), filter); filter_all = gtk_recent_filter_new (); gtk_recent_filter_set_name (filter_all, _("All files")); gtk_recent_filter_add_pattern (filter_all, "*"); gtk_recent_chooser_add_filter (GTK_RECENT_CHOOSER (dialog), filter_all); gtk_recent_chooser_set_filter (GTK_RECENT_CHOOSER (dialog), filter); if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) { chooser = GTK_RECENT_CHOOSER (dialog); info = gtk_recent_chooser_get_current_item (chooser); uri = gtk_recent_info_get_uri (info); } gtk_widget_destroy (dialog); if (uri) { /* GStreamer has problems with uris from recent chooser, as a workaround use GFile magic */ GFile *file = g_file_new_for_uri (uri); gchar *tmp = g_file_get_uri (file); pt_window_open_file (PT_WINDOW (win), tmp); g_free (tmp); g_object_unref (file); gtk_recent_info_unref (info); } }
GtkWidget * __recent_create_menu (void) { GtkWidget *recent_menu; GtkRecentFilter *recent_filter; recent_menu = gtk_recent_chooser_menu_new_for_manager (recent_manager); gtk_recent_chooser_menu_set_show_numbers (GTK_RECENT_CHOOSER_MENU (recent_menu), FALSE); gtk_recent_chooser_set_show_icons (GTK_RECENT_CHOOSER (recent_menu), TRUE); gtk_recent_chooser_set_limit (GTK_RECENT_CHOOSER (recent_menu), 4); gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (recent_menu), GTK_RECENT_SORT_MRU); gtk_recent_chooser_set_local_only (GTK_RECENT_CHOOSER (recent_menu), TRUE); recent_filter = gtk_recent_filter_new (); gtk_recent_filter_add_mime_type (recent_filter, GNOMINT_MIME_TYPE); gtk_recent_chooser_set_filter (GTK_RECENT_CHOOSER (recent_menu), recent_filter); return recent_menu; }
void setupRecent(GtkMenuItem *menu) { GtkRecentFilter *filter; GtkWidget *recent; recent=gtk_recent_chooser_menu_new(); gtk_recent_chooser_set_local_only(GTK_RECENT_CHOOSER(recent),false); gtk_recent_chooser_set_sort_type(GTK_RECENT_CHOOSER(recent),GTK_RECENT_SORT_MRU); gtk_recent_chooser_set_limit(GTK_RECENT_CHOOSER(recent),10); filter=gtk_recent_filter_new(); gtk_recent_filter_add_mime_type (filter,"application/x-maneditdoc"); //gtk_recent_filter_add_application(filter,"manpageeditor"); gtk_recent_chooser_set_filter(GTK_RECENT_CHOOSER(recent),filter); g_signal_connect(recent,"item_activated",G_CALLBACK(recentFileMenu),NULL); gtk_menu_item_set_submenu(menu,recent); }
static VALUE rg_add_mime_type(VALUE self, VALUE mime_type) { gtk_recent_filter_add_mime_type(_SELF(self), RVAL2CSTR(mime_type)); return self; }