From: Robin Gareus Date: Tue, 2 Sep 2014 16:12:39 +0000 (+0200) Subject: static global definition for track-header width X-Git-Tag: 4.0-rc1~1601^2~345 X-Git-Url: https://git.carlh.net/gitweb/?a=commitdiff_plain;h=b184df3286599c3d31d97d264cae832550e55641;p=ardour.git static global definition for track-header width the track-header minimum width is defined by the name-label (IFF the 2nd row fader is not visible, but the fader is rather small by default and and grows) track-header width in almost all cases is: name-label width + width of three button (1 char each) + max size of all meters (if visible) + width of MIDI scroomer (if visible) + 2px table cellspacing (per column) --- diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc index 95a58013b4..53124723ef 100644 --- a/gtk2_ardour/route_time_axis.cc +++ b/gtk2_ardour/route_time_axis.cc @@ -432,10 +432,11 @@ RouteTimeAxisView::update_track_number_visibility () const int tnw = std::max(2u, _session->track_number_decimals()) * 8; // TODO 8 = max_width_of_digit_0_to_9() number_label.set_size_request(3 + tnw, -1); number_label.show (); - name_hbox.set_size_request(95 - tnw, 0); + // -5 = -2 for table border - 3 for padding ^^ + name_hbox.set_size_request(TimeAxisView::name_width_px - 5 - tnw, 0); } else { number_label.hide (); - name_hbox.set_size_request(100, 0); + name_hbox.set_size_request(TimeAxisView::name_width_px, 0); } } diff --git a/gtk2_ardour/time_axis_view.cc b/gtk2_ardour/time_axis_view.cc index 2ac021f4cb..13b0546d46 100644 --- a/gtk2_ardour/time_axis_view.cc +++ b/gtk2_ardour/time_axis_view.cc @@ -70,6 +70,7 @@ const double trim_handle_size = 6.0; /* pixels */ uint32_t TimeAxisView::button_height = 0; uint32_t TimeAxisView::extra_height = 0; int const TimeAxisView::_max_order = 512; +unsigned int TimeAxisView::name_width_px = 100; // TODO adjust with font-scaling on style-change PBD::Signal1 TimeAxisView::CatchDeletion; Glib::RefPtr TimeAxisView::controls_meters_size_group = Glib::RefPtr(); @@ -134,7 +135,7 @@ TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisVie name_hbox.pack_end (name_label, true, true); // set min. track-header width if fader is not visible - name_hbox.set_size_request(100, 0); + name_hbox.set_size_request(name_width_px, 0); name_hbox.show (); name_label.show (); diff --git a/gtk2_ardour/time_axis_view.h b/gtk2_ardour/time_axis_view.h index 90c05761c0..bfdcf9f4f1 100644 --- a/gtk2_ardour/time_axis_view.h +++ b/gtk2_ardour/time_axis_view.h @@ -201,6 +201,7 @@ class TimeAxisView : public virtual AxisView protected: static Glib::RefPtr controls_meters_size_group; + static unsigned int name_width_px; /* The Standard LHS Controls */ Gtk::Table controls_table; Glib::RefPtr controls_button_size_group;