diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-06-30 09:17:03 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-06-30 09:17:03 -0400 |
commit | a9b336108198d7f18c0a532c5dac714a0a1515da (patch) | |
tree | ff2f0a801a467e4024d31c4d47153f612aaf2310 /gtk2_ardour/editor_mouse.cc | |
parent | 33339090c39ecd5f096bb6055af2dc8df65ae378 (diff) |
use Editor::effective_mouse_mode() inside Editor::button_selection(); clean up special-case of fade in/out handles and mouse mode
Diffstat (limited to 'gtk2_ardour/editor_mouse.cc')
-rw-r--r-- | gtk2_ardour/editor_mouse.cc | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index d0287328c5..25525336f4 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -490,7 +490,7 @@ Editor::button_selection (ArdourCanvas::Item* /*item*/, GdkEvent* event, ItemTyp to cut notes or regions. */ - MouseMode eff_mouse_mode = mouse_mode; + MouseMode eff_mouse_mode = effective_mouse_mode (); if (get_smart_mode() && eff_mouse_mode == MouseRange && event->button.button == 3 && item_type == RegionItem) { /* context clicks are always about object properties, even if @@ -499,6 +499,20 @@ Editor::button_selection (ArdourCanvas::Item* /*item*/, GdkEvent* event, ItemTyp eff_mouse_mode = MouseObject; } + /* special case: allow drag of region fade in/out in object mode with join object/range enabled */ + if (get_smart_mode()) { + switch (item_type) { + case FadeInHandleItem: + case FadeInTrimHandleItem: + case FadeOutHandleItem: + case FadeOutTrimHandleItem: + eff_mouse_mode = MouseObject; + break; + default: + break; + } + } + if (((mouse_mode != MouseObject) && (mouse_mode != MouseAudition || item_type != RegionItem) && (mouse_mode != MouseTimeFX || item_type != RegionItem) && @@ -567,7 +581,6 @@ Editor::button_selection (ArdourCanvas::Item* /*item*/, GdkEvent* event, ItemTyp case StartCrossFadeItem: case EndCrossFadeItem: if (eff_mouse_mode != MouseRange) { - cerr << "Should be setting selected regionview\n"; set_selected_regionview_from_click (press, op); } else if (event->type == GDK_BUTTON_PRESS) { set_selected_track_as_side_effect (op); @@ -717,8 +730,17 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT Editing::MouseMode eff = effective_mouse_mode (); /* special case: allow drag of region fade in/out in object mode with join object/range enabled */ - if (item_type == FadeInHandleItem || item_type == FadeOutHandleItem) { - eff = MouseObject; + if (get_smart_mode()) { + switch (item_type) { + case FadeInHandleItem: + case FadeInTrimHandleItem: + case FadeOutHandleItem: + case FadeOutTrimHandleItem: + eff = MouseObject; + break; + default: + break; + } } /* there is no Range mode when in internal edit mode */ |