if user uses Ctrl/Cmd-w to close a dialog during startup, treat that as a request to exit

This commit is contained in:
Paul Davis 2019-11-06 16:32:46 -07:00
parent 6f4e838a58
commit d7b6d6e2c4
2 changed files with 15 additions and 0 deletions

View File

@ -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 ()
@ -104,6 +107,16 @@ StartupFSM::~StartupFSM ()
delete new_user_dialog;
}
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 ()
{

View File

@ -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__ */