diff options
author | Colin Fletcher <colin.m.fletcher@googlemail.com> | 2013-06-21 20:44:40 +0100 |
---|---|---|
committer | Colin Fletcher <colin.m.fletcher@googlemail.com> | 2013-06-21 20:44:40 +0100 |
commit | 741f9de3f7dda286181419c33cfe361a4f75c775 (patch) | |
tree | 8286d8f7e322d7a4c1a0a5298e51c5bdc994399a /gtk2_ardour | |
parent | 21914c884eebbddbb38804a8d51a38323e6de726 (diff) |
Make scroll-wheel modifier keys consistent in editor summary pane.
Separate out the handling of left/right scroll events from normal up/down
ones in the editor summary pane scroll wheel handling, and use the new
constants for scroll wheel keyboard modifiers in conjunction with up/down
scroll events. Modifiers for left/right scroll events should be unaffected
by this.
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/editor_summary.cc | 78 |
1 files changed, 39 insertions, 39 deletions
diff --git a/gtk2_ardour/editor_summary.cc b/gtk2_ardour/editor_summary.cc index 4e148e2e7b..14110e1d4f 100644 --- a/gtk2_ardour/editor_summary.cc +++ b/gtk2_ardour/editor_summary.cc @@ -623,45 +623,45 @@ EditorSummary::on_scroll_event (GdkEventScroll* ev) double x = xr.first; double y = yr.first; - double amount = 8; - - if (Keyboard::modifier_state_contains (ev->state, Keyboard::SecondaryModifier)) { - amount = 64; - } else if (Keyboard::modifier_state_contains (ev->state, Keyboard::TertiaryModifier)) { - amount = 1; - } - - if (Keyboard::modifier_state_equals (ev->state, Keyboard::SecondaryModifier)) { - - /* secondary-wheel == left-right scrolling */ - - if (ev->direction == GDK_SCROLL_UP) { - x -= amount; - } else if (ev->direction == GDK_SCROLL_DOWN) { - x += amount; - } - - } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) { - - /* primary-wheel == zoom */ - - if (ev->direction == GDK_SCROLL_UP) { - _editor->temporal_zoom_step (false); - } else { - _editor->temporal_zoom_step (true); - } - - } else { - - if (ev->direction == GDK_SCROLL_DOWN) { - y += amount; - } else if (ev->direction == GDK_SCROLL_UP) { - y -= amount; - } else if (ev->direction == GDK_SCROLL_LEFT) { - x -= amount; - } else if (ev->direction == GDK_SCROLL_RIGHT) { - x += amount; - } + switch (ev->direction) { + case GDK_SCROLL_UP: + if (Keyboard::modifier_state_equals (ev->state, Keyboard::ScrollHorizontalModifier)) { + x -= 64; + } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::ScrollZoomHorizontalModifier)) { + _editor->temporal_zoom_step (false); + } else { + y -= 8; + } + break; + case GDK_SCROLL_DOWN: + if (Keyboard::modifier_state_equals (ev->state, Keyboard::ScrollHorizontalModifier)) { + x += 64; + } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::ScrollZoomHorizontalModifier)) { + _editor->temporal_zoom_step (true); + } else { + y += 8; + } + break; + case GDK_SCROLL_LEFT: + if (Keyboard::modifier_state_contains (ev->state, Keyboard::SecondaryModifier)) { + x -= 64; + } else if (Keyboard::modifier_state_contains (ev->state, Keyboard::TertiaryModifier)) { + x -= 1; + } else { + x -= 8; + } + break; + case GDK_SCROLL_RIGHT: + if (Keyboard::modifier_state_contains (ev->state, Keyboard::SecondaryModifier)) { + x += 64; + } else if (Keyboard::modifier_state_contains (ev->state, Keyboard::TertiaryModifier)) { + x += 1; + } else { + x += 8; + } + break; + default: + break; } set_editor (x, y); |