use Editor::effective_mouse_mode() inside Editor::button_selection(); clean up special-case of fade in/out handles and mouse mode
This commit is contained in:
parent
33339090c3
commit
a9b3361081
@ -490,7 +490,7 @@ Editor::button_selection (ArdourCanvas::Item* /*item*/, GdkEvent* event, ItemTyp
|
|||||||
to cut notes or regions.
|
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) {
|
if (get_smart_mode() && eff_mouse_mode == MouseRange && event->button.button == 3 && item_type == RegionItem) {
|
||||||
/* context clicks are always about object properties, even if
|
/* 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;
|
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) &&
|
if (((mouse_mode != MouseObject) &&
|
||||||
(mouse_mode != MouseAudition || item_type != RegionItem) &&
|
(mouse_mode != MouseAudition || item_type != RegionItem) &&
|
||||||
(mouse_mode != MouseTimeFX || 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 StartCrossFadeItem:
|
||||||
case EndCrossFadeItem:
|
case EndCrossFadeItem:
|
||||||
if (eff_mouse_mode != MouseRange) {
|
if (eff_mouse_mode != MouseRange) {
|
||||||
cerr << "Should be setting selected regionview\n";
|
|
||||||
set_selected_regionview_from_click (press, op);
|
set_selected_regionview_from_click (press, op);
|
||||||
} else if (event->type == GDK_BUTTON_PRESS) {
|
} else if (event->type == GDK_BUTTON_PRESS) {
|
||||||
set_selected_track_as_side_effect (op);
|
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 ();
|
Editing::MouseMode eff = effective_mouse_mode ();
|
||||||
|
|
||||||
/* special case: allow drag of region fade in/out in object mode with join object/range enabled */
|
/* special case: allow drag of region fade in/out in object mode with join object/range enabled */
|
||||||
if (item_type == FadeInHandleItem || item_type == FadeOutHandleItem) {
|
if (get_smart_mode()) {
|
||||||
eff = MouseObject;
|
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 */
|
/* there is no Range mode when in internal edit mode */
|
||||||
|
Loading…
Reference in New Issue
Block a user