13
0

improve the behaviour of Mixer_UI::move_stripable_into_view()

Don't change anything if the strip is visible; if we have to move to show it, try
to show the requested strip in the middle
This commit is contained in:
Paul Davis 2017-01-28 16:48:20 +01:00
parent c786328966
commit c98abcf293

View File

@ -1598,7 +1598,15 @@ Mixer_UI::move_stripable_into_view (boost::shared_ptr<ARDOUR::Stripable> s)
}
Adjustment* adj = scroller.get_hscrollbar()->get_adjustment();
scroller.get_hscrollbar()->set_value (max (adj->get_lower(), min (adj->get_upper(), x0 - 1.0)));
if ((x0 < adj->get_value()) || x0 >= (adj->get_value() + adj->get_page_size())) {
/* try to put left edge of strip in the middle */
double half_page = adj->get_page_size() / 2.0;
if (x0 >= half_page) {
x0 -= half_page;
}
adj->set_value (max (adj->get_lower(), min (adj->get_upper(), (double) x0)));
}
}
void