unify BarController with Slider/Pixfader.
[ardour.git] / gtk2_ardour / editor_actions.cc
index ea82bc6051543b2fc86740d98f2b9764f64c38c4..01777f46a62d979e3ab495ac7567c8f0d7751605 100644 (file)
@@ -263,6 +263,8 @@ Editor::register_actions ()
        reg_sens (editor_actions, "zoom-to-session", _("Zoom to Session"), sigc::mem_fun(*this, &Editor::temporal_zoom_session));
        reg_sens (editor_actions, "zoom-to-region", _("Zoom to Region"), sigc::bind (sigc::mem_fun(*this, &Editor::zoom_to_region), false));
        reg_sens (editor_actions, "zoom-to-region-both-axes", _("Zoom to Region (Width and Height)"), sigc::bind (sigc::mem_fun(*this, &Editor::zoom_to_region), true));
+       reg_sens (editor_actions, "zoom-to-range", _("Zoom to Range"), sigc::bind (sigc::mem_fun(*this, &Editor::temporal_zoom_selection), false));
+       reg_sens (editor_actions, "zoom-to-range-both-axes", _("Zoom to Range (Width and Height)"), sigc::bind (sigc::mem_fun(*this, &Editor::temporal_zoom_selection), true));
        reg_sens (editor_actions, "toggle-zoom", _("Toggle Zoom State"), sigc::mem_fun(*this, &Editor::swap_visual_state));
 
        reg_sens (editor_actions, "expand-tracks", _("Expand Track Height"), sigc::bind (sigc::mem_fun (*this, &Editor::tav_zoom_step), false));
@@ -403,7 +405,8 @@ Editor::register_actions ()
        }
        ActionManager::track_selection_sensitive_actions.push_back (act);
 
-       reg_sens (editor_actions, "fit-tracks", _("Fit Selected Tracks"), sigc::mem_fun(*this, &Editor::fit_selected_tracks));
+       act = reg_sens (editor_actions, "fit-tracks", _("Fit Selected Tracks"), sigc::mem_fun(*this, &Editor::fit_selected_tracks));
+       ActionManager::track_selection_sensitive_actions.push_back (act);
 
        act = reg_sens (editor_actions, "track-height-largest", _("Largest"), sigc::bind (
                                sigc::mem_fun(*this, &Editor::set_track_height), HeightLargest));
@@ -443,63 +446,57 @@ Editor::register_actions ()
        smart_mode_action = Glib::RefPtr<ToggleAction>::cast_static (act);
        smart_mode_button.set_related_action (smart_mode_action);
        smart_mode_button.set_text (_("Smart"));
-       smart_mode_button.add_elements ( ArdourButton::Inset );
        smart_mode_button.set_name ("mouse mode button");
 
        act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-object", _("Object Tool"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseObject));
        mouse_move_button.set_related_action (act);
        mouse_move_button.set_image (::get_icon("tool_object"));
-       mouse_move_button.add_elements ( ArdourButton::Inset );
        mouse_move_button.set_name ("mouse mode button");
 
        act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-range", _("Range Tool"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseRange));        
        mouse_select_button.set_related_action (act);
        mouse_select_button.set_image (::get_icon("tool_range"));
-       mouse_select_button.add_elements (ArdourButton::Inset );
        mouse_select_button.set_name ("mouse mode button");
 
        act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-draw", _("Note Drawing Tool"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseDraw));   
        mouse_draw_button.set_related_action (act);
        mouse_draw_button.set_image (::get_icon("midi_tool_pencil"));
-       mouse_draw_button.add_elements (ArdourButton::Inset );
        mouse_draw_button.set_name ("mouse mode button");
 
        act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-gain", _("Gain Tool"), sigc::bind (mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseGain)); 
        mouse_gain_button.set_related_action (act);
        mouse_gain_button.set_image (::get_icon("tool_gain"));
-       mouse_gain_button.add_elements (ArdourButton::Inset );
        mouse_gain_button.set_name ("mouse mode button");
 
-       act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-zoom", _("Zoom Tool"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseZoom));   
-       mouse_zoom_button.set_related_action (act);
-       mouse_zoom_button.set_image (::get_icon("tool_zoom"));
-       mouse_zoom_button.add_elements (ArdourButton::Inset );
-       mouse_zoom_button.set_name ("mouse mode button");
-
+       if(!Profile->get_mixbus()) {
+               act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-zoom", _("Zoom Tool"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseZoom));   
+               mouse_zoom_button.set_related_action (act);
+               mouse_zoom_button.set_image (::get_icon("tool_zoom"));
+               mouse_zoom_button.set_name ("mouse mode button");
+       }
+       
        act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-audition", _("Audition Tool"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseAudition));       
        mouse_audition_button.set_related_action (act);
        mouse_audition_button.set_image (::get_icon("tool_audition"));
-       mouse_audition_button.add_elements (ArdourButton::Inset );
        mouse_audition_button.set_name ("mouse mode button");
 
        act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-timefx", _("Time FX Tool"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseTimeFX));    
        mouse_timefx_button.set_related_action (act);
        mouse_timefx_button.set_image (::get_icon("tool_stretch"));
-       mouse_timefx_button.add_elements (ArdourButton::Inset );
        mouse_timefx_button.set_name ("mouse mode button");
 
-       act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-cut", _("Cut Tool"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseCut));
-       mouse_cut_button.set_related_action (act);
-       mouse_cut_button.set_image (::get_icon("tool_cut"));
-       mouse_cut_button.add_elements (ArdourButton::Inset );
-       mouse_cut_button.set_name ("mouse mode button");
-
+       if(!Profile->get_mixbus()) {
+               act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-cut", _("Cut Tool"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseCut));
+               mouse_cut_button.set_related_action (act);
+               mouse_cut_button.set_image (::get_icon("tool_cut"));
+               mouse_cut_button.set_name ("mouse mode button");
+       }
+       
        ActionManager::register_action (editor_actions, "step-mouse-mode", _("Step Mouse Mode"), sigc::bind (sigc::mem_fun(*this, &Editor::step_mouse_mode), true));
 
        act = ActionManager::register_toggle_action (mouse_mode_actions, "toggle-internal-edit", _("Edit MIDI"), sigc::mem_fun(*this, &Editor::toggle_internal_editing));
        internal_edit_button.set_related_action (act);
        internal_edit_button.set_image (::get_icon("tool_note"));
-       internal_edit_button.add_elements ( ArdourButton::Inset );
        internal_edit_button.set_name ("mouse mode button");
 
        RadioAction::Group edit_point_group;