Load thumbnails with maximum grid icon size, fixes #78

This commit is contained in:
Jeremy Soller 2024-03-20 10:06:21 -06:00
parent 94dd1b04d5
commit 3ab5597fc3
No known key found for this signature in database
GPG key ID: D02FD439211AF56F
2 changed files with 9 additions and 6 deletions

View file

@ -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 {

View file

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