Fix/implement #6292, Shift + scroll wheel Scrolling in the ruler area
authorTim Mayberry <mojofunk@gmail.com>
Thu, 7 Jan 2016 06:33:51 +0000 (16:33 +1000)
committerTim Mayberry <mojofunk@gmail.com>
Thu, 21 Jan 2016 01:25:56 +0000 (11:25 +1000)
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

index 99abccdc46be00161ad40efe6b171a30c4ed6cc8..7dcfe37fe506501461deb48bd89337144c4b2520 100644 (file)
@@ -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;