summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libnautilus-private/nautilus-file.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/libnautilus-private/nautilus-file.c b/libnautilus-private/nautilus-file.c
index 22e29ddd8..1efe626e8 100644
--- a/libnautilus-private/nautilus-file.c
+++ b/libnautilus-private/nautilus-file.c
@@ -4581,6 +4581,20 @@ nautilus_file_get_thumbnail_icon (NautilusFile *file,
return icon;
}
+static gboolean
+nautilus_thumbnail_is_limited_by_zoom (int size,
+ int scale)
+{
+ int zoom_level;
+
+ zoom_level = size * scale;
+
+ if (zoom_level <= NAUTILUS_LIST_ICON_SIZE_SMALL)
+ return TRUE;
+
+ return FALSE;
+}
+
NautilusIconInfo *
nautilus_file_get_icon (NautilusFile *file,
int size,
@@ -4608,7 +4622,8 @@ nautilus_file_get_icon (NautilusFile *file,
flags & NAUTILUS_FILE_ICON_FLAGS_FORCE_THUMBNAIL_SIZE);
if (flags & NAUTILUS_FILE_ICON_FLAGS_USE_THUMBNAILS &&
- nautilus_file_should_show_thumbnail (file)) {
+ nautilus_file_should_show_thumbnail (file) &&
+ !nautilus_thumbnail_is_limited_by_zoom (size, scale)) {
icon = nautilus_file_get_thumbnail_icon (file, size, scale, flags);
}