nautilus r14253 - branches/gnome-2-22/libnautilus-private
- From: cneumair svn gnome org
- To: svn-commits-list gnome org
- Subject: nautilus r14253 - branches/gnome-2-22/libnautilus-private
- Date: Wed, 11 Jun 2008 13:26:53 +0000 (UTC)
Author: cneumair
Date: Wed Jun 11 13:26:53 2008
New Revision: 14253
URL: http://svn.gnome.org/viewvc/nautilus?rev=14253&view=rev
Log:
2008-06-11 Christian Neumair <cneumair gnome org>
* libnautilus-private/nautilus-file.c (update_info_internal),
(nautilus_file_get_icon):
* libnautilus-private/nautilus-thumbnails.c
(nautilus_has_valid_failed_thumbnail):
* libnautilus-private/nautilus-thumbnails.h:
Fix thumbnail handling. Always request thumbnailing if a file without
any thumbnail changes its mtime, or if a failed thumbnail is not up to
date (i.e. its mtime differs from the file's mtime).
Modified:
branches/gnome-2-22/libnautilus-private/nautilus-file.c
branches/gnome-2-22/libnautilus-private/nautilus-thumbnails.c
branches/gnome-2-22/libnautilus-private/nautilus-thumbnails.h
Modified: branches/gnome-2-22/libnautilus-private/nautilus-file.c
==============================================================================
--- branches/gnome-2-22/libnautilus-private/nautilus-file.c (original)
+++ branches/gnome-2-22/libnautilus-private/nautilus-file.c Wed Jun 11 13:26:53 2008
@@ -1749,6 +1749,10 @@
if (file->details->atime != atime ||
file->details->mtime != mtime ||
file->details->ctime != ctime) {
+ if (file->details->thumbnail == NULL) {
+ file->details->thumbnail_is_up_to_date = FALSE;
+ }
+
changed = TRUE;
}
file->details->atime = atime;
@@ -3397,8 +3401,9 @@
return icon;
} else if (file->details->thumbnail_path == NULL &&
file->details->can_read &&
- !file->details->thumbnailing_failed &&
- !file->details->is_thumbnailing) {
+ !file->details->is_thumbnailing &&
+ (!file->details->thumbnailing_failed ||
+ !nautilus_has_valid_failed_thumbnail (file))) {
if (nautilus_can_thumbnail (file)) {
nautilus_create_thumbnail (file);
}
Modified: branches/gnome-2-22/libnautilus-private/nautilus-thumbnails.c
==============================================================================
--- branches/gnome-2-22/libnautilus-private/nautilus-thumbnails.c (original)
+++ branches/gnome-2-22/libnautilus-private/nautilus-thumbnails.c Wed Jun 11 13:26:53 2008
@@ -790,6 +790,22 @@
return res;
}
+gboolean
+nautilus_has_valid_failed_thumbnail (NautilusFile *file)
+{
+ GnomeThumbnailFactory *factory;
+ char *uri;
+ gboolean res;
+
+ factory = get_thumbnail_factory ();
+
+ uri = nautilus_file_get_uri (file);
+ res = gnome_thumbnail_factory_has_valid_failed_thumbnail (factory, uri, file->details->mtime);
+ g_free (uri);
+
+ return res;
+}
+
void
nautilus_create_thumbnail (NautilusFile *file)
{
Modified: branches/gnome-2-22/libnautilus-private/nautilus-thumbnails.h
==============================================================================
--- branches/gnome-2-22/libnautilus-private/nautilus-thumbnails.h (original)
+++ branches/gnome-2-22/libnautilus-private/nautilus-thumbnails.h Wed Jun 11 13:26:53 2008
@@ -46,6 +46,7 @@
/* Returns NULL if there's no thumbnail yet. */
void nautilus_create_thumbnail (NautilusFile *file);
gboolean nautilus_can_thumbnail (NautilusFile *file);
+gboolean nautilus_has_valid_failed_thumbnail (NautilusFile *file);
gboolean nautilus_thumbnail_is_mimetype_limited_by_size
(const char *mime_type);
void nautilus_thumbnail_frame_image (GdkPixbuf **pixbuf);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]