diff --git a/src/main.rs b/src/main.rs index 271fcb5..d63e16c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -88,12 +88,10 @@ impl State { .as_ref() .map(|error| widget::text(error).style(widget::text::danger)); - let info = self.infobar_shown.then_some(()).and_then(|()| { - self.info.as_ref().map(|info| { - widget::container(widget::text(info)) - .align_x(Alignment::End) - .width(Length::Fill) - }) + let info = (self.infobar_shown && self.info.is_some()).then(|| { + widget::container(widget::text(self.title())) + .align_x(Alignment::End) + .width(Length::Fill) }); widget::column![main, widget::row![error, info]] @@ -114,6 +112,7 @@ impl State { } Message::SavePathPicked(result) => { self.error = result + .map_err(Cow::from) .and_then(|path| { self.image.as_ref().map_or_else( || Err("no image to save".into()), @@ -168,7 +167,7 @@ impl State { Message::Yank => { if let Some(image) = self.image.as_ref() { - return clipboard::write(utils::clipboard_image_from_rgbaimage(image)) + return clipboard::write(utils::clipboard_image_from_rgbaimage(&image)) .map(Message::ImageYanked); } else { self.error = Some("no image to yank".into()); @@ -183,7 +182,7 @@ impl State { self.error = result.as_ref().err().map(|e| format!("{e:?}").into()); if let Ok(image) = result { - self.info = Some(format!("{}x{}", image.size.width, image.size.height)); + self.info = Some(format!("{}x{}", image.size.width, image.size.height,)); if (image.size.width, image.size.height) < (100, 100) { self.image_filter = widget::image::FilterMethod::Nearest; } @@ -221,7 +220,7 @@ impl State { image.width(), image.height(), )); - if image.dimensions() < (192, 192) { + if image.dimensions() < (100, 100) { self.image_filter = widget::image::FilterMethod::Nearest; } self.image = Some(image); @@ -273,8 +272,8 @@ impl State { Key::Character("s") => Some(Message::Save), Key::Character("q") => Some(Message::Quit), - Key::Character("y" | "c") => Some(Message::Yank), - Key::Character("p" | "v") => Some(Message::Put), + Key::Character("y") | Key::Character("c") => Some(Message::Yank), + Key::Character("p") | Key::Character("v") => Some(Message::Put), _ => None, }