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) => {