diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 0222012c9a..637cc11710 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -892,6 +892,7 @@ private: void step_down_through_tabs (); void escape (); + void close_current_dialog (); void pre_release_dialog (); }; diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc index c50beef9cd..a0960ded5f 100644 --- a/gtk2_ardour/ardour_ui_ed.cc +++ b/gtk2_ardour/ardour_ui_ed.cc @@ -114,6 +114,12 @@ ARDOUR_UI::escape () Escape (); /* EMIT SIGNAL */ } +void +ARDOUR_UI::close_current_dialog () +{ + Keyboard::close_current_dialog (); +} + void ARDOUR_UI::install_actions () { @@ -122,6 +128,11 @@ ARDOUR_UI::install_actions () Glib::RefPtr act; global_actions.register_action (main_actions, X_("Escape"), _("Escape"), sigc::mem_fun (*this, &ARDOUR_UI::escape)); + /* This is hard-wired into the Keyboard code as "Primary-w". Maybe it + doesn't need to be. This action makes it possible to do this from a + control surface. + */ + global_actions.register_action (main_actions, X_("close-current-dialog"), _("Close Current Dialog"), sigc::mem_fun (*this, &ARDOUR_UI::close_current_dialog)); /* menus + submenus that need action items */