From 52dd77c43cb56f6d3572919d3a049ec4327bbbf6 Mon Sep 17 00:00:00 2001 From: Alexandru Pandelea Date: Thu, 3 Mar 2016 07:30:43 +0200 Subject: nautilus-file: Don't show thumbnails for small zoom levels When the zoom level is too small, thumbnails become useless, as they are so small that they don't give any information. The solution to this problem is to use mimetype icons when the zoom level is too small In order to achieve this, there was added a function that returns true if the zoom is too small, nautilus_thumbnail_is_limited_by_zoom, meaning that the corresponding mimetype icon should be used instead of the thumbnail https://bugzilla.gnome.org/show_bug.cgi?id=752805 --- libnautilus-private/nautilus-file.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) 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); } -- cgit v1.2.1