Disable some actions that are not allowed while under nsm
authorRoy Vegard Ovesen <roy.vegard.ovesen@gmail.com>
Sun, 31 Mar 2013 13:28:29 +0000 (15:28 +0200)
committerRoy Vegard Ovesen <roy.vegard.ovesen@gmail.com>
Sun, 31 Mar 2013 13:28:29 +0000 (15:28 +0200)
gtk2_ardour/ardour_ui.cc

index d42bdcdd4fdc1173864b5bb1ed7b0844bc3d3b46..12d73b9f51cdc8fe741829a33d4806e9bdb28662 100644 (file)
@@ -681,6 +681,23 @@ ARDOUR_UI::startup ()
                                _session->set_nsm_state( nsm->is_active() );
                        }
 
+                       // nsm requires these actions disabled
+                       vector<string> action_names;
+                       action_names.push_back("Snapshot");
+                       action_names.push_back("SaveAs");
+                       action_names.push_back("Rename");
+                       action_names.push_back("New");
+                       action_names.push_back("Open");
+                       action_names.push_back("Recent");
+                       action_names.push_back("Close");
+
+                       for (vector<string>::const_iterator n = action_names.begin(); n != action_names.end(); ++n) {
+                               Glib::RefPtr<Action> act = ActionManager::get_action (X_("Main"), X_(n.base()->c_str()));
+                               if (act) {
+                                       act->set_sensitive (false);
+                               }
+                       }
+
                        // wait for session is loaded reply from nsm server
                        do {
                                nsm->check ();