summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nautilus-directory-async.c58
-rw-r--r--src/nautilus-file-private.h2
-rw-r--r--src/nautilus-file.c13
-rw-r--r--src/nautilus-thumbnails.c12
-rw-r--r--src/nautilus-thumbnails.h1
5 files changed, 11 insertions, 75 deletions
diff --git a/src/nautilus-directory-async.c b/src/nautilus-directory-async.c
index 58998c870..62745ceb2 100644
--- a/src/nautilus-directory-async.c
+++ b/src/nautilus-directory-async.c
@@ -59,8 +59,6 @@ struct ThumbnailState
NautilusDirectory *directory;
GCancellable *cancellable;
NautilusFile *file;
- gboolean trying_original;
- gboolean tried_original;
};
struct MountState
@@ -3799,14 +3797,12 @@ link_info_start (NautilusDirectory *directory,
static void
thumbnail_done (NautilusDirectory *directory,
NautilusFile *file,
- GdkPixbuf *pixbuf,
- gboolean tried_original)
+ GdkPixbuf *pixbuf)
{
const char *thumb_mtime_str;
time_t thumb_mtime = 0;
file->details->thumbnail_is_up_to_date = TRUE;
- file->details->thumbnail_tried_original = tried_original;
if (file->details->thumbnail)
{
g_object_unref (file->details->thumbnail);
@@ -3820,17 +3816,10 @@ thumbnail_done (NautilusDirectory *directory,
if (pixbuf)
{
- if (tried_original)
+ thumb_mtime_str = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::MTime");
+ if (thumb_mtime_str)
{
- thumb_mtime = file->details->mtime;
- }
- else
- {
- thumb_mtime_str = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::MTime");
- if (thumb_mtime_str)
- {
- thumb_mtime = atol (thumb_mtime_str);
- }
+ thumb_mtime = atol (thumb_mtime_str);
}
if (thumb_mtime == 0 ||
@@ -3878,13 +3867,12 @@ thumbnail_stop (NautilusDirectory *directory)
static void
thumbnail_got_pixbuf (NautilusDirectory *directory,
NautilusFile *file,
- GdkPixbuf *pixbuf,
- gboolean tried_original)
+ GdkPixbuf *pixbuf)
{
nautilus_directory_ref (directory);
nautilus_file_ref (file);
- thumbnail_done (directory, file, pixbuf, tried_original);
+ thumbnail_done (directory, file, pixbuf);
nautilus_file_changed (file);
nautilus_file_unref (file);
@@ -3989,7 +3977,6 @@ thumbnail_read_callback (GObject *source_object,
gboolean result;
NautilusDirectory *directory;
GdkPixbuf *pixbuf;
- GFile *location;
state = user_data;
@@ -4014,26 +4001,12 @@ thumbnail_read_callback (GObject *source_object,
g_free (file_contents);
}
- if (pixbuf == NULL && state->trying_original)
- {
- state->trying_original = FALSE;
+ state->directory->details->thumbnail_state = NULL;
+ async_job_end (state->directory, "thumbnail");
- location = g_file_new_for_path (state->file->details->thumbnail_path);
- g_file_load_contents_async (location,
- state->cancellable,
- thumbnail_read_callback,
- state);
- g_object_unref (location);
- }
- else
- {
- state->directory->details->thumbnail_state = NULL;
- async_job_end (state->directory, "thumbnail");
-
- thumbnail_got_pixbuf (state->directory, state->file, pixbuf, state->tried_original);
+ thumbnail_got_pixbuf (state->directory, state->file, pixbuf);
- thumbnail_state_free (state);
- }
+ thumbnail_state_free (state);
nautilus_directory_unref (directory);
}
@@ -4070,16 +4043,7 @@ thumbnail_start (NautilusDirectory *directory,
state->file = file;
state->cancellable = g_cancellable_new ();
- if (file->details->thumbnail_wants_original)
- {
- state->tried_original = TRUE;
- state->trying_original = TRUE;
- location = nautilus_file_get_location (file);
- }
- else
- {
- location = g_file_new_for_path (file->details->thumbnail_path);
- }
+ location = g_file_new_for_path (file->details->thumbnail_path);
directory->details->thumbnail_state = state;
diff --git a/src/nautilus-file-private.h b/src/nautilus-file-private.h
index ec7fea40a..bf2be36b5 100644
--- a/src/nautilus-file-private.h
+++ b/src/nautilus-file-private.h
@@ -168,8 +168,6 @@ struct NautilusFileDetails
eel_boolean_bit got_custom_activation_uri : 1;
eel_boolean_bit thumbnail_is_up_to_date : 1;
- eel_boolean_bit thumbnail_wants_original : 1;
- eel_boolean_bit thumbnail_tried_original : 1;
eel_boolean_bit thumbnailing_failed : 1;
eel_boolean_bit is_thumbnailing : 1;
diff --git a/src/nautilus-file.c b/src/nautilus-file.c
index 86c963a67..bbbb20df5 100644
--- a/src/nautilus-file.c
+++ b/src/nautilus-file.c
@@ -5427,19 +5427,6 @@ nautilus_file_get_thumbnail_icon (NautilusFile *file,
file->details->thumbnail_scale = thumb_scale;
}
- /* Don't scale up if more than 25%, then read the original
- * image instead. We don't want to compare to exactly 100%,
- * since the zoom level 150% gives thumbnails at 144, which is
- * ok to scale up from 128. */
- if (modified_size > 128 * 1.25 * scale &&
- !file->details->thumbnail_wants_original &&
- nautilus_can_thumbnail_internally (file))
- {
- /* Invalidate if we resize upward */
- file->details->thumbnail_wants_original = TRUE;
- nautilus_file_invalidate_attributes (file, NAUTILUS_FILE_ATTRIBUTE_THUMBNAIL);
- }
-
DEBUG ("Returning thumbnailed image, at size %d %d",
(int) (w * thumb_scale), (int) (h * thumb_scale));
}
diff --git a/src/nautilus-thumbnails.c b/src/nautilus-thumbnails.c
index f6e2aeee3..29a52c5cc 100644
--- a/src/nautilus-thumbnails.c
+++ b/src/nautilus-thumbnails.c
@@ -325,18 +325,6 @@ pixbuf_can_load_type (const char *mime_type)
}
gboolean
-nautilus_can_thumbnail_internally (NautilusFile *file)
-{
- char *mime_type;
- gboolean res;
-
- mime_type = nautilus_file_get_mime_type (file);
- res = pixbuf_can_load_type (mime_type);
- g_free (mime_type);
- return res;
-}
-
-gboolean
nautilus_thumbnail_is_mimetype_limited_by_size (const char *mime_type)
{
return pixbuf_can_load_type (mime_type);
diff --git a/src/nautilus-thumbnails.h b/src/nautilus-thumbnails.h
index 3544072ea..7bd381cda 100644
--- a/src/nautilus-thumbnails.h
+++ b/src/nautilus-thumbnails.h
@@ -28,7 +28,6 @@
/* Returns NULL if there's no thumbnail yet. */
void nautilus_create_thumbnail (NautilusFile *file);
gboolean nautilus_can_thumbnail (NautilusFile *file);
-gboolean nautilus_can_thumbnail_internally (NautilusFile *file);
gboolean nautilus_thumbnail_is_mimetype_limited_by_size
(const char *mime_type);