13
0

Use tabbable visibility functions on all pages

This commit is contained in:
Ben Loftis 2024-10-29 10:46:00 -05:00 committed by Robin Gareus
parent ba2fbfa2cf
commit 8f183e26ee
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
10 changed files with 68 additions and 58 deletions

View File

@ -631,6 +631,12 @@
<menuitem action='show-marker-lines'/> <menuitem action='show-marker-lines'/>
<separator/> <separator/>
<menuitem action='ToggleTriggerList'/>
<menuitem action='ToggleTriggerProps'/>
<separator/>
<menuitem action='ToggleMixerStrip'/>
<menuitem action='ToggleMixerProps'/>
<menuitem action='ToggleMixerList'/> <menuitem action='ToggleMixerList'/>
#ifdef MIXBUS #ifdef MIXBUS
<menuitem action='ToggleMixbusPane'/> <menuitem action='ToggleMixbusPane'/>

View File

@ -4823,8 +4823,6 @@ Editor::add_stripables (StripableList& sl)
if (show_editor_mixer_when_tracks_arrive && !new_selection.empty()) { if (show_editor_mixer_when_tracks_arrive && !new_selection.empty()) {
show_editor_mixer (true); show_editor_mixer (true);
} }
editor_list_button.set_sensitive (true);
} }
void void
@ -5506,9 +5504,6 @@ Editor::session_going_away ()
nudge_clock->set_session (0); nudge_clock->set_session (0);
editor_list_button.set_active(false);
editor_list_button.set_sensitive(false);
/* clear tempo/meter rulers */ /* clear tempo/meter rulers */
remove_metric_marks (); remove_metric_marks ();
clear_marker_display (); clear_marker_display ();
@ -5538,16 +5533,6 @@ Editor::trigger_script (int i)
LuaInstance::instance()-> call_action (i); LuaInstance::instance()-> call_action (i);
} }
void
Editor::show_editor_list (bool yn)
{
if (yn) {
_editor_list_vbox.show ();
} else {
_editor_list_vbox.hide ();
}
}
void void
Editor::change_region_layering_order (bool from_context_menu) Editor::change_region_layering_order (bool from_context_menu)
{ {
@ -5735,7 +5720,6 @@ Editor::use_own_window (bool and_fill_it)
*/ */
/* re-hide stuff if necessary */ /* re-hide stuff if necessary */
editor_list_button_toggled ();
parameter_changed ("show-summary"); parameter_changed ("show-summary");
parameter_changed ("show-group-tabs"); parameter_changed ("show-group-tabs");
parameter_changed ("show-zoom-tools"); parameter_changed ("show-zoom-tools");

View File

@ -301,7 +301,7 @@ public:
void maybe_add_mixer_strip_width (XMLNode&) const; void maybe_add_mixer_strip_width (XMLNode&) const;
void show_editor_mixer (bool yn); void show_editor_mixer (bool yn);
void create_editor_mixer (); void create_editor_mixer ();
void show_editor_list (bool yn); void showhide_att_left (bool);
void set_selected_mixer_strip (TimeAxisView&); void set_selected_mixer_strip (TimeAxisView&);
void mixer_strip_width_changed (); void mixer_strip_width_changed ();
void hide_track_in_display (TimeAxisView* tv, bool apply_to_selection = false); void hide_track_in_display (TimeAxisView* tv, bool apply_to_selection = false);
@ -1736,11 +1736,6 @@ private:
/* toolbar */ /* toolbar */
Gtk::ToggleButton editor_mixer_button;
Gtk::ToggleButton editor_list_button;
void editor_mixer_button_toggled ();
void editor_list_button_toggled ();
ArdourWidgets::ArdourButton zoom_in_button; ArdourWidgets::ArdourButton zoom_in_button;
ArdourWidgets::ArdourButton zoom_out_button; ArdourWidgets::ArdourButton zoom_out_button;
ArdourWidgets::ArdourButton zoom_out_full_button; ArdourWidgets::ArdourButton zoom_out_full_button;

View File

@ -182,8 +182,19 @@ Editor::register_actions ()
*/ */
ActionManager::register_action (editor_actions, "lock", S_("Session|Lock"), sigc::mem_fun (*this, &Editor::lock)); ActionManager::register_action (editor_actions, "lock", S_("Session|Lock"), sigc::mem_fun (*this, &Editor::lock));
toggle_reg_sens (editor_actions, "show-editor-mixer", _("Show Editor Mixer"), sigc::mem_fun (*this, &Editor::editor_mixer_button_toggled)); /* attachments visibility (editor-mixer-strip, bottom properties, sidebar list) */
toggle_reg_sens (editor_actions, "show-editor-list", _("Show Editor List"), sigc::mem_fun (*this, &Editor::editor_list_button_toggled));
act = ActionManager::register_toggle_action (editor_actions, "show-editor-list", _("Show Editor List"), sigc::mem_fun (*this, &Tabbable::att_right_button_toggled));
ActionManager::session_sensitive_actions.push_back (act);
right_attachment_button.set_related_action (act);
act = ActionManager::register_toggle_action (editor_actions, "show-editor-mixer", _("Show Editor Mixer"), sigc::mem_fun (*this, &Tabbable::att_left_button_toggled));
ActionManager::session_sensitive_actions.push_back (act);
left_attachment_button.set_related_action (act);
act = ActionManager::register_toggle_action (editor_actions, "show-editor-props", _("Show Editor Properties Box"), sigc::mem_fun (*this, &Tabbable::att_bottom_button_toggled));
ActionManager::session_sensitive_actions.push_back (act);
bottom_attachment_button.set_related_action (act);
reg_sens (editor_actions, "playhead-to-next-region-boundary", _("Playhead to Next Region Boundary"), sigc::bind (sigc::mem_fun(*this, &Editor::cursor_to_next_region_boundary), true)); reg_sens (editor_actions, "playhead-to-next-region-boundary", _("Playhead to Next Region Boundary"), sigc::bind (sigc::mem_fun(*this, &Editor::cursor_to_next_region_boundary), true));
reg_sens (editor_actions, "playhead-to-next-region-boundary-noselection", _("Playhead to Next Region Boundary (No Track Selection)"), sigc::bind (sigc::mem_fun(*this, &Editor::cursor_to_next_region_boundary), false)); reg_sens (editor_actions, "playhead-to-next-region-boundary-noselection", _("Playhead to Next Region Boundary (No Track Selection)"), sigc::bind (sigc::mem_fun(*this, &Editor::cursor_to_next_region_boundary), false));

View File

@ -60,23 +60,9 @@ using namespace Gtkmm2ext;
using namespace PBD; using namespace PBD;
void void
Editor::editor_mixer_button_toggled () Editor::showhide_att_left (bool yn)
{ {
Glib::RefPtr<Gtk::Action> act = ActionManager::get_action (X_("Editor"), X_("show-editor-mixer")); show_editor_mixer (yn);
if (act) {
Glib::RefPtr<Gtk::ToggleAction> tact = Glib::RefPtr<Gtk::ToggleAction>::cast_dynamic(act);
show_editor_mixer (tact->get_active());
}
}
void
Editor::editor_list_button_toggled ()
{
Glib::RefPtr<Gtk::Action> act = ActionManager::get_action (X_("Editor"), X_("show-editor-list"));
if (act) {
Glib::RefPtr<Gtk::ToggleAction> tact = Glib::RefPtr<Gtk::ToggleAction>::cast_dynamic(act);
show_editor_list (tact->get_active());
}
} }
void void

View File

@ -164,6 +164,13 @@ Mixer_UI::Mixer_UI ()
contents().set_data ("ardour-bindings", bindings); contents().set_data ("ardour-bindings", bindings);
if (!Profile->get_mixbus ()) {
right_attachment_button.set_sensitive(false);
} else {
left_attachment_button.set_sensitive(false);
}
bottom_attachment_button.set_sensitive(false);
PresentationInfo::Change.connect (*this, invalidator (*this), std::bind (&Mixer_UI::presentation_info_changed, this, _1), gui_context()); PresentationInfo::Change.connect (*this, invalidator (*this), std::bind (&Mixer_UI::presentation_info_changed, this, _1), gui_context());
Route::FanOut.connect (*this, invalidator (*this), std::bind (&Mixer_UI::fan_out, this, _1, false, true), gui_context()); Route::FanOut.connect (*this, invalidator (*this), std::bind (&Mixer_UI::fan_out, this, _1, false, true), gui_context());
@ -2294,23 +2301,6 @@ Mixer_UI::route_group_property_changed (RouteGroup* group, const PropertyChange&
} }
} }
void
Mixer_UI::toggle_mixer_list ()
{
Glib::RefPtr<ToggleAction> act = ActionManager::get_toggle_action ("Mixer", "ToggleMixerList");
showhide_mixer_list (act->get_active());
}
void
Mixer_UI::showhide_mixer_list (bool yn)
{
if (yn) {
list_vpacker.show ();
} else {
list_vpacker.hide ();
}
}
void void
Mixer_UI::toggle_monitor_section () Mixer_UI::toggle_monitor_section ()
{ {
@ -3714,7 +3704,23 @@ Mixer_UI::register_actions ()
ActionManager::register_action (group, "toggle-midi-input-active", _("Toggle MIDI Input Active for Mixer-Selected Tracks/Busses"), ActionManager::register_action (group, "toggle-midi-input-active", _("Toggle MIDI Input Active for Mixer-Selected Tracks/Busses"),
sigc::bind (sigc::mem_fun (*this, &Mixer_UI::toggle_midi_input_active), false)); sigc::bind (sigc::mem_fun (*this, &Mixer_UI::toggle_midi_input_active), false));
ActionManager::register_toggle_action (group, X_("ToggleMixerList"), _("Mixer: Show Mixer List"), sigc::mem_fun (*this, &Mixer_UI::toggle_mixer_list)); /* attachments visibility (editor-mixer-strip, bottom properties, sidebar list) */
RefPtr<Action> act;
if (!Profile->get_mixbus ()) {
act = ActionManager::register_toggle_action (group, "ToggleMixerList", _("(Mixer) Show Sidebar List"), sigc::mem_fun (*this, &Tabbable::att_left_button_toggled));
left_attachment_button.set_related_action (act);
act = ActionManager::register_toggle_action (group, "ToggleMixerStrip", _("(Mixer) Show Sidebar Strip"), []{});
content_right_pane.remove(content_right_vbox);
} else {
act = ActionManager::register_toggle_action (group, "ToggleMixerList", _("(Mixer) Show Sidebar List"), sigc::mem_fun (*this, &Tabbable::att_right_button_toggled));
right_attachment_button.set_related_action (act);
act = ActionManager::register_toggle_action (group, "ToggleMixerStrip", _("(Mixer) Show Sidebar Strip"), sigc::mem_fun (*this, &Tabbable::att_left_button_toggled));
left_attachment_button.set_related_action (act);
}
act = ActionManager::register_toggle_action (group, "ToggleMixerProps", _("(Mixer) Show Properties Bottom"), sigc::mem_fun (*this, &Tabbable::att_bottom_button_toggled));
bottom_attachment_button.set_related_action (act);
ActionManager::register_toggle_action (group, X_("ToggleVCAPane"), _("Mixer: Show VCAs"), sigc::mem_fun (*this, &Mixer_UI::toggle_vcas)); ActionManager::register_toggle_action (group, X_("ToggleVCAPane"), _("Mixer: Show VCAs"), sigc::mem_fun (*this, &Mixer_UI::toggle_vcas));

View File

@ -148,6 +148,9 @@ public:
Gtkmm2ext::Bindings* bindings; Gtkmm2ext::Bindings* bindings;
void toggle_mixer_list (); void toggle_mixer_list ();
void toggle_mixer_strip ();
void toggle_mixer_props ();
void showhide_mixer_list (bool yn); void showhide_mixer_list (bool yn);
void toggle_surround_master (); void toggle_surround_master ();

View File

@ -101,6 +101,11 @@ RecorderUI::RecorderUI ()
load_bindings (); load_bindings ();
register_actions (); register_actions ();
content_right_pane.remove(content_right_vbox);
left_attachment_button.set_sensitive(false);
bottom_attachment_button.set_sensitive(false);
right_attachment_button.set_sensitive(false);
/* monitoring */ /* monitoring */
_auto_input_button.set_related_action (ActionManager::get_action ("Transport", "ToggleAutoInput")); _auto_input_button.set_related_action (ActionManager::get_action ("Transport", "ToggleAutoInput"));
_auto_input_button.set_name ("transport option button"); _auto_input_button.set_name ("transport option button");

View File

@ -10,5 +10,9 @@
<Binding key="F8" action="Cues/trigger-cue-7"/> <Binding key="F8" action="Cues/trigger-cue-7"/>
<Binding key="Delete" action="Cues/clear-trigger-slot"/> <Binding key="Delete" action="Cues/clear-trigger-slot"/>
<Binding key="BackSpace" action="Cues/clear-trigger-slot-alt"/> <Binding key="BackSpace" action="Cues/clear-trigger-slot-alt"/>
<Binding key="Tertiary-l" action="Cues/ToggleTriggerList" group="Window Visibility"/>
<Binding key="Tertiary-p" action="Cues/ToggleTriggerProps" group="Window Visibility"/>
</Press> </Press>
</Bindings> </Bindings>

View File

@ -77,6 +77,8 @@ TriggerPage::TriggerPage ()
load_bindings (); load_bindings ();
register_actions (); register_actions ();
left_attachment_button.set_sensitive(false);
/* Match TriggerStrip::_name_button height */ /* Match TriggerStrip::_name_button height */
ArdourButton* spacer = manage (new ArdourButton (ArdourButton::Text)); ArdourButton* spacer = manage (new ArdourButton (ArdourButton::Text));
spacer->set_name ("mixer strip button"); spacer->set_name ("mixer strip button");
@ -846,6 +848,14 @@ TriggerPage::register_actions ()
{ {
Glib::RefPtr<ActionGroup> trigger_actions = ActionManager::create_action_group (bindings, X_("Cues")); Glib::RefPtr<ActionGroup> trigger_actions = ActionManager::create_action_group (bindings, X_("Cues"));
/* attachments visibility (editor-mixer-strip, bottom properties, sidebar list) */
Glib::RefPtr<Action> act = ActionManager::register_toggle_action (trigger_actions, "ToggleTriggerList", _("(Cue Page) Show Sidebar List"), sigc::mem_fun (*this, &Tabbable::att_right_button_toggled));
right_attachment_button.set_related_action (act);
act = ActionManager::register_toggle_action (trigger_actions, "ToggleTriggerProps", _("(Cue Page) Show Properties Bottom"), sigc::mem_fun (*this, &Tabbable::att_bottom_button_toggled));
bottom_attachment_button.set_related_action (act);
ActionManager::register_action (trigger_actions, "clear-trigger-slot", _("Clear Selected Slot"), sigc::mem_fun (*this, &TriggerPage::clear_selected_slot)); ActionManager::register_action (trigger_actions, "clear-trigger-slot", _("Clear Selected Slot"), sigc::mem_fun (*this, &TriggerPage::clear_selected_slot));
ActionManager::register_action (trigger_actions, "clear-trigger-slot-alt", _("Clear Selected Slot"), sigc::mem_fun (*this, &TriggerPage::clear_selected_slot)); ActionManager::register_action (trigger_actions, "clear-trigger-slot-alt", _("Clear Selected Slot"), sigc::mem_fun (*this, &TriggerPage::clear_selected_slot));