diff options
author | David Robillard <d@drobilla.net> | 2015-01-13 23:53:28 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2015-01-13 23:53:28 -0500 |
commit | 59bb3fbe65d5afa1a57745bb1ea50d7ef97f5605 (patch) | |
tree | e1c2edf5997ecd9282723115e348c4f833a37553 /gtk2_ardour/automation_region_view.cc | |
parent | d39d4c1c118960fe482caab9a2c10ca06d1aafa6 (diff) |
Remove drag code from automation region view.
Let the editor handle it like (almost) everything else.
Diffstat (limited to 'gtk2_ardour/automation_region_view.cc')
-rw-r--r-- | gtk2_ardour/automation_region_view.cc | 28 |
1 files changed, 4 insertions, 24 deletions
diff --git a/gtk2_ardour/automation_region_view.cc b/gtk2_ardour/automation_region_view.cc index d30cceccb7..38a98aac72 100644 --- a/gtk2_ardour/automation_region_view.cc +++ b/gtk2_ardour/automation_region_view.cc @@ -132,30 +132,10 @@ AutomationRegionView::canvas_group_event (GdkEvent* ev) PublicEditor& e = trackview.editor (); - if (!trackview.editor().internal_editing()) { - // not in internal edit mode, so just act like a normal region - return RegionView::canvas_group_event (ev); - } - - if (ev->type == GDK_BUTTON_PRESS && e.current_mouse_mode() == Editing::MouseContent) { - - /* XXX: icky dcast to Editor */ - e.drags()->set (new EditorRubberbandSelectDrag (dynamic_cast<Editor*> (&e), group), ev); - e.drags()->start_grab (ev); - return true; - - } else if (ev->type == GDK_MOTION_NOTIFY && e.drags()->active()) { - /* we probably shouldn't have to handle this here, but... */ - e.drags()->motion_handler(ev, false); - return true; - - } else if (ev->type == GDK_BUTTON_RELEASE && e.current_mouse_mode() == Editing::MouseDraw) { - if (e.drags()->end_grab (ev)) { - return true; - } else if (e.current_mouse_mode() != Editing::MouseDraw && - e.current_mouse_mode() != Editing::MouseContent) { - return RegionView::canvas_group_event (ev); - } + if (trackview.editor().internal_editing() && + ev->type == GDK_BUTTON_RELEASE && + e.current_mouse_mode() == Editing::MouseDraw && + !e.drags()->active()) { double x = ev->button.x; double y = ev->button.y; |