Introduce on_press_maybe helper for Button

This commit is contained in:
Héctor Ramón Jiménez 2023-06-06 16:18:20 +02:00
parent 5324928044
commit 5b5000e3ae
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
2 changed files with 14 additions and 4 deletions

View file

@ -79,12 +79,13 @@ impl Application for Example {
}
Message::Png => {
if let Some(screenshot) = &self.screenshot {
self.png_saving = true;
return Command::perform(
save_to_png(screenshot.clone()),
Message::PngSaved,
);
}
self.png_saving = true;
}
Message::PngSaved(res) => {
self.png_saving = false;
@ -185,7 +186,7 @@ impl Application for Example {
button("Save to png")
.style(Button::Secondary)
.padding([10, 20, 10, 20])
.on_press(Message::Png)
.on_press_maybe(self.screenshot.is_some().then(|| Message::Png))
} else {
button("Saving...")
.style(Button::Secondary)