New Tabbable: Trigger-Page skeleton

This commit is contained in:
Robin Gareus 2021-11-09 02:27:38 +01:00
parent 229a8aea13
commit 9ce604bc03
No known key found for this signature in database
GPG key ID: A090BCE02CF57F04
11 changed files with 382 additions and 6 deletions

View file

@ -65,6 +65,7 @@
#include "main_clock.h"
#include "mixer_ui.h"
#include "recorder_ui.h"
#include "trigger_page.h"
#include "utils.h"
#include "time_info_box.h"
#include "midi_tracer.h"
@ -306,6 +307,7 @@ ARDOUR_UI::setup_transport ()
mixer_visibility_button.set_related_action (ActionManager::get_action (X_("Common"), X_("change-mixer-visibility")));
prefs_visibility_button.set_related_action (ActionManager::get_action (X_("Common"), X_("change-preferences-visibility")));
recorder_visibility_button.set_related_action (ActionManager::get_action (X_("Common"), X_("change-recorder-visibility")));
trigger_page_visibility_button.set_related_action (ActionManager::get_action (X_("Common"), X_("change-trigger-visibility")));
act = ActionManager::get_action ("Transport", "ToggleAutoReturn");
auto_return_button.set_related_action (act);
@ -342,6 +344,7 @@ ARDOUR_UI::setup_transport ()
mixer_visibility_button.signal_drag_failed().connect (sigc::bind (sigc::ptr_fun (drag_failed), mixer));
prefs_visibility_button.signal_drag_failed().connect (sigc::bind (sigc::ptr_fun (drag_failed), rc_option_editor));
recorder_visibility_button.signal_drag_failed().connect (sigc::bind (sigc::ptr_fun (drag_failed), recorder));
trigger_page_visibility_button.signal_drag_failed().connect (sigc::bind (sigc::ptr_fun (drag_failed), trigger_page));
/* catch context clicks so that we can show a menu on these buttons */
@ -349,6 +352,7 @@ ARDOUR_UI::setup_transport ()
mixer_visibility_button.signal_button_press_event().connect (sigc::bind (sigc::mem_fun (*this, &ARDOUR_UI::tabbable_visibility_button_press), X_("mixer")), false);
prefs_visibility_button.signal_button_press_event().connect (sigc::bind (sigc::mem_fun (*this, &ARDOUR_UI::tabbable_visibility_button_press), X_("preferences")), false);
recorder_visibility_button.signal_button_press_event().connect (sigc::bind (sigc::mem_fun (*this, &ARDOUR_UI::tabbable_visibility_button_press), X_("recorder")), false);
trigger_page_visibility_button.signal_button_press_event().connect (sigc::bind (sigc::mem_fun (*this, &ARDOUR_UI::tabbable_visibility_button_press), X_("trigger")), false);
/* setup widget style/name */
@ -374,6 +378,7 @@ ARDOUR_UI::setup_transport ()
mixer_visibility_button.set_name (X_("page switch button"));
prefs_visibility_button.set_name (X_("page switch button"));
recorder_visibility_button.set_name (X_("page switch button"));
trigger_page_visibility_button.set_name (X_("page switch button"));
punch_in_button.set_name ("punch button");
punch_out_button.set_name ("punch button");
@ -430,6 +435,10 @@ ARDOUR_UI::setup_transport ()
string_compose (_("Drag this tab to the desktop to show %1 in its own window\n\n"
"To re-attach the window, use the Window > %1 > Attach menu action"), recorder->name()));
Gtkmm2ext::UI::instance()->set_tip (trigger_page_visibility_button,
string_compose (_("Drag this tab to the desktop to show %1 in its own window\n\n"
"To re-attach the window, use the Window > %1 > Attach menu action"), trigger_page->name()));
Gtkmm2ext::UI::instance()->set_tip (punch_in_button, _("Start recording at auto-punch start"));
Gtkmm2ext::UI::instance()->set_tip (punch_out_button, _("Stop recording at auto-punch end"));
@ -502,6 +511,7 @@ ARDOUR_UI::setup_transport ()
button_height_size_group->add_widget (auto_return_button);
//tab selections
button_height_size_group->add_widget (trigger_page_visibility_button);
button_height_size_group->add_widget (recorder_visibility_button);
button_height_size_group->add_widget (editor_visibility_button);
button_height_size_group->add_widget (mixer_visibility_button);
@ -628,10 +638,11 @@ ARDOUR_UI::setup_transport ()
transport_table.attach (scripts_spacer, TCOL, 0, 2 , SHRINK, EXPAND|FILL, 3, 0);
++col;
transport_table.attach (recorder_visibility_button, TCOL, 0, 1 , FILL, SHRINK, hpadding, vpadding);
transport_table.attach (mixer_visibility_button, col, col + 2, 1, 2 , FILL, SHRINK, hpadding, vpadding);
transport_table.attach (recorder_visibility_button, TCOL, 0, 1 , FILL, SHRINK, hpadding, vpadding);
transport_table.attach (trigger_page_visibility_button, TCOL, 1, 2 , FILL, SHRINK, hpadding, vpadding);
++col;
transport_table.attach (editor_visibility_button, TCOL, 0, 1 , FILL, SHRINK, hpadding, vpadding);
transport_table.attach (editor_visibility_button, TCOL, 0, 1 , FILL, SHRINK, hpadding, vpadding);
transport_table.attach (mixer_visibility_button, TCOL, 1, 2 , FILL, SHRINK, hpadding, vpadding);
++col;
/* initialize */