13
0
Fork 0

T: yet another approach to toolbar packing

This commit is contained in:
Ben Loftis 2024-05-06 16:42:30 -05:00
parent 2b3bfd393f
commit 5b947d97a6
5 changed files with 59 additions and 41 deletions

View File

@ -323,12 +323,13 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir)
, _editor_meter_peaked (false)
, _livetrax_btn_rec_all (_("Rec All"))
, _livetrax_btn_rec_none (_("Rec None"))
, _livetrax_btn_peak_reset (_("Reset Peak Hold"))
, _livetrax_btn_peak_reset (_("Reset Peaks"))
, _livetrax_btn_marker_new (_("Marker"))
, _livetrax_btn_prev_marker (_("<< Prev"))
, _livetrax_btn_next_marker (_("Next >>"))
, _livetrax_centering_sizegroup (Gtk::SizeGroup::create (Gtk::SIZE_GROUP_HORIZONTAL))
, _livetrax_toolbar_sizegroup (Gtk::SizeGroup::create (Gtk::SIZE_GROUP_VERTICAL))
, _livetrax_viewbutton_sizegroup (Gtk::SizeGroup::create (Gtk::SIZE_GROUP_BOTH))
, _numpad_locate_happening (false)
, _session_is_new (false)
, last_key_press_time (0)

View File

@ -643,6 +643,7 @@ private:
/* LiveTrax */
Gtk::Table livetrax_top_table_l;
Gtk::Table livetrax_top_table_c;
Gtk::Table livetrax_top_table_r;
Gtk::Table livetrax_edit_table;
Gtk::HBox livetrax_meter_bar;
@ -660,6 +661,7 @@ private:
Glib::RefPtr<Gtk::SizeGroup> _livetrax_centering_sizegroup;
Glib::RefPtr<Gtk::SizeGroup> _livetrax_toolbar_sizegroup;
Glib::RefPtr<Gtk::SizeGroup> _livetrax_viewbutton_sizegroup;
TimeInfoBox* livetrax_time_info_box;
ArdourWidgets::ArdourButton* livetrax_multi_out_button;

View File

@ -409,8 +409,9 @@ ARDOUR_UI::livetrax_setup_windows ()
_livetrax_sections = new EditorSections();
Image* icon = manage (new Image (ARDOUR_UI_UTILS::get_icon ("harrison")));
VBox* icon_vb = manage(new VBox());
icon_vb->pack_start(*icon);
livetrax_top_table_c.set_border_width(4);
livetrax_top_table_c.attach(*icon, 0,1, 0,1, FILL, FILL, 4, 4 );
livetrax_top_table_c.attach(*primary_clock, 0,1, 1,2, FILL, FILL, 4, 4 );
VBox* vb;
HBox* hb;
@ -448,22 +449,22 @@ ARDOUR_UI::livetrax_setup_windows ()
livetrax_view_in_folder_button = manage (new ArdourButton (elements));
livetrax_view_in_folder_button->set_icon (ArdourWidgets::ArdourIcon::Folder);
livetrax_editor_view_button = manage (new ArdourButton (_("TRACKS"), ArdourButton::Element (ArdourButton::Text|ArdourButton::Edge|ArdourButton::Body), true));
livetrax_editor_view_button = manage (new ArdourButton (_("TRACKS"), ArdourButton::Element (ArdourButton::Text|ArdourButton::Body), true));
livetrax_editor_view_button->set_icon (ArdourWidgets::ArdourIcon::TrackWaveform);
act = ActionManager::get_action (X_("Common"), X_("livetrax-toggle-editor"));
livetrax_editor_view_button->set_related_action (act);
livetrax_prefs_view_button = manage (new ArdourButton (_("PREFS"), ArdourButton::Element (ArdourButton::Text|ArdourButton::Edge|ArdourButton::Body), true));
livetrax_prefs_view_button = manage (new ArdourButton (_("PREFS"), ArdourButton::Element (ArdourButton::Text|ArdourButton::Body), true));
livetrax_prefs_view_button->set_icon (ArdourWidgets::ArdourIcon::Config);
act = ActionManager::get_action (X_("Common"), X_("livetrax-toggle-prefs"));
livetrax_prefs_view_button->set_related_action (act);
livetrax_meter_view_button = manage (new ArdourButton (ArdourButton::Element (ArdourButton::Text|ArdourButton::Edge|ArdourButton::Body), true));;
livetrax_meter_view_button = manage (new ArdourButton (ArdourButton::Element (ArdourButton::Text|ArdourButton::Body), true));;
livetrax_meter_view_button->set_icon (ArdourWidgets::ArdourIcon::Meters);
act = ActionManager::get_action (X_("Common"), X_("livetrax-toggle-meter"));
livetrax_meter_view_button->set_related_action (act);
livetrax_mixer_view_button = manage (new ArdourButton (ArdourButton::Element (ArdourButton::Text|ArdourButton::Edge|ArdourButton::Body), true));
livetrax_mixer_view_button = manage (new ArdourButton (ArdourButton::Element (ArdourButton::Text|ArdourButton::Body), true));
livetrax_mixer_view_button->set_icon (ArdourWidgets::ArdourIcon::Mixer);
act = ActionManager::get_action (X_("Common"), X_("livetrax-toggle-mixer"));
livetrax_mixer_view_button->set_related_action (act);
@ -472,12 +473,6 @@ ARDOUR_UI::livetrax_setup_windows ()
act = ActionManager::get_action (X_("Window"), X_("toggle-audio-midi-setup"));
livetrax_sr_button->set_related_action (act);
HBox *view_box = manage (new HBox);
view_box->set_spacing(4);
view_box->pack_start (*livetrax_meter_view_button, false, false);
view_box->pack_start (*livetrax_editor_view_button, false, false);
view_box->pack_start (*livetrax_mixer_view_button, false, false);
livetrax_lock_button = manage (new ArdourButton (elements, true));
livetrax_lock_button->set_icon (ArdourWidgets::ArdourIcon::Lock);
act = ActionManager::get_action (X_("Editor"), X_("lock"));
@ -487,19 +482,15 @@ ARDOUR_UI::livetrax_setup_windows ()
livetrax_top_table_l.attach (_livetrax_btn_prev_marker, TCOL, TCOL+1, 0, 1, FILL, FILL, 4, 4);
livetrax_top_table_l.attach (_livetrax_btn_marker_new, TCOL+1, TCOL+2, 0, 1, FILL, FILL, 4, 4);
livetrax_top_table_l.attach (_livetrax_btn_next_marker, TCOL+2, TCOL+3, 0, 1, FILL, FILL, 4, 4);
livetrax_top_table_l.attach (_livetrax_btn_next_marker, TCOL+2, TCOL+3, 0, 1, FILL, FILL, 4, 4);
livetrax_top_table_l.attach (transport_ctrl, TCOL, TCOL+4, 1, 2, FILL, FILL, 4, 4); TCOL+=4;
livetrax_top_table_l.attach (sync_button, TCOL+1, TCOL+2, 0, 1, FILL, FILL, 4, 4);
livetrax_top_table_l.attach (*primary_clock, TCOL, TCOL+2, 1, 2, FILL, FILL, 4, 4); TCOL+=2;
livetrax_top_table_l.attach (sync_button, TCOL, TCOL+1, 0, 1, FILL, FILL, 4, 4); TCOL++;
livetrax_top_table_l.attach (*manage(new Label("")), TCOL, TCOL+1, 0, 2, EXPAND, FILL, 4, 4); TCOL++;
livetrax_top_table_l.attach (*ev_dsp, TCOL, TCOL+1, 0, 1, FILL, FILL, 4, 4);
livetrax_top_table_l.attach (disk_space_label, TCOL, TCOL+1, 1, 2, FILL, FILL, 4, 4); TCOL++;
livetrax_top_table_l.attach (*livetrax_ff_dropdown, TCOL, TCOL+1, 0, 1, FILL, FILL, 4, 4);
livetrax_top_table_l.attach (*livetrax_sr_button, TCOL, TCOL+1, 1, 2, FILL, FILL, 4, 4); TCOL++;
livetrax_top_table_l.attach (*livetrax_ff_dropdown, TCOL, TCOL+1, 0, 1, FILL, FILL, 4, 4);
livetrax_top_table_l.attach (*livetrax_sr_button, TCOL, TCOL+1, 1, 2, FILL, FILL, 4, 4); TCOL++;
// livetrax_top_table.attach (*cw, TCOL, TCOL+1, 0, 2, FILL, FILL, 4, 4); TCOL++;
@ -508,37 +499,53 @@ ARDOUR_UI::livetrax_setup_windows ()
TCOL = 0;
livetrax_top_table_r.attach (*editor->mouse_mode_hbox, TCOL, TCOL+2, 0, 1, FILL, FILL, 4, 4);
livetrax_top_table_r.attach (*editor->mouse_mode_hbox, TCOL, TCOL+1, 0, 1, FILL, FILL, 4, 4);
livetrax_top_table_r.attach (editor->_track_box, TCOL, TCOL+1, 1, 2, FILL, FILL, 4, 4); TCOL+=2;
livetrax_top_table_r.attach (editor->_track_box, TCOL, TCOL+1, 1, 2, FILL, FILL, 4, 4);
livetrax_top_table_r.attach (editor->_zoom_box, TCOL+1, TCOL+2, 1, 2, FILL, FILL, 4, 4); TCOL+=2;
livetrax_top_table_r.attach (_livetrax_btn_peak_reset, TCOL, TCOL+1, 0, 1, FILL, FILL, 4, 4);
livetrax_top_table_r.attach (editor->_zoom_box, TCOL, TCOL+1, 1, 2, FILL, FILL, 4, 4); TCOL++;
livetrax_top_table_r.attach (*manage(new Label("")), TCOL, TCOL+1, 0, 2, EXPAND, FILL, 4, 4); TCOL++;
livetrax_top_table_r.attach (_livetrax_btn_rec_all, TCOL, TCOL+1, 0, 1, FILL, FILL, 4, 4);
livetrax_top_table_r.attach (_livetrax_btn_rec_none, TCOL+1, TCOL+2, 0, 1, FILL, FILL, 4, 4);
livetrax_top_table_r.attach (_livetrax_btn_peak_reset, TCOL, TCOL+2, 1, 2, FILL, FILL, 4, 4); TCOL+=2;
livetrax_top_table_r.attach (_livetrax_btn_rec_none, TCOL+1, TCOL+2, 0, 1, FILL, FILL, 4, 4); TCOL+=2;
livetrax_top_table_r.attach (*manage(new Label("")), TCOL, TCOL+1, 0, 2, EXPAND, FILL, 4, 4); TCOL++;
livetrax_top_table_r.attach (*manage(new Label("")), TCOL, TCOL+1, 0, 2, EXPAND, FILL, 4, 4); TCOL++;
livetrax_top_table_r.attach (*ev_dsp, TCOL, TCOL+1, 0, 1, FILL, FILL, 4, 4);
livetrax_top_table_r.attach (disk_space_label, TCOL, TCOL+1, 1, 2, FILL, FILL, 4, 4); TCOL++;
livetrax_top_table_r.attach (*livetrax_lock_button, TCOL, TCOL+1, 0, 1, FILL, FILL, 4, 4);
livetrax_top_table_r.attach (*livetrax_view_in_folder_button, TCOL+1, TCOL+2, 0, 1, FILL, FILL, 4, 4);
livetrax_top_table_r.attach (*livetrax_prefs_view_button, TCOL+2, TCOL+3, 0, 1, FILL, FILL, 4, 4);
livetrax_top_table_r.attach (*view_box, TCOL, TCOL+3, 1, 2, FILL, FILL, 4, 4); TCOL+=3;
livetrax_top_table_r.attach (*livetrax_meter_view_button, TCOL, TCOL+1, 1, 2, FILL, FILL, 4, 4);
livetrax_top_table_r.attach (*livetrax_editor_view_button, TCOL+1, TCOL+2, 1, 2, FILL, FILL, 4, 4);
livetrax_top_table_r.attach (*livetrax_mixer_view_button, TCOL+2, TCOL+3, 1, 2, FILL, FILL, 4, 4); TCOL+=3;
//left & right tables should be equal width, so the logo is centered between them
_livetrax_centering_sizegroup->add_widget(livetrax_top_table_l);
_livetrax_centering_sizegroup->add_widget(livetrax_top_table_r);
//force some toolbar widget's height, to make all button heights equal
//group a few items in each row of the left and right tables, to sync the heights
_livetrax_toolbar_sizegroup->add_widget(*livetrax_stereo_out_button);
_livetrax_toolbar_sizegroup->add_widget(*livetrax_multi_out_button);
_livetrax_toolbar_sizegroup->add_widget(*livetrax_lock_button);
_livetrax_toolbar_sizegroup->add_widget(*view_box);
_livetrax_toolbar_sizegroup->add_widget(*livetrax_mixer_view_button);
_livetrax_toolbar_sizegroup->add_widget(*icon);
_livetrax_toolbar_sizegroup->add_widget(*primary_clock);
//sync all the view buttons so they look squarer
_livetrax_viewbutton_sizegroup->add_widget(*livetrax_lock_button);
_livetrax_viewbutton_sizegroup->add_widget(*livetrax_view_in_folder_button);
_livetrax_viewbutton_sizegroup->add_widget(*livetrax_prefs_view_button);
_livetrax_viewbutton_sizegroup->add_widget(*livetrax_meter_view_button);
_livetrax_viewbutton_sizegroup->add_widget(*livetrax_editor_view_button);
_livetrax_viewbutton_sizegroup->add_widget(*livetrax_mixer_view_button);
Gtk::HBox *livetrax_top_bar = manage (new HBox);
livetrax_top_bar->pack_start(livetrax_top_table_l, true, true);
livetrax_top_bar->pack_start(*icon_vb, false, false, 12);
livetrax_top_bar->pack_start(livetrax_top_table_c, true, false);
livetrax_top_bar->pack_start(livetrax_top_table_r, true, true);

View File

@ -3404,18 +3404,18 @@ Editor::setup_toolbar ()
mouse_mode_size_group->add_widget (nudge_forward_button);
mouse_mode_size_group->add_widget (nudge_backward_button);
mouse_mode_hbox->set_spacing (2);
if (!Profile->get_livetrax()) {
mouse_mode_hbox->set_spacing (2);
mouse_mode_hbox->pack_start (smart_mode_button, false, false);
} else {
mouse_mode_hbox->set_spacing (4);
}
mouse_mode_hbox->pack_start (mouse_move_button, false, false);
mouse_mode_hbox->pack_start (mouse_select_button, false, false);
mouse_mode_hbox->pack_start (mouse_cut_button, false, false);
if (!Profile->get_livetrax()) {
mouse_mode_hbox->pack_start (mouse_cut_button, false, false);
mouse_mode_hbox->pack_start (mouse_timefx_button, false, false);
mouse_mode_hbox->pack_start (mouse_grid_button, false, false);
mouse_mode_hbox->pack_start (mouse_draw_button, false, false);
@ -3446,9 +3446,13 @@ Editor::setup_toolbar ()
/* Zoom */
_zoom_box.set_spacing (2);
_zoom_box.set_border_width (2);
if (!Profile->get_livetrax()) {
_zoom_box.set_spacing (2);
_zoom_box.set_border_width (2);
} else {
_zoom_box.set_spacing (4);
_zoom_box.set_border_width (0);
}
RefPtr<Action> act;
zoom_preset_selector.set_name ("zoom button");
@ -3483,9 +3487,13 @@ Editor::setup_toolbar ()
}
/* Track zoom buttons */
_track_box.set_spacing (2);
_track_box.set_border_width (2);
if (!ARDOUR::Profile->get_livetrax()) {
_track_box.set_spacing (2);
_track_box.set_border_width (2);
} else {
_track_box.set_spacing (4);
_track_box.set_border_width (0);
}
visible_tracks_selector.set_name ("zoom button");
if (Profile->get_mixbus()) {
visible_tracks_selector.set_icon (ArdourIcon::TimeAxisExpand);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 486 B