Beispiel #1
0
/* 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;
}
Beispiel #2
0
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);
	}
}
Beispiel #3
0
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;
}
Beispiel #4
0
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);
}
Beispiel #5
0
static VALUE
rg_add_mime_type(VALUE self, VALUE mime_type)
{
  gtk_recent_filter_add_mime_type(_SELF(self), RVAL2CSTR(mime_type));
  return self;
}