static void recent_manager_lookup_item (void) { GtkRecentManager *manager; GtkRecentInfo *info; GError *error; manager = gtk_recent_manager_get_default (); error = NULL; info = gtk_recent_manager_lookup_item (manager, "file:///tmp/testrecentdoesnotexist.txt", &error); g_assert (info == NULL); g_assert (error != NULL); g_assert (error->domain == GTK_RECENT_MANAGER_ERROR); g_assert (error->code == GTK_RECENT_MANAGER_ERROR_NOT_FOUND); g_error_free (error); error = NULL; info = gtk_recent_manager_lookup_item (manager, uri2, &error); g_assert (info != NULL); g_assert (error == NULL); g_assert (gtk_recent_info_has_application (info, "testrecentchooser")); gtk_recent_info_unref (info); }
static VALUE rg_lookup_item(VALUE self, VALUE uri) { GError* error = NULL; GtkRecentInfo* info = gtk_recent_manager_lookup_item(_SELF(self), RVAL2CSTR(uri), &error); if (error) RAISE_GERROR(error); return BOXED2RVAL(info, GTK_TYPE_RECENT_INFO); }
/** * gtk_recent_chooser_get_current_item: * @chooser: a #GtkRecentChooser * * Gets the #GtkRecentInfo currently selected by @chooser. * * Return value: a #GtkRecentInfo. Use gtk_recent_info_unref() when * when you have finished using it. * * Since: 2.10 */ GtkRecentInfo * gtk_recent_chooser_get_current_item (GtkRecentChooser *chooser) { GtkRecentManager *manager; GtkRecentInfo *retval; gchar *uri; g_return_val_if_fail (GTK_IS_RECENT_CHOOSER (chooser), NULL); uri = gtk_recent_chooser_get_current_uri (chooser); if (!uri) return NULL; manager = _gtk_recent_chooser_get_recent_manager (chooser); retval = gtk_recent_manager_lookup_item (manager, uri, NULL); g_free (uri); return retval; }