diff options
author | Carl Hetherington <carl@carlh.net> | 2010-09-21 14:22:13 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2010-09-21 14:22:13 +0000 |
commit | 3aa1f2147531de91f6a59fde7ba9501620fd4dda (patch) | |
tree | f7cf8d12a149559c74f6a55dd6c64679e9591857 /gtk2_ardour/editor_drag.cc | |
parent | a017411dfab6d85fdbdcb9d4fd17a05f0ee2cc2a (diff) |
Updating zoom mouse cursor on modifier press. Fixes #274.
git-svn-id: svn://localhost/ardour2/branches/3.0@7820 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_drag.cc')
-rw-r--r-- | gtk2_ardour/editor_drag.cc | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index 0463061f19..61d137cb98 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -3561,6 +3561,7 @@ RangeMarkerBarDrag::update_item (Location* location) MouseZoomDrag::MouseZoomDrag (Editor* e, ArdourCanvas::Item* i) : Drag (e, i) + , _zoom_out (false) { DEBUG_TRACE (DEBUG::Drags, "New MouseZoomDrag\n"); } @@ -3568,7 +3569,14 @@ MouseZoomDrag::MouseZoomDrag (Editor* e, ArdourCanvas::Item* i) void MouseZoomDrag::start_grab (GdkEvent* event, Gdk::Cursor *) { - Drag::start_grab (event, _editor->zoom_cursor); + if (Keyboard::the_keyboard().key_is_down (GDK_Control_L)) { + Drag::start_grab (event, _editor->zoom_out_cursor); + _zoom_out = true; + } else { + Drag::start_grab (event, _editor->zoom_in_cursor); + _zoom_out = false; + } + _editor->show_verbose_time_cursor (adjusted_current_frame (event), 10); } @@ -3617,11 +3625,7 @@ MouseZoomDrag::finished (GdkEvent* event, bool movement_occurred) _editor->temporal_zoom_by_frame (last_pointer_frame(), grab_frame(), "mouse zoom"); } } else { - _editor->temporal_zoom_to_frame (false, grab_frame()); - /* - temporal_zoom_step (false); - center_screen (grab_frame()); - */ + _editor->temporal_zoom_to_frame (_zoom_out, grab_frame()); } _editor->zoom_rect->hide(); |