コード例 #1
0
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;
}
コード例 #2
0
static VALUE
rg_add_age(VALUE self, VALUE days)
{
  gtk_recent_filter_add_age(_SELF(self), NUM2INT(days));
  return self;
}