diff --git a/crates/musicus/src/import/source_selector.rs b/crates/musicus/src/import/source_selector.rs index 7f87d29..7045fa2 100644 --- a/crates/musicus/src/import/source_selector.rs +++ b/crates/musicus/src/import/source_selector.rs @@ -56,6 +56,8 @@ impl Screen<(), ()> for SourceSelector { (&gettext("Select"), gtk::ResponseType::Accept), ]); + dialog.set_modal(true); + dialog.connect_response(clone!(@weak this => move |dialog, response| { this.stack.set_visible_child_name("loading"); dialog.hide(); diff --git a/crates/musicus/src/preferences/mod.rs b/crates/musicus/src/preferences/mod.rs index 81972db..530b24d 100644 --- a/crates/musicus/src/preferences/mod.rs +++ b/crates/musicus/src/preferences/mod.rs @@ -60,6 +60,8 @@ impl Preferences { (&gettext("Select"), gtk::ResponseType::Accept), ]); + dialog.set_modal(true); + dialog.connect_response(clone!(@strong this => move |dialog, response| { if let gtk::ResponseType::Accept = response { if let Some(file) = dialog.get_file() { diff --git a/crates/musicus/src/screens/welcome.rs b/crates/musicus/src/screens/welcome.rs index 55e7f23..926bd7a 100644 --- a/crates/musicus/src/screens/welcome.rs +++ b/crates/musicus/src/screens/welcome.rs @@ -56,6 +56,8 @@ impl Screen<(), ()> for WelcomeScreen { (&gettext("Select"), gtk::ResponseType::Accept), ]); + dialog.set_modal(true); + dialog.connect_response(clone!(@weak this => move |dialog, response| { if let gtk::ResponseType::Accept = response { if let Some(file) = dialog.get_file() {