mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-06 06:44:57 +01:00
fix meter bridge window size issues
* no more OSX liveloop (window size < min size) * properly set min window size * re-layout metric areas when label height changes * remove ‘smart’ auto-resize (when tracks are added/removed) (it wasn’t smart enough to work on all WMs)
This commit is contained in:
parent
a4f7c21ec3
commit
0a4038f1df
2 changed files with 42 additions and 26 deletions
|
|
@ -536,13 +536,40 @@ MeterStrip::on_size_allocate (Gtk::Allocation& a)
|
|||
// 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()
|
||||
}
|
||||
|
||||
int prev_height, ignored;
|
||||
bool need_relayout = false;
|
||||
|
||||
namebx.get_size_request(ignored, prev_height);
|
||||
namebx.set_size_request(18, nh + tnh);
|
||||
namenumberbx.set_size_request(18, nh + tnh);
|
||||
if (_route) {
|
||||
name_label.set_size_request(18, nh + (_route->is_master() ? tnh : -1));
|
||||
name_label.set_layout_ellisize_width ((nh - 4 + (_route->is_master() ? tnh : 0)) * PANGO_SCALE);
|
||||
|
||||
if (prev_height != nh + tnh) {
|
||||
need_relayout = true;
|
||||
}
|
||||
|
||||
namenumberbx.get_size_request(ignored, prev_height);
|
||||
namenumberbx.set_size_request(18, nh + tnh);
|
||||
|
||||
if (prev_height != nh + tnh) {
|
||||
need_relayout = true;
|
||||
}
|
||||
|
||||
if (_route) {
|
||||
int nlh = nh + (_route->is_master() ? tnh : -1);
|
||||
name_label.get_size_request(ignored, prev_height);
|
||||
name_label.set_size_request(18, nlh);
|
||||
name_label.set_layout_ellisize_width ((nh - 4 + (_route->is_master() ? tnh : 0)) * PANGO_SCALE);
|
||||
if (prev_height != nlh) {
|
||||
need_relayout = true;
|
||||
}
|
||||
}
|
||||
|
||||
VBox::on_size_allocate(a);
|
||||
|
||||
if (need_relayout) {
|
||||
queue_resize();
|
||||
MetricChanged(); // force re-layout, parent on_scroll(), queue_resize()
|
||||
}
|
||||
}
|
||||
|
||||
gint
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue