diff options
author | Alexandru Pandelea <alexandru.pandelea@gmail.com> | 2016-03-03 07:30:43 +0200 |
---|---|---|
committer | Carlos Soriano <csoriano@gnome.org> | 2016-03-07 21:13:02 +0100 |
commit | 7059cc66ca3bc338e49a6ac4cb37c3484ba3b19d (patch) | |
tree | 19702851f231c436e23fd171ab2bec1866e4ebe3 | |
parent | 0dfb6dec99c166cd35d9d87da82653f93365b227 (diff) | |
download | nautilus-7059cc66ca3bc338e49a6ac4cb37c3484ba3b19d.tar.gz |
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
-rw-r--r-- | libnautilus-private/nautilus-file.c | 17 |
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); } |