From 72bdfc38a8aabd5c1277825f84969d30adadb1af Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Thu, 7 Jan 2016 16:33:51 +1000 Subject: 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. --- gtk2_ardour/editor_canvas_events.cc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'gtk2_ardour/editor_canvas_events.cc') 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; -- cgit v1.2.3