Re: GnomeDesktopThumbnail API replacement
- From: Bastien Nocera <hadess hadess net>
- To: "gtk-devel-list gnome org Developers" <gtk-devel-list gnome org>
- Subject: Re: GnomeDesktopThumbnail API replacement
- Date: Wed, 17 Jan 2018 18:15:33 +0100
On Wed, 2018-01-17 at 13:15 +0100, Bastien Nocera wrote:
Hey,
I wanted to start a discussion about replacing GnomeDesktopThumbnail
with an API that would live in the GLib/GTK+ stack.
<snip>
To sum up, here are the questions:
- Do we want the API in GTK+ and depending on gdk-pixbuf, even if
it's
only really meant to be used on "freedesktop" platforms?
- Are there specific API entry points that people need besides the
current API (including [1]) with async support?
This is the API that I came up with, which could live in either gdk-
pixbuf, or GTK+, dependency-wise. It might also be small enough to
copy/paste although I count 15 users of just the C API in Debian
Codesearch[1], so it might be worth having in a shared library anyway.
typedef enum {
GNOME_DESKTOP_THUMBNAIL_FLAGS_NONE = 0,
GNOME_DESKTOP_THUMBNAIL_FLAGS_SAVE, // Whether to save the created (successful or failed) thumbnail to
the cache
} GnomeDesktopThumbnailFlag;
#define GNOME_DESKTOP_THUMBNAIL_FILE_ATTRIBUTES \
G_FILE_ATTRIBUTE_THUMBNAIL_PATH "," \
G_FILE_ATTRIBUTE_THUMBNAILING_FAILED "," \
G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID "," \
G_FILE_ATTRIBUTE_PREVIEW_ICON "," \
G_FILE_ATTRIBUTE_TIME_MODIFIED "," \
G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE
// About @info:
// NULL means we'll look it up if necessary, otherwise must include
// GNOME_DESKTOP_THUMBNAIL_FILE_ATTRIBUTES,
// G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE will however be used rather
// than G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE if present
GdkPixbuf *
gnome_desktop_thumbnail_generate_thumbnail_sync (GnomeDesktopThumbnailFactory *factory,
GFile *file, // instead of a
URI?
GFileInfo *info,
GnomeDesktopThumbnailFlags flag,
char **ret_thumbnail_path,
GError **error);
[1]: https://codesearch.debian.net/search?q=gnome_desktop_thumbnail_factory_new&perpkg=1
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]