From 3ab5597fc3bfe91b29ea698d1679630adcad5f21 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 20 Mar 2024 10:06:21 -0600 Subject: [PATCH] Load thumbnails with maximum grid icon size, fixes #78 --- src/config.rs | 8 ++++---- src/tab.rs | 7 +++++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/config.rs b/src/config.rs index 4dd1213..123f5d1 100644 --- a/src/config.rs +++ b/src/config.rs @@ -13,11 +13,11 @@ use super::tab::HeadingOptions; pub const CONFIG_VERSION: u64 = 1; // Default icon sizes -const ICON_SIZE_LIST: u16 = 24; -const ICON_SIZE_LIST_CONDENSED: u16 = 48; -const ICON_SIZE_GRID: u16 = 64; +pub const ICON_SIZE_LIST: u16 = 24; +pub const ICON_SIZE_LIST_CONDENSED: u16 = 48; +pub const ICON_SIZE_GRID: u16 = 64; // TODO: 5 is an arbitrary number. Maybe there's a better icon size max -const ICON_SCALE_MAX: u16 = 5; +pub const ICON_SCALE_MAX: u16 = 5; #[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)] pub enum AppTheme { diff --git a/src/tab.rs b/src/tab.rs index 46db08a..ea8c69b 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -36,7 +36,7 @@ use std::{ use crate::{ app::{self, Action}, - config::{IconSizes, TabConfig}, + config::{IconSizes, TabConfig, ICON_SCALE_MAX, ICON_SIZE_GRID}, dialog::DialogKind, fl, menu, mime_app::{mime_apps, MimeApp}, @@ -1923,7 +1923,10 @@ impl Tab { Ok(reader) => match reader.decode() { Ok(image) => { //TODO: configurable thumbnail size? - let thumbnail = image.thumbnail(64, 64); + let thumbnail_size = + (ICON_SIZE_GRID * ICON_SCALE_MAX) as u32; + let thumbnail = + image.thumbnail(thumbnail_size, thumbnail_size); ItemThumbnail::Rgba(thumbnail.to_rgba8()) } Err(err) => {