diff --git a/crates/rnote-ui/src/dialogs/import.rs b/crates/rnote-ui/src/dialogs/import.rs index 366a290fa0..f97381b1dd 100644 --- a/crates/rnote-ui/src/dialogs/import.rs +++ b/crates/rnote-ui/src/dialogs/import.rs @@ -7,8 +7,8 @@ use adw::prelude::*; use futures::StreamExt; use gettextrs::gettext; use gtk4::{ - Builder, Button, CallbackAction, FileDialog, FileFilter, Label, Shortcut, ShortcutController, - ShortcutTrigger, ToggleButton, gio, glib, glib::clone, graphene, gsk, + Builder, Button, FileDialog, FileFilter, Label, ToggleButton, gio, glib, glib::clone, graphene, + gsk, }; use num_traits::ToPrimitive; use rnote_engine::engine::import::{PdfImportPageSpacing, PdfImportPagesType}; @@ -475,23 +475,14 @@ pub(crate) async fn dialog_import_pdf_w_prefs( })); })); - // Overwrite builtin close shortcut - let controller = ShortcutController::new(); - controller.add_shortcut(Shortcut::new( - Some(ShortcutTrigger::parse_string("Escape").unwrap()), - Some(CallbackAction::new(clone!( - #[weak] - import_pdf_button_cancel, - #[upgrade_or] - glib::Propagation::Stop, - move |_, _| { - import_pdf_button_cancel.emit_clicked(); - - glib::Propagation::Stop - } - ))), + // Send a cancel response when the dialog is closed + dialog.connect_closed(clone!( + #[weak] + import_pdf_button_cancel, + move |_| { + import_pdf_button_cancel.emit_clicked(); + } )); - dialog.add_controller(controller); // Present than wait for a response from the dialog dialog.present(appwindow.root().as_ref()); @@ -581,23 +572,14 @@ pub(crate) async fn dialog_import_xopp_w_prefs( })); })); - // Overwrite builtin close shortcut - let controller = ShortcutController::new(); - controller.add_shortcut(Shortcut::new( - Some(ShortcutTrigger::parse_string("Escape").unwrap()), - Some(CallbackAction::new(clone!( - #[weak] - import_xopp_button_cancel, - #[upgrade_or] - glib::Propagation::Stop, - move |_, _| { - import_xopp_button_cancel.emit_clicked(); - - glib::Propagation::Stop - } - ))), + // Send a cancel response when the dialog is closed + dialog.connect_closed(clone!( + #[weak] + import_xopp_button_cancel, + move |_| { + import_xopp_button_cancel.emit_clicked(); + } )); - dialog.add_controller(controller); // Present than wait for a response from the dialog dialog.present(appwindow.root().as_ref());