summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_mouse.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-12-21 21:39:36 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-12-21 21:39:36 +0000
commit4471f536435285d5d2e9f8dacfab51eff70bc061 (patch)
treee9645bb80c9f3b85ad5828afb3c4ab36171335cc /gtk2_ardour/editor_mouse.cc
parent92a2b8cb3fb1620b222162269b1e954a8bc32f48 (diff)
prevent cursor from changing when in smart+internal object mode
git-svn-id: svn://localhost/ardour2/branches/3.0@13704 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_mouse.cc')
-rw-r--r--gtk2_ardour/editor_mouse.cc34
1 files changed, 22 insertions, 12 deletions
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc
index 11a4504aaa..81767cdaa3 100644
--- a/gtk2_ardour/editor_mouse.cc
+++ b/gtk2_ardour/editor_mouse.cc
@@ -199,6 +199,10 @@ Editor::which_grabber_cursor ()
case MouseTimeFX:
c = _cursors->midi_resize;
break;
+
+ case MouseRange:
+ c = _cursors->grabber_note;
+ break;
default:
break;
@@ -250,6 +254,9 @@ Editor::set_canvas_cursor ()
switch (mouse_mode) {
case MouseRange:
current_canvas_cursor = _cursors->selector;
+ if (_internal_editing) {
+ current_canvas_cursor = which_grabber_cursor();
+ }
break;
case MouseObject:
@@ -281,19 +288,21 @@ Editor::set_canvas_cursor ()
break;
}
- switch (_join_object_range_state) {
- case JOIN_OBJECT_RANGE_NONE:
- break;
- case JOIN_OBJECT_RANGE_OBJECT:
- current_canvas_cursor = which_grabber_cursor ();
- break;
- case JOIN_OBJECT_RANGE_RANGE:
- current_canvas_cursor = _cursors->selector;
- break;
+ if (!_internal_editing) {
+ switch (_join_object_range_state) {
+ case JOIN_OBJECT_RANGE_NONE:
+ break;
+ case JOIN_OBJECT_RANGE_OBJECT:
+ current_canvas_cursor = which_grabber_cursor ();
+ break;
+ case JOIN_OBJECT_RANGE_RANGE:
+ current_canvas_cursor = _cursors->selector;
+ break;
+ }
}
/* up-down cursor as a cue that automation can be dragged up and down when in join object/range mode */
- if ( get_smart_mode() ) {
+ if (!_internal_editing && get_smart_mode() ) {
double x, y;
get_pointer_position (x, y);
ArdourCanvas::Item* i = track_canvas->get_item_at (x, y);
@@ -2252,11 +2261,12 @@ Editor::motion_handler (ArdourCanvas::Item* /*item*/, GdkEvent* event, bool from
JoinObjectRangeState const old = _join_object_range_state;
update_join_object_range_location (event->motion.x, event->motion.y);
- if (_join_object_range_state != old) {
+
+ if (!_internal_editing && _join_object_range_state != old) {
set_canvas_cursor ();
}
- if (_over_region_trim_target) {
+ if (!_internal_editing && _over_region_trim_target) {
set_canvas_cursor_for_region_view (event->motion.x, entered_regionview);
}