make click on empty canvas area clear selection; change zoom-ot-region to be a toggle...
[ardour.git] / gtk2_ardour / editor_actions.cc
index 2d2e91600c73928f884764106647cb058f31ac51..35ea88a20f9c2e2a65d034c21b63359b3f0dd617 100644 (file)
@@ -66,6 +66,7 @@ Editor::register_actions ()
 
        /* add named actions for the editor */
 
+       ActionManager::register_toggle_action (editor_actions, "link-region-and-track-selection", _("Link Region/Track Selection"), mem_fun (*this, &Editor::toggle_link_region_and_track_selection));
 
        act = ActionManager::register_toggle_action (editor_actions, "show-editor-mixer", _("Show Editor Mixer"), mem_fun (*this, &Editor::editor_mixer_button_toggled));
        ActionManager::session_sensitive_actions.push_back (act);
@@ -208,7 +209,7 @@ Editor::register_actions ()
        ActionManager::session_sensitive_actions.push_back (act);
        act = ActionManager::register_action (editor_actions, "zoom-to-session", _("Zoom to Session"), mem_fun(*this, &Editor::temporal_zoom_session));
        ActionManager::session_sensitive_actions.push_back (act);
-       act = ActionManager::register_action (editor_actions, "zoom-to-region", _("Zoom to Region"), mem_fun(*this, &Editor::temporal_zoom_region));
+       act = ActionManager::register_action (editor_actions, "zoom-to-region", _("Zoom to Region"), mem_fun(*this, &Editor::toggle_zoom_region));
        ActionManager::session_sensitive_actions.push_back (act);
        act = ActionManager::register_action (editor_actions, "toggle-zoom", _("Toggle Zoom State"), mem_fun(*this, &Editor::swap_visual_state));
        ActionManager::session_sensitive_actions.push_back (act);
@@ -293,7 +294,7 @@ Editor::register_actions ()
        act = ActionManager::register_action (editor_actions, "align-regions-sync-relative", _("Align Regions Sync Relative"), bind (mem_fun(*this, &Editor::align_relative), ARDOUR::SyncPoint));
        ActionManager::session_sensitive_actions.push_back (act);
        
-        act = ActionManager::register_action (editor_actions, "audition-region", _("Audition Region"), mem_fun(*this, &Editor::audition_selected_region));
+        act = ActionManager::register_action (editor_actions, "play-selected-regions", _("Play Selected Region(s)"), mem_fun(*this, &Editor::play_selected_region));
         ActionManager::session_sensitive_actions.push_back (act);
         act = ActionManager::register_action (editor_actions, "brush-at-mouse", _("Brush at Mouse"), mem_fun(*this, &Editor::kbd_brush));
         ActionManager::session_sensitive_actions.push_back (act);
@@ -642,6 +643,7 @@ Editor::update_crossfade_model ()
        }
 }
 
+
 void
 Editor::update_smpte_mode ()
 {
@@ -1320,6 +1322,12 @@ Editor::toggle_xfade_visibility ()
        ActionManager::toggle_config_state ("Editor", "toggle-xfades-visible", &Configuration::set_xfades_visible, &Configuration::get_xfades_visible);
 }
 
+void
+Editor::toggle_link_region_and_track_selection ()
+{
+       ActionManager::toggle_config_state ("Editor", "link-region-and-track-selection", &Configuration::set_link_region_and_track_selection, &Configuration::get_link_region_and_track_selection);
+}
+
 /** A Configuration parameter has changed.
  * @param parameter_name Name of the changed parameter.
  */
@@ -1359,6 +1367,8 @@ Editor::parameter_changed (const char* parameter_name)
                update_just_smpte ();
        } else if (PARAM_IS ("show-track-meters")) {
                toggle_meter_updating();
+       } else if (PARAM_IS ("link-region-and-track-selection")) {
+               ActionManager::map_some_state ("Editor", "link-region-and-track-selection", &Configuration::get_link_region_and_track_selection);
        }
 
 #undef PARAM_IS