diff --git a/gtk2_ardour/cue_editor.cc b/gtk2_ardour/cue_editor.cc index 42021d9d0d..3322067343 100644 --- a/gtk2_ardour/cue_editor.cc +++ b/gtk2_ardour/cue_editor.cc @@ -144,6 +144,8 @@ CueEditor::set_zoom_focus (Editing::ZoomFocus zf) { using namespace Editing; + /* We don't allow playhead for zoom focus here */ + if (zf == ZoomFocusPlayhead) { return; } diff --git a/gtk2_ardour/editing_context.cc b/gtk2_ardour/editing_context.cc index 71fa538cd3..e8fbfcbcc0 100644 --- a/gtk2_ardour/editing_context.cc +++ b/gtk2_ardour/editing_context.cc @@ -188,6 +188,8 @@ EditingContext::EditingContext (std::string const & name) zoom_focus_strings = I18N (_zoom_focus_strings); } + zoom_focus_selector.set_name ("zoom button"); + snap_mode_button.set_text (_("Snap")); snap_mode_button.set_name ("mouse mode button"); snap_mode_button.signal_button_press_event().connect (sigc::mem_fun (*this, &EditingContext::snap_mode_button_clicked), false); @@ -323,6 +325,18 @@ EditingContext::register_common_actions (Bindings* common_bindings) ActionManager::register_radio_action (_common_actions, mouse_mode_group, "set-mouse-mode-grid", _("Grid Tool"), []() { current_editing_context()->mouse_mode_toggled (Editing::MouseGrid); }); ActionManager::register_radio_action (_common_actions, mouse_mode_group, "set-mouse-mode-content", _("Internal Edit (Content Tool)"), []() { current_editing_context()->mouse_mode_toggled (Editing::MouseContent); }); ActionManager::register_radio_action (_common_actions, mouse_mode_group, "set-mouse-mode-cut", _("Cut Tool"), []() { current_editing_context()->mouse_mode_toggled (Editing::MouseCut); }); + + Glib::RefPtr zoom_actions = ActionManager::create_action_group (common_bindings, X_("Zoom")); + RadioAction::Group zoom_group; + + radio_reg_sens (zoom_actions, zoom_group, "zoom-focus-left", _("Zoom Focus Left"), []() { current_editing_context()->zoom_focus_chosen (Editing::ZoomFocusLeft); }); + radio_reg_sens (zoom_actions, zoom_group, "zoom-focus-right", _("Zoom Focus Right"), []() { current_editing_context()->zoom_focus_chosen (Editing::ZoomFocusRight); }); + radio_reg_sens (zoom_actions, zoom_group, "zoom-focus-center", _("Zoom Focus Center"), []() { current_editing_context()->zoom_focus_chosen (Editing::ZoomFocusCenter); }); + radio_reg_sens (zoom_actions, zoom_group, "zoom-focus-playhead", _("Zoom Focus Playhead"), []() { current_editing_context()->zoom_focus_chosen (Editing::ZoomFocusPlayhead); }); + radio_reg_sens (zoom_actions, zoom_group, "zoom-focus-mouse", _("Zoom Focus Mouse"), []() { current_editing_context()->zoom_focus_chosen (Editing::ZoomFocusMouse); }); + radio_reg_sens (zoom_actions, zoom_group, "zoom-focus-edit", _("Zoom Focus Edit Point"), []() { current_editing_context()->zoom_focus_chosen (Editing::ZoomFocusEdit); }); + + ActionManager::register_action (zoom_actions, X_("cycle-zoom-focus"), _("Next Zoom Focus"), []() { current_editing_context()->cycle_zoom_focus(); }); } void diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index f67b1dd1af..c8a9f85ba3 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -2696,8 +2696,6 @@ Editor::setup_toolbar () act = ActionManager::get_action (X_("Editor"), X_("zoom-to-session")); full_zoom_button.set_related_action (act); - zoom_focus_selector.set_name ("zoom button"); - if (ARDOUR::Profile->get_mixbus()) { _zoom_box.pack_start (zoom_preset_selector, false, false); } else { diff --git a/gtk2_ardour/editor_actions.cc b/gtk2_ardour/editor_actions.cc index 654b832783..35f63cd82b 100644 --- a/gtk2_ardour/editor_actions.cc +++ b/gtk2_ardour/editor_actions.cc @@ -524,18 +524,6 @@ Editor::register_actions () toggle_reg_sens (editor_actions, "sound-midi-notes", _("Sound Selected MIDI Notes"), sigc::mem_fun (*this, &Editor::toggle_sound_midi_notes)); - Glib::RefPtr zoom_actions = ActionManager::create_action_group (bindings, X_("Zoom")); - RadioAction::Group zoom_group; - - radio_reg_sens (zoom_actions, zoom_group, "zoom-focus-left", _("Zoom Focus Left"), sigc::bind (sigc::mem_fun(*this, &Editor::zoom_focus_chosen), Editing::ZoomFocusLeft)); - radio_reg_sens (zoom_actions, zoom_group, "zoom-focus-right", _("Zoom Focus Right"), sigc::bind (sigc::mem_fun(*this, &Editor::zoom_focus_chosen), Editing::ZoomFocusRight)); - radio_reg_sens (zoom_actions, zoom_group, "zoom-focus-center", _("Zoom Focus Center"), sigc::bind (sigc::mem_fun(*this, &Editor::zoom_focus_chosen), Editing::ZoomFocusCenter)); - radio_reg_sens (zoom_actions, zoom_group, "zoom-focus-playhead", _("Zoom Focus Playhead"), sigc::bind (sigc::mem_fun(*this, &Editor::zoom_focus_chosen), Editing::ZoomFocusPlayhead)); - radio_reg_sens (zoom_actions, zoom_group, "zoom-focus-mouse", _("Zoom Focus Mouse"), sigc::bind (sigc::mem_fun(*this, &Editor::zoom_focus_chosen), Editing::ZoomFocusMouse)); - radio_reg_sens (zoom_actions, zoom_group, "zoom-focus-edit", _("Zoom Focus Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::zoom_focus_chosen), Editing::ZoomFocusEdit)); - - ActionManager::register_action (editor_actions, X_("cycle-zoom-focus"), _("Next Zoom Focus"), sigc::mem_fun (*this, &Editor::cycle_zoom_focus)); - Glib::RefPtr marker_click_actions = ActionManager::create_action_group (bindings, X_("MarkerClickBehavior")); RadioAction::Group marker_click_group; diff --git a/gtk2_ardour/pianoroll.cc b/gtk2_ardour/pianoroll.cc index 1ec4664a30..835acd1e28 100644 --- a/gtk2_ardour/pianoroll.cc +++ b/gtk2_ardour/pianoroll.cc @@ -279,10 +279,7 @@ Pianoroll::build_upper_toolbar () _toolbar_outer->pack_start (*_toolbar_inner, true, false); build_zoom_focus_menu (); - std::string str = zoom_focus_strings[(int)_zoom_focus]; - if (str != zoom_focus_selector.get_text()) { - zoom_focus_selector.set_text (str); - } + zoom_focus_selector.set_text (zoom_focus_strings[(int)_zoom_focus]); _toolbar_left->pack_start (zoom_in_button, false, false); _toolbar_left->pack_start (zoom_out_button, false, false);