Hold ctrl + click "open" session -> safe mode
authorRobin Gareus <robin@gareus.org>
Thu, 6 Oct 2016 15:42:46 +0000 (17:42 +0200)
committerRobin Gareus <robin@gareus.org>
Thu, 6 Oct 2016 15:42:46 +0000 (17:42 +0200)
This allows to hide the "Safe Mode" checkbox.

gtk2_ardour/session_dialog.cc
gtk2_ardour/session_dialog.h

index 225b02df84ba3d42eab0748bacff1f232778db26..6cb28f99b04e51d612a89a6a582715b887763723 100644 (file)
@@ -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 ()
 {
index 9143007f8fc68d9b41e352bdb7005a5e53a7ab81..98bdd6b7885ef6d09ebee3e55e46be6f6c66fca7 100644 (file)
@@ -94,6 +94,7 @@ class SessionDialog : public ArdourDialog {
         Gtk::Button* quit_button;
 
         bool back_button_pressed (GdkEventButton*);
+        bool open_button_pressed (GdkEventButton*);
 
         Gtk::Frame info_frame;