diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2008-02-12 17:14:43 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2008-02-12 17:14:43 +0000 |
commit | 91c9fc2533ba0c3708d545c120ad5353be995aff (patch) | |
tree | 3d428fdeb08ac92ef76f5d3494ba60b4689f7909 /gtk2_ardour/editor_mouse.cc | |
parent | c241f36817b43e02baa4b164b603063d827e939f (diff) |
grabber edit point cursor improvements; do not allow align() to use entered regionview if there are selected regions
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3041 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_mouse.cc')
-rw-r--r-- | gtk2_ardour/editor_mouse.cc | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index e43b247fac..430195fc23 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -202,6 +202,19 @@ Editor::mouse_mode_toggled (MouseMode m) } } +Gdk::Cursor* +Editor::which_grabber_cursor () +{ + switch (_edit_point) { + case EditAtMouse: + return grabber_edit_point_cursor; + break; + default: + return grabber_cursor; + break; + } +} + void Editor::set_canvas_cursor () { @@ -211,14 +224,7 @@ Editor::set_canvas_cursor () break; case MouseObject: - switch (_edit_point) { - case EditAtMouse: - current_canvas_cursor = grabber_edit_point_cursor; - break; - default: - current_canvas_cursor = grabber_cursor; - break; - } + current_canvas_cursor = which_grabber_cursor(); break; case MouseGain: @@ -1276,7 +1282,14 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_ case PlayheadCursorItem: if (is_drawable()) { - track_canvas.get_window()->set_cursor (*grabber_cursor); + switch (_edit_point) { + case EditAtMouse: + track_canvas.get_window()->set_cursor (*grabber_edit_point_cursor); + break; + default: + track_canvas.get_window()->set_cursor (*grabber_cursor); + break; + } } break; @@ -1737,7 +1750,7 @@ Editor::start_grab (GdkEvent* event, Gdk::Cursor *cursor) } if (cursor == 0) { - cursor = grabber_cursor; + cursor = which_grabber_cursor (); } // if dragging with button2, the motion is x constrained, with Alt-button2 it is y constrained @@ -1800,7 +1813,7 @@ Editor::swap_grab (ArdourCanvas::Item* new_item, Gdk::Cursor* cursor, uint32_t t drag_info.item = new_item; if (cursor == 0) { - cursor = grabber_cursor; + cursor = which_grabber_cursor (); } drag_info.item->grab (Gdk::POINTER_MOTION_MASK|Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK, *cursor, time); |