summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_canvas_events.cc
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2016-01-07 16:33:51 +1000
committerTim Mayberry <mojofunk@gmail.com>2016-01-21 11:25:56 +1000
commit72bdfc38a8aabd5c1277825f84969d30adadb1af (patch)
tree5b2446b6d3e744336c4ca8578a4ee4064a95dbcc /gtk2_ardour/editor_canvas_events.cc
parent2a138919703d0d9266ea5246529323743ea8f4cd (diff)
Fix/implement #6292, Shift + scroll wheel Scrolling in the ruler area
Keep the same scrolling distance per event as when scroll left/right is used. Scrolling in the ruler area is different than the track canvas area which I'm not sure is a great idea as there is not much delineation between the two areas but as the ruler area has some other different behaviour it is probably acceptable/useful.
Diffstat (limited to 'gtk2_ardour/editor_canvas_events.cc')
-rw-r--r--gtk2_ardour/editor_canvas_events.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/gtk2_ardour/editor_canvas_events.cc b/gtk2_ardour/editor_canvas_events.cc
index 99abccdc46..7dcfe37fe5 100644
--- a/gtk2_ardour/editor_canvas_events.cc
+++ b/gtk2_ardour/editor_canvas_events.cc
@@ -1028,8 +1028,10 @@ Editor::canvas_ruler_event (GdkEvent *event, ArdourCanvas::Item* item, ItemType
switch (event->scroll.direction) {
case GDK_SCROLL_UP:
-
- if (Profile->get_mixbus()) {
+ if (Keyboard::modifier_state_equals(event->scroll.state,
+ Keyboard::ScrollHorizontalModifier)) {
+ scroll_left_half_page ();
+ } else if (Profile->get_mixbus()) {
//for mouse-wheel zoom, force zoom-focus to mouse
Editing::ZoomFocus temp_focus = zoom_focus;
zoom_focus = Editing::ZoomFocusMouse;
@@ -1042,7 +1044,10 @@ Editor::canvas_ruler_event (GdkEvent *event, ArdourCanvas::Item* item, ItemType
break;
case GDK_SCROLL_DOWN:
- if (Profile->get_mixbus()) {
+ if (Keyboard::modifier_state_equals(event->scroll.state,
+ Keyboard::ScrollHorizontalModifier)) {
+ scroll_right_half_page ();
+ } else if (Profile->get_mixbus()) {
//for mouse-wheel zoom, force zoom-focus to mouse
Editing::ZoomFocus temp_focus = zoom_focus;
zoom_focus = Editing::ZoomFocusMouse;