Move the follow_edits from toolbar to editor context bar

This commit is contained in:
Robin Gareus
2025-06-12 22:11:33 +02:00
parent be0d79089b
commit 666a32499c
5 changed files with 21 additions and 9 deletions

View File

@@ -115,7 +115,6 @@ ApplicationBar::ApplicationBar ()
, _basic_ui (0)
, _latency_disable_button (ArdourButton::led_default_elements)
, _auto_return_button (ArdourButton::led_default_elements)
, _follow_edits_button (ArdourButton::led_default_elements)
, _primary_clock (X_("primary"), X_("transport"), MainClock::PrimaryClock)
, _secondary_clock (X_("secondary"), X_("secondary"), MainClock::SecondaryClock)
, _secondary_clock_spacer (0)
@@ -179,7 +178,6 @@ ApplicationBar::on_parent_changed (Gtk::Widget*)
_latency_disable_button.set_text (_("Disable PDC"));
_auto_return_button.set_text(_("Auto Return"));
_follow_edits_button.set_text(_("Follow Range"));
/* alert box sub-group */
VBox* alert_box = manage (new VBox);
@@ -243,7 +241,6 @@ ApplicationBar::on_parent_changed (Gtk::Widget*)
_table.attach (_latency_spacer, TCOL, 0, 2 , SHRINK, EXPAND|FILL, 3, 0);
++col;
_table.attach (_follow_edits_button, TCOL, 0, 1 , FILL, SHRINK, hpadding, vpadding);
_table.attach (_auto_return_button, TCOL, 1, 2 , FILL, SHRINK, hpadding, vpadding);
++col;
@@ -319,7 +316,6 @@ ApplicationBar::on_parent_changed (Gtk::Widget*)
button_height_size_group->add_widget (_punch_out_button);
button_height_size_group->add_widget (_record_mode_selector);
button_height_size_group->add_widget (_latency_disable_button);
button_height_size_group->add_widget (_follow_edits_button);
button_height_size_group->add_widget (_auto_return_button);
for (int i = 0; i < MAX_LUA_ACTION_BUTTONS; ++i) {
@@ -367,7 +363,6 @@ ApplicationBar::on_parent_changed (Gtk::Widget*)
_record_mode_selector.set_name ("record mode button");
_latency_disable_button.set_name ("latency button");
_auto_return_button.set_name ("transport option button");
_follow_edits_button.set_name ("transport option button");
_solo_alert_button.set_name ("rude solo");
_auditioning_alert_button.set_name ("rude audition");
_feedback_alert_button.set_name ("feedback alert");
@@ -447,11 +442,8 @@ ApplicationBar::ui_actions_ready ()
act = ActionManager::get_action ("Transport", "ToggleAutoReturn");
_auto_return_button.set_related_action (act);
act = ActionManager::get_action (X_("Transport"), X_("ToggleFollowEdits"));
_follow_edits_button.set_related_action (act);
_auto_return_button.set_text(_("Auto Return"));
_follow_edits_button.set_text(_("Follow Range"));
/* CANNOT sigc::bind these to clicked or toggled, must use pressed or released */
act = ActionManager::get_action (X_("Main"), X_("cancel-solo"));

View File

@@ -132,7 +132,6 @@ private:
ArdourWidgets::ArdourButton _latency_disable_button;
Gtk::Label _route_latency_value;
ArdourWidgets::ArdourButton _auto_return_button;
ArdourWidgets::ArdourButton _follow_edits_button;
TransportClock _primary_clock;
TransportClock _secondary_clock;
ArdourWidgets::ArdourVSpacer* _secondary_clock_spacer;

View File

@@ -124,6 +124,7 @@ EditingContext::EditingContext (std::string const & name)
, _timeline_origin (0.)
, play_note_selection_button (ArdourButton::default_elements)
, follow_playhead_button (ArdourButton::default_elements, true)
, follow_edits_button (_("Follow Range"), ArdourButton::Element (ArdourButton::Edge | ArdourButton::Body | ArdourButton::VectorIcon), true)
, visible_channel_label (_("MIDI Channel"))
, _drags (new DragManager (this))
, _leftmost_sample (0)
@@ -206,6 +207,7 @@ EditingContext::EditingContext (std::string const & name)
set_tooltip (play_note_selection_button, _("Play notes when selected"));
set_tooltip (note_mode_button, _("Switch between sustained and percussive mode"));
set_tooltip (follow_playhead_button, _("Scroll automatically to keep playhead visible"));
set_tooltip (follow_edits_button, _("Playhead follows Range tool clicks, and Range selections"));
/* Leave tip for full zoom button to derived class */
set_tooltip (visible_channel_selector, _("Select visible MIDI channel"));
@@ -215,6 +217,7 @@ EditingContext::EditingContext (std::string const & name)
full_zoom_button.signal_clicked.connect (sigc::mem_fun (*this, &EditingContext::full_zoom_clicked));
follow_playhead_button.set_icon (ArdourIcon::EditorFollowPlayhead);
follow_edits_button.set_icon (ArdourIcon::EditorFollowEdits);
zoom_in_button.set_name ("zoom button");
zoom_in_button.set_icon (ArdourIcon::ZoomIn);
@@ -225,6 +228,10 @@ EditingContext::EditingContext (std::string const & name)
full_zoom_button.set_name ("zoom button");
full_zoom_button.set_icon (ArdourIcon::ZoomFull);
follow_edits_button.set_name ("transport option button");
follow_playhead_button.set_icon (ArdourIcon::EditorFollowPlayhead);
follow_playhead_button.set_elements (ArdourButton::Element (ArdourButton::Edge | ArdourButton::Body | ArdourButton::VectorIcon));
selection->PointsChanged.connect (sigc::mem_fun(*this, &EditingContext::point_selection_changed));
for (int i = 0; i < 16; i++) {
@@ -2161,6 +2168,9 @@ EditingContext::bind_mouse_mode_buttons ()
act = ActionManager::get_action ((_name + X_("Editing")).c_str(), X_("temporal-zoom-out"));
zoom_out_button.set_related_action (act);
act = ActionManager::get_action (X_("Transport"), X_("ToggleFollowEdits"));
follow_edits_button.set_related_action (act);
mouse_move_button.set_related_action (get_mouse_mode_action (Editing::MouseObject));
mouse_move_button.set_icon (ArdourWidgets::ArdourIcon::ToolGrab);
mouse_move_button.set_name ("mouse mode button");

View File

@@ -560,6 +560,7 @@ class EditingContext : public ARDOUR::SessionHandlePtr, public AxisViewProvider,
ArdourWidgets::ArdourButton play_note_selection_button;
ArdourWidgets::ArdourButton note_mode_button;
ArdourWidgets::ArdourButton follow_playhead_button;
ArdourWidgets::ArdourButton follow_edits_button;
ArdourWidgets::ArdourButton zoom_in_button;
ArdourWidgets::ArdourButton zoom_out_button;

View File

@@ -2724,6 +2724,8 @@ Editor::setup_toolbar ()
mouse_mode_size_group->add_widget (zoom_focus_selector);
mouse_mode_size_group->add_widget (tav_shrink_button);
mouse_mode_size_group->add_widget (tav_expand_button);
mouse_mode_size_group->add_widget (follow_playhead_button);
mouse_mode_size_group->add_widget (follow_edits_button);
} else {
mouse_mode_size_group->add_widget (zoom_preset_selector);
mouse_mode_size_group->add_widget (visible_tracks_selector);
@@ -2862,6 +2864,12 @@ Editor::setup_toolbar ()
pack_draw_box ();
HBox* follow_mode_hbox = manage (new HBox);
follow_mode_hbox->set_spacing (2);
follow_mode_hbox->set_border_width (2);
follow_mode_hbox->pack_start (follow_playhead_button, false, false);
follow_mode_hbox->pack_start (follow_edits_button, false, false);
/* Pack everything in... */
toolbar_hbox.set_spacing (2);
@@ -2897,6 +2905,8 @@ Editor::setup_toolbar ()
toolbar_hbox.pack_end (_zoom_box, false, false, 2);
toolbar_hbox.pack_end (*(manage (new ArdourVSpacer ())), false, false, 3);
toolbar_hbox.pack_end (_track_box, false, false);
toolbar_hbox.pack_end (*(manage (new ArdourVSpacer ())), false, false, 3);
toolbar_hbox.pack_end (*follow_mode_hbox, false, false);
toolbar_hbox.show_all ();
}