diff options
| author | pml68 <contact@pml68.dev> | 2025-07-10 02:50:21 +0200 |
|---|---|---|
| committer | pml68 <contact@pml68.dev> | 2025-07-10 02:51:02 +0200 |
| commit | 55f4a4db74209ddfb6a67b3ed431b360807e039e (patch) | |
| tree | abb2a3ac459776f5a9ef790f7b11c99c1c07c775 /src/main.rs | |
| parent | chore: switch to `[patch.crates-io]` according to `iced_dialog` changes (diff) | |
| download | iced-builder-55f4a4db74209ddfb6a67b3ed431b360807e039e.tar.gz | |
feat: make close-only dialogs closable via `Esc` or clicking the backdrop
Diffstat (limited to '')
| -rw-r--r-- | src/main.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs index 389c827..4df5922 100644 --- a/src/main.rs +++ b/src/main.rs @@ -427,6 +427,12 @@ impl IcedBuilder { Message::CloseApp => { return window::get_latest().and_then(window::close); } + Message::EscapePressed + if self.dialog.action() == dialog::Action::Close => + { + self.dialog.close(); + } + Message::EscapePressed => {} Message::WindowEvent(window::Event::CloseRequested) => { if self.is_dirty { self.dialog = Dialog::unsaved_changes( @@ -458,6 +464,10 @@ impl IcedBuilder { keyboard::Key::Character("n") => Some(Message::NewFile), _ => None, } + } else if key.as_ref() + == keyboard::Key::Named(keyboard::key::Named::Escape) + { + Some(Message::EscapePressed) } else { None } |
