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:
parent
a982a7cc67
commit
564fcb2132
@ -490,27 +490,27 @@ ArdourFader::on_button_release_event (GdkEventButton* ev)
|
|||||||
bool
|
bool
|
||||||
ArdourFader::on_scroll_event (GdkEventScroll* ev)
|
ArdourFader::on_scroll_event (GdkEventScroll* ev)
|
||||||
{
|
{
|
||||||
double scale;
|
double increment = 0;
|
||||||
bool ret = false;
|
bool ret = false;
|
||||||
|
|
||||||
if (ev->state & Keyboard::GainFineScaleModifier) {
|
if (ev->state & Keyboard::GainFineScaleModifier) {
|
||||||
if (ev->state & Keyboard::GainExtraFineScaleModifier) {
|
if (ev->state & Keyboard::GainExtraFineScaleModifier) {
|
||||||
scale = 0.005;
|
increment = 0.05 * _adjustment.get_step_increment();
|
||||||
} else {
|
} else {
|
||||||
scale = 0.1;
|
increment = _adjustment.get_step_increment();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
scale = 1.0;
|
increment = _adjustment.get_page_increment();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_orien == VERT) {
|
if (_orien == VERT) {
|
||||||
switch (ev->direction) {
|
switch (ev->direction) {
|
||||||
case GDK_SCROLL_UP:
|
case GDK_SCROLL_UP:
|
||||||
_adjustment.set_value (_adjustment.get_value() + (_adjustment.get_page_increment() * scale));
|
_adjustment.set_value (_adjustment.get_value() + increment);
|
||||||
ret = true;
|
ret = true;
|
||||||
break;
|
break;
|
||||||
case GDK_SCROLL_DOWN:
|
case GDK_SCROLL_DOWN:
|
||||||
_adjustment.set_value (_adjustment.get_value() - (_adjustment.get_page_increment() * scale));
|
_adjustment.set_value (_adjustment.get_value() - increment);
|
||||||
ret = true;
|
ret = true;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -526,11 +526,11 @@ ArdourFader::on_scroll_event (GdkEventScroll* ev)
|
|||||||
|
|
||||||
switch (dir) {
|
switch (dir) {
|
||||||
case GDK_SCROLL_RIGHT:
|
case GDK_SCROLL_RIGHT:
|
||||||
_adjustment.set_value (_adjustment.get_value() + (_adjustment.get_page_increment() * scale));
|
_adjustment.set_value (_adjustment.get_value() + increment);
|
||||||
ret = true;
|
ret = true;
|
||||||
break;
|
break;
|
||||||
case GDK_SCROLL_LEFT:
|
case GDK_SCROLL_LEFT:
|
||||||
_adjustment.set_value (_adjustment.get_value() - (_adjustment.get_page_increment() * scale));
|
_adjustment.set_value (_adjustment.get_value() - increment);
|
||||||
ret = true;
|
ret = true;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
Loading…
Reference in New Issue
Block a user