diff options
| author | Polesznyák Márk <contact@pml68.dev> | 2025-12-12 11:25:55 +0100 |
|---|---|---|
| committer | Polesznyák Márk <contact@pml68.dev> | 2025-12-12 11:25:55 +0100 |
| commit | 9e66d112564630e5c8e1cc8ab77c80f3bcd70922 (patch) | |
| tree | 6a454541737edf703907e89dd8c7167aa7fab546 /src | |
| parent | feat: make it impossible (tm) to open multiple dialogs at once (diff) | |
| download | iced-builder-9e66d112564630e5c8e1cc8ab77c80f3bcd70922.tar.gz | |
chore: update deps
Diffstat (limited to '')
| -rw-r--r-- | src/main.rs | 12 | ||||
| -rw-r--r-- | src/types.rs | 3 |
2 files changed, 9 insertions, 6 deletions
diff --git a/src/main.rs b/src/main.rs index 695d742..107dd3f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -499,7 +499,7 @@ impl IcedBuilder { self.dialog.close(); } } - Message::WindowEvent(window::Event::CloseRequested) => { + Message::CloseRequest => { if self.is_dirty { self.is_dialog_open = true; self.dialog = Dialog::unsaved_changes( @@ -510,14 +510,18 @@ impl IcedBuilder { return self.update(Message::CloseApp); } } - Message::WindowEvent(_) => {} } Task::none() } fn subscription(&self) -> iced::Subscription<Message> { - let keyboard = keyboard::on_key_press(|key, modifiers| { + let keyboard = keyboard::listen().filter_map(|event| { + let keyboard::Event::KeyPressed { key, modifiers, .. } = event + else { + return None; + }; + if modifiers.command() { match key.as_ref() { keyboard::Key::Character("o") => Some(Message::OpenFile), @@ -541,7 +545,7 @@ impl IcedBuilder { }); let window_events = - window::events().map(|(_id, event)| Message::WindowEvent(event)); + window::close_requests().map(|_id| Message::CloseRequest); let system_theme = theme_changes().map(Message::SystemThemeChanged); diff --git a/src/types.rs b/src/types.rs index 0014090..e3f0a54 100644 --- a/src/types.rs +++ b/src/types.rs @@ -8,7 +8,6 @@ pub use element_name::ElementName; use iced::advanced::widget::Id; use iced::theme::Mode; use iced::widget::{pane_grid, text_editor}; -use iced::window; use iced_anim::Event; use iced_material::Theme; pub use project::Project; @@ -51,7 +50,7 @@ pub enum Message { FileSaved(Result<PathBuf, Error>), CloseApp, EscapePressed, - WindowEvent(window::Event), + CloseRequest, } #[derive(Debug, Clone, Copy)] |
