add a signal to Gtkmm2ext::Keyboard to allow (possible) handling of close-current...
authorPaul Davis <paul@linuxaudiosystems.com>
Wed, 6 Nov 2019 23:25:30 +0000 (16:25 -0700)
committerPaul Davis <paul@linuxaudiosystems.com>
Wed, 6 Nov 2019 23:25:30 +0000 (16:25 -0700)
libs/gtkmm2ext/gtkmm2ext/keyboard.h
libs/gtkmm2ext/keyboard.cc

index 21d6bd2ef8c6b98d8734c861fa129d2adcdbe2bd..89679b2c6fc70188e741b5cc44cf2e9ebab3f124 100644 (file)
@@ -188,6 +188,7 @@ class LIBGTKMM2EXT_API Keyboard : public sigc::trackable, PBD::Stateful
 
        sigc::signal0<void> ZoomVerticalModifierReleased;
        static sigc::signal0<void> RelevantModifierKeysChanged;
+       static sigc::signal1<void,Gtk::Window*> HideMightMeanQuit;
 
   protected:
        static Keyboard* _the_keyboard;
index 1b51b6630a8438db0dcb55ad7af4ec7f2e6b49ad..cb395f62ef7421c761c72acd570bd7d66670f772 100644 (file)
@@ -132,6 +132,7 @@ Gtk::Window* Keyboard::pre_dialog_active_window = 0;
 /* set this to initially contain the modifiers we care about, then track changes in ::set_edit_modifier() etc. */
 GdkModifierType Keyboard::RelevantModifierKeyMask;
 sigc::signal0<void> Keyboard::RelevantModifierKeysChanged;
+sigc::signal1<void,Gtk::Window*> Keyboard::HideMightMeanQuit;
 
 void
 Keyboard::magic_widget_grab_focus ()
@@ -342,6 +343,9 @@ void
 Keyboard::close_current_dialog ()
 {
        if (current_window) {
+
+               HideMightMeanQuit (current_window); /* EMIT SIGNAL */
+
                current_window->hide ();
                current_window = 0;