summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_mouse.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-02-12 17:14:43 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-02-12 17:14:43 +0000
commit91c9fc2533ba0c3708d545c120ad5353be995aff (patch)
tree3d428fdeb08ac92ef76f5d3494ba60b4689f7909 /gtk2_ardour/editor_mouse.cc
parentc241f36817b43e02baa4b164b603063d827e939f (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.cc35
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);