summaryrefslogtreecommitdiff
path: root/libs/widgets
diff options
context:
space:
mode:
authorJulien "_FrnchFrgg_" RIVAUD <frnchfrgg@free.fr>2017-09-24 21:37:19 +0200
committerJulien "_FrnchFrgg_" RIVAUD <frnchfrgg@free.fr>2017-09-24 22:58:59 +0200
commit74c986534bfc29aad7142fcfd0c6ae3dab086112 (patch)
tree4a481534eaa5def21da09f11d3a90efb87ec6086 /libs/widgets
parent564fcb2132062c494ef92f35bd8d62268741a5de (diff)
Simplify the logic of on_scroll_event
Diffstat (limited to 'libs/widgets')
-rw-r--r--libs/widgets/ardour_fader.cc61
1 files changed, 26 insertions, 35 deletions
diff --git a/libs/widgets/ardour_fader.cc b/libs/widgets/ardour_fader.cc
index 76478ffeae..f400724241 100644
--- a/libs/widgets/ardour_fader.cc
+++ b/libs/widgets/ardour_fader.cc
@@ -491,8 +491,6 @@ bool
ArdourFader::on_scroll_event (GdkEventScroll* ev)
{
double increment = 0;
- bool ret = false;
-
if (ev->state & Keyboard::GainFineScaleModifier) {
if (ev->state & Keyboard::GainExtraFineScaleModifier) {
increment = 0.05 * _adjustment.get_step_increment();
@@ -503,41 +501,34 @@ ArdourFader::on_scroll_event (GdkEventScroll* ev)
increment = _adjustment.get_page_increment();
}
- if (_orien == VERT) {
- switch (ev->direction) {
- case GDK_SCROLL_UP:
- _adjustment.set_value (_adjustment.get_value() + increment);
- ret = true;
- break;
- case GDK_SCROLL_DOWN:
- _adjustment.set_value (_adjustment.get_value() - increment);
- ret = true;
- break;
- default:
- break;
- }
- } else {
- int dir = ev->direction;
-
- if (ev->state & Keyboard::ScrollHorizontalModifier || !(_tweaks & NoVerticalScroll)) {
- if (ev->direction == GDK_SCROLL_UP) dir = GDK_SCROLL_RIGHT;
- if (ev->direction == GDK_SCROLL_DOWN) dir = GDK_SCROLL_LEFT;
- }
+ bool vertical = false;
+ switch (ev->direction) {
+ case GDK_SCROLL_UP:
+ case GDK_SCROLL_DOWN:
+ vertical = !(ev->state & Keyboard::ScrollHorizontalModifier);
+ break;
+ default:
+ break;
+ }
+ if ((_orien == VERT && !vertical) ||
+ ((_tweaks & NoVerticalScroll) && vertical)) {
+ return false;
+ }
- switch (dir) {
- case GDK_SCROLL_RIGHT:
- _adjustment.set_value (_adjustment.get_value() + increment);
- ret = true;
- break;
- case GDK_SCROLL_LEFT:
- _adjustment.set_value (_adjustment.get_value() - increment);
- ret = true;
- break;
- default:
- break;
- }
+ switch (ev->direction) {
+ case GDK_SCROLL_UP:
+ case GDK_SCROLL_RIGHT:
+ _adjustment.set_value (_adjustment.get_value() + increment);
+ break;
+ case GDK_SCROLL_DOWN:
+ case GDK_SCROLL_LEFT:
+ _adjustment.set_value (_adjustment.get_value() - increment);
+ break;
+ default:
+ return false;
}
- return ret;
+
+ return true;
}
bool