Large Thumbnail Support in Nautilus


In my spare time I am working on a coverflow like implementation for Nautilus [1][2].

I am currently wondering the best way to get large (300px) thumbnails for files - different nautilus views seem to use different approaches, and I do not quite understand what is going on.


* nautilus_thumbnail_xxx (in nautilus-thumbnail.h) uses gnome_desktop_thumbnail_factory internally, and this only uses the standard thumbnail size - GNOME_DESKTOP_THUMBNAIL_SIZE_NORMAL. If a thumbnail larger than SIZE_NORMAL is requested, then this just scales it up.

* nautilus_file_get_icon_pixbuf seems to prefer the scaling up the cached thumbnail, which is small, and therefor seems to deliver blurry icons at 300px

* The icon_view seems to display the nicest thumbnails, at 400%, and these seem to asynchronously update in the background. A lower resolution scaled up thumb is replaced with a higher resolution one shortly after changing to the greater zoom level. This is what I want - However I cannot follow the code for how this is done.

* No one seems to be using the nautilus_thumbnail_xx_async functions, which seem to be close to what I would want, were they to support large thumbnail sizes.

So, any advice on how I could, using which nautilus API, get high resolution thumbnail? Ideally asynchronously, but alternatively at least thread safe.

I am tempted to just call my own gnome_desktop_thumb_factory(GNOME_DESKTOP_THUMBNAIL_SIZE_LARGE) in a thread, but would prefer to go through the nautlius API - it appears to cover a lot of corner cases I would likely need to re-implement.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]