summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorPolesznyák Márk <contact@pml68.dev>2025-12-12 11:25:55 +0100
committerPolesznyák Márk <contact@pml68.dev>2025-12-12 11:25:55 +0100
commit9e66d112564630e5c8e1cc8ab77c80f3bcd70922 (patch)
tree6a454541737edf703907e89dd8c7167aa7fab546 /src/main.rs
parentfeat: make it impossible (tm) to open multiple dialogs at once (diff)
downloadiced-builder-9e66d112564630e5c8e1cc8ab77c80f3bcd70922.tar.gz
chore: update deps
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs12
1 files changed, 8 insertions, 4 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);