diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2019-11-06 16:32:46 -0700 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2019-11-06 16:32:46 -0700 |
commit | d7b6d6e2c4cf5e3fe67120d8d754ded80a0191b1 (patch) | |
tree | b5305ef45be11a937994d8a0c7a550edb1383817 | |
parent | 6f4e838a58f2dc501eb506effdf9ea4d1203f46d (diff) |
if user uses Ctrl/Cmd-w to close a dialog during startup, treat that as a request to exit
-rw-r--r-- | gtk2_ardour/startup_fsm.cc | 13 | ||||
-rw-r--r-- | gtk2_ardour/startup_fsm.h | 2 |
2 files changed, 15 insertions, 0 deletions
diff --git a/gtk2_ardour/startup_fsm.cc b/gtk2_ardour/startup_fsm.cc index 0a0dee3f37..5cf2c69ea8 100644 --- a/gtk2_ardour/startup_fsm.cc +++ b/gtk2_ardour/startup_fsm.cc @@ -41,6 +41,7 @@ #include "gtkmm2ext/application.h" #include <gtkmm2ext/doi.h> +#include <gtkmm2ext/keyboard.h> #include "ardour_ui.h" #include "debug.h" @@ -94,6 +95,8 @@ StartupFSM::StartupFSM (EngineControl& amd) app->ShouldQuit.connect (sigc::mem_fun (*this, &StartupFSM::queue_finish)); app->ShouldLoad.connect (sigc::mem_fun (*this, &StartupFSM::load_from_application_api)); + + Gtkmm2ext::Keyboard::HideMightMeanQuit.connect (sigc::mem_fun (*this, &StartupFSM::dialog_hidden)); } StartupFSM::~StartupFSM () @@ -105,6 +108,16 @@ StartupFSM::~StartupFSM () } void +StartupFSM::dialog_hidden (Gtk::Window* /* ignored */) +{ + /* since this object only exists during startup, any attempt to close + * any dialog that we manage with Ctrl/Cmd-w is assumed to indicate a + * desire to quit on the part of the user. + */ + queue_finish (); +} + +void StartupFSM::queue_finish () { _signal_response (ExitProgram); diff --git a/gtk2_ardour/startup_fsm.h b/gtk2_ardour/startup_fsm.h index 54576ea2e8..ebdd7cba07 100644 --- a/gtk2_ardour/startup_fsm.h +++ b/gtk2_ardour/startup_fsm.h @@ -117,6 +117,8 @@ class StartupFSM : public sigc::trackable sigc::connection current_dialog_connection; sigc::signal1<void,Result> _signal_response; + + void dialog_hidden (Gtk::Window*); }; #endif /* __gtk2_ardour_startup_fsm_h__ */ |