Select the control point about to be deleted when using shift + right click.

- fixes incorrect selection changes when doing this.
This commit is contained in:
nick_m 2015-10-05 02:56:56 +11:00
parent 070c67bdcc
commit be1396d066
3 changed files with 8 additions and 2 deletions

View File

@ -882,6 +882,7 @@ AutomationLine::remove_point (ControlPoint& cp)
trackview.editor().begin_reversible_command (_("remove control point"));
XMLNode &before = alist->get_state();
trackview.editor ().get_selection ().clear_points ();
alist->erase (cp.model());
trackview.editor().session()->add_command(

View File

@ -458,7 +458,7 @@ Editor::button_selection (ArdourCanvas::Item* item, GdkEvent* event, ItemType it
/* almost no selection action on modified button-2 or button-3 events */
if (item_type != RegionItem && event->button.button != 2) {
if ((item_type != RegionItem && event->button.button != 2) && !(item_type == ControlPointItem && event->button.button == 3)) {
return;
}
}
@ -519,7 +519,11 @@ Editor::button_selection (ArdourCanvas::Item* item, GdkEvent* event, ItemType it
/* for object/track exclusivity, we don't call set_selected_track_as_side_effect (op); */
if (eff_mouse_mode != MouseRange) {
_mouse_changed_selection |= set_selected_control_point_from_click (press, op);
if (event->button.button != 3) {
_mouse_changed_selection |= set_selected_control_point_from_click (press, op);
} else {
_mouse_changed_selection |= set_selected_control_point_from_click (press, Selection::Set);
}
}
break;

View File

@ -81,6 +81,7 @@ AudioRegionGainLine::remove_point (ControlPoint& cp)
trackview.session()->add_command(new StatefulDiffCommand (rv.audio_region()));
}
trackview.editor ().get_selection ().clear_points ();
alist->erase (cp.model());
trackview.editor().session()->add_command (new MementoCommand<AutomationList>(*alist.get(), &before, &alist->get_state()));