Compare commits

...

View file

@ -88,10 +88,12 @@ impl State {
.as_ref()
.map(|error| widget::text(error).style(widget::text::danger));
let info = (self.infobar_shown && self.info.is_some()).then(|| {
widget::container(widget::text(self.title()))
.align_x(Alignment::End)
.width(Length::Fill)
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)
})
});
widget::column![main, widget::row![error, info]]
@ -112,7 +114,6 @@ 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()),
@ -167,7 +168,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());
@ -182,7 +183,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;
}
@ -220,7 +221,7 @@ impl State {
image.width(),
image.height(),
));
if image.dimensions() < (100, 100) {
if image.dimensions() < (192, 192) {
self.image_filter = widget::image::FilterMethod::Nearest;
}
self.image = Some(image);
@ -272,8 +273,8 @@ impl State {
Key::Character("s") => Some(Message::Save),
Key::Character("q") => Some(Message::Quit),
Key::Character("y") | Key::Character("c") => Some(Message::Yank),
Key::Character("p") | Key::Character("v") => Some(Message::Put),
Key::Character("y" | "c") => Some(Message::Yank),
Key::Character("p" | "v") => Some(Message::Put),
_ => None,
}