From bba0ec5682e5c7205dc4c813ce23eb98f6df7da3 Mon Sep 17 00:00:00 2001 From: electria Date: Fri, 3 Jul 2026 15:07:31 -0700 Subject: [PATCH 1/4] refactor: remove unused imports --- src/main.rs | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/main.rs b/src/main.rs index 53e7ac9..e7bbd11 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,19 +1,11 @@ -use std::{ - env, - ffi::OsStr, - fs, - io::{Read, Write}, - path::Path, -}; +use std::{env, ffi::OsStr, fs, io::Write, path::Path}; use iced::{ Alignment, Color, Element, Length, Renderer, Subscription, Task, Theme, color, event, keyboard::{self, Key, key}, theme, widget, window, }; -use image::{ - DynamicImage, EncodableLayout, ImageDecoder, ImageReader, RgbImage, RgbaImage, imageops, -}; +use image::{DynamicImage, EncodableLayout, ImageDecoder, ImageReader, RgbaImage, imageops}; use jpegxl_rs::image::ToDynamic; use rfd::FileDialog; From d91a894b6c08a7ecd8fbfe474d7ff3ed0f7e22ad Mon Sep 17 00:00:00 2001 From: electria Date: Fri, 3 Jul 2026 15:51:55 -0700 Subject: [PATCH 2/4] refactor: fix clippy lints --- src/main.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index e7bbd11..b14d7a2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -146,7 +146,7 @@ impl State { } _ => { - let reader = match ImageReader::open(&path) { + let reader = match ImageReader::open(path) { Ok(r) => r, Err(e) => { return Some(format!( @@ -266,7 +266,7 @@ impl State { widget::image::allocate(widget::image::Handle::from_rgba( image.width(), image.height(), - unsafe { std::mem::transmute::<_, &'static [u8]>(image.as_bytes()) }, + unsafe { std::mem::transmute::<&[u8], &'static [u8]>(image.as_bytes()) }, )) .map(Message::ImageDisplayReady) } From 32f5503ffc5fea7d0ed6b46252efba57a99a76b0 Mon Sep 17 00:00:00 2001 From: electria Date: Sat, 4 Jul 2026 11:04:10 -0700 Subject: [PATCH 3/4] fix: typos in error message --- src/main.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index b14d7a2..bb9af3b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -141,7 +141,9 @@ impl State { path.display() )); } - Err(e) => return Some(format!("faled to decode '{}' {e}", path.display())), + Err(e) => { + return Some(format!("failed to decode jxl '{}': {e}", path.display())); + } } } From ccc2efc21a8c18e567097b41ea628c695aa06ff1 Mon Sep 17 00:00:00 2001 From: electria Date: Sat, 4 Jul 2026 11:16:38 -0700 Subject: [PATCH 4/4] feat: display other image missing errors --- src/main.rs | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/main.rs b/src/main.rs index bb9af3b..d31b558 100644 --- a/src/main.rs +++ b/src/main.rs @@ -81,20 +81,24 @@ impl State { } Key::Character("r") => { - let Some(image) = self.image.as_ref() else { - eprintln!("no image to rotate"); - return Task::none(); + match self.image.as_ref() { + None => self.error = Some("no image to rotate".into()), + Some(image) => { + self.error = None; + self.image = Some(imageops::rotate90(image)); + return self.allocate_image(); + } }; - self.image = Some(imageops::rotate90(image)); - return self.allocate_image(); } Key::Character("i") => { - let Some(image) = self.image.as_mut() else { - eprintln!("no image to invert"); - return Task::none(); + match self.image.as_mut() { + None => self.error = Some("no image to invert".into()), + Some(image) => { + self.error = None; + imageops::invert(image); + return self.allocate_image(); + } }; - imageops::invert(image); - return self.allocate_image(); } Key::Character("s") => {