13
0

Make ArdourFader's scroll handler obey to Alignment increments

Currently, the scroll handler obeys to the page increment, but instead
of using the step increment for more precise scroll, it uses an
hardcoded one tenth of the page increment.

Use the step increment instead since it has been filled with sensible
values by ArdourFader's users.
This commit is contained in:
Julien "_FrnchFrgg_" RIVAUD 2017-09-24 21:20:20 +02:00
parent a982a7cc67
commit 564fcb2132

View File

@ -490,27 +490,27 @@ ArdourFader::on_button_release_event (GdkEventButton* ev)
bool
ArdourFader::on_scroll_event (GdkEventScroll* ev)
{
double scale;
double increment = 0;
bool ret = false;
if (ev->state & Keyboard::GainFineScaleModifier) {
if (ev->state & Keyboard::GainExtraFineScaleModifier) {
scale = 0.005;
increment = 0.05 * _adjustment.get_step_increment();
} else {
scale = 0.1;
increment = _adjustment.get_step_increment();
}
} else {
scale = 1.0;
increment = _adjustment.get_page_increment();
}
if (_orien == VERT) {
switch (ev->direction) {
case GDK_SCROLL_UP:
_adjustment.set_value (_adjustment.get_value() + (_adjustment.get_page_increment() * scale));
_adjustment.set_value (_adjustment.get_value() + increment);
ret = true;
break;
case GDK_SCROLL_DOWN:
_adjustment.set_value (_adjustment.get_value() - (_adjustment.get_page_increment() * scale));
_adjustment.set_value (_adjustment.get_value() - increment);
ret = true;
break;
default:
@ -526,11 +526,11 @@ ArdourFader::on_scroll_event (GdkEventScroll* ev)
switch (dir) {
case GDK_SCROLL_RIGHT:
_adjustment.set_value (_adjustment.get_value() + (_adjustment.get_page_increment() * scale));
_adjustment.set_value (_adjustment.get_value() + increment);
ret = true;
break;
case GDK_SCROLL_LEFT:
_adjustment.set_value (_adjustment.get_value() - (_adjustment.get_page_increment() * scale));
_adjustment.set_value (_adjustment.get_value() - increment);
ret = true;
break;
default: