use 2 digit width as minium for track number labels
authorRobin Gareus <robin@gareus.org>
Thu, 28 Aug 2014 20:36:53 +0000 (22:36 +0200)
committerRobin Gareus <robin@gareus.org>
Thu, 28 Aug 2014 20:38:59 +0000 (22:38 +0200)
gtk2_ardour/meter_strip.cc
gtk2_ardour/route_time_axis.cc

index 6c1b110356d8a8bda8a343793ffa91efe41540ab..e0a1972d9e800eca9486f57a5bf4be0cdc3bbd98 100644 (file)
@@ -532,7 +532,8 @@ MeterStrip::on_size_allocate (Gtk::Allocation& a)
        }
        int tnh = 0;
        if (_session && _session->config.get_track_name_number()) {
-               tnh = 4 + _session->track_number_decimals() * 8;
+               // NB numbers are rotated 90deg. on the meterbridge
+               tnh = 4 + std::max(2u, _session->track_number_decimals()) * 8; // TODO 8 = max_with_of_digit_0_to_9()
        }
        namebx.set_size_request(18, nh + tnh);
        namenumberbx.set_size_request(18, nh + tnh);
@@ -768,7 +769,9 @@ MeterStrip::name_changed () {
                        number_label.set_text (PBD::to_string (abs(_route->track_number ()), std::dec));
                        number_label.show();
                }
-               number_label.set_size_request(18, 4 + _session->track_number_decimals() * 8);
+               const int tnh = 4 + std::max(2u, _session->track_number_decimals()) * 8; // TODO 8 = max_width_of_digit_0_to_9()
+               // NB numbers are rotated 90deg. on the meterbridge -> use height
+               number_label.set_size_request(18, tnh);
        } else {
                number_label.hide();
        }
index 979ab6a0ef9624792f67f7e1a1c616ebead74bfd..11f2b463243d91bdea600ca8d454f40034e9e009 100644 (file)
@@ -372,7 +372,8 @@ RouteTimeAxisView::update_track_number_visibility ()
 //             controls_table.resize ( 2, 4 );
                name_hbox.pack_start(number_label, false, false, 2);
 //             controls_table.attach (number_label, 3, 4, 0, 1,  Gtk::SHRINK, Gtk::SHRINK, 0, 0);
-               number_label.set_size_request(3 + _session->track_number_decimals() * 8, -1);
+               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 ();
        } else {
 //             controls_table.resize ( 2, 3 );