Fix missing selection undo for track header click and route list select.

This commit is contained in:
nick_m 2015-01-13 21:41:30 +11:00
parent 877492ef8a
commit 7a3662bc14
2 changed files with 13 additions and 0 deletions

View file

@ -1325,6 +1325,8 @@ EditorRoutes::button_press (GdkEventButton* ev)
void void
EditorRoutes::selection_changed () EditorRoutes::selection_changed ()
{ {
_editor->begin_reversible_selection_op (X_("Select Track from Route List"));
if (_display.get_selection()->count_selected_rows() > 0) { if (_display.get_selection()->count_selected_rows() > 0) {
TreeIter iter; TreeIter iter;
@ -1349,6 +1351,8 @@ EditorRoutes::selection_changed ()
} else { } else {
_editor->get_selection().clear_tracks (); _editor->get_selection().clear_tracks ();
} }
_editor->commit_reversible_selection_op ();
} }
bool bool

View file

@ -1294,15 +1294,22 @@ RouteTimeAxisView::selection_click (GdkEventButton* ev)
if (Keyboard::modifier_state_equals (ev->state, (Keyboard::TertiaryModifier|Keyboard::PrimaryModifier))) { if (Keyboard::modifier_state_equals (ev->state, (Keyboard::TertiaryModifier|Keyboard::PrimaryModifier))) {
/* special case: select/deselect all tracks */ /* special case: select/deselect all tracks */
_editor.begin_reversible_selection_op (X_("Selection Click"));
if (_editor.get_selection().selected (this)) { if (_editor.get_selection().selected (this)) {
_editor.get_selection().clear_tracks (); _editor.get_selection().clear_tracks ();
} else { } else {
_editor.select_all_tracks (); _editor.select_all_tracks ();
} }
_editor.commit_reversible_selection_op ();
return; return;
} }
_editor.begin_reversible_selection_op (X_("Selection Click"));
switch (ArdourKeyboard::selection_type (ev->state)) { switch (ArdourKeyboard::selection_type (ev->state)) {
case Selection::Toggle: case Selection::Toggle:
_editor.get_selection().toggle (this); _editor.get_selection().toggle (this);
@ -1320,6 +1327,8 @@ RouteTimeAxisView::selection_click (GdkEventButton* ev)
_editor.get_selection().add (this); _editor.get_selection().add (this);
break; break;
} }
_editor.commit_reversible_selection_op ();
} }
void void