diff options
Diffstat (limited to 'gtk2_ardour/session_dialog.cc')
-rw-r--r-- | gtk2_ardour/session_dialog.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gtk2_ardour/session_dialog.cc b/gtk2_ardour/session_dialog.cc index 225b02df84..6cb28f99b0 100644 --- a/gtk2_ardour/session_dialog.cc +++ b/gtk2_ardour/session_dialog.cc @@ -41,6 +41,7 @@ #include "pbd/openuri.h" #include "gtkmm2ext/utils.h" +#include "gtkmm2ext/keyboard.h" #include "ardour/audioengine.h" #include "ardour/filesystem_paths.h" @@ -87,6 +88,7 @@ SessionDialog::SessionDialog (bool require_new, const std::string& session_name, open_button = add_button (Stock::OPEN, RESPONSE_ACCEPT); back_button->signal_button_press_event().connect (sigc::mem_fun (*this, &SessionDialog::back_button_pressed), false); + open_button->signal_button_press_event().connect (sigc::mem_fun (*this, &SessionDialog::open_button_pressed), false); open_button->set_sensitive (false); back_button->set_sensitive (false); @@ -478,6 +480,16 @@ SessionDialog::back_button_pressed (GdkEventButton*) return true; } +bool +SessionDialog::open_button_pressed (GdkEventButton* ev) +{ + if (Gtkmm2ext::Keyboard::modifier_state_equals (ev->state, Gtkmm2ext::Keyboard::PrimaryModifier)) { + _disable_plugins.set_active(); + } + response (RESPONSE_ACCEPT); + return true; +} + void SessionDialog::populate_session_templates () { |