r191@gandalf: fugalh | 2006-07-24 19:50:10 -0600

All the obvious MementoCommand grunt work. Now there's some
 add_undo/add_redo_no_execute sprinkled around where one is separated from the
 other (e.g. in different callbacks) or perhaps even where there's only an undo
 and no redo. Also some sigc-based undo/redo pairs that probably need their own
 Command class.


git-svn-id: svn://localhost/ardour2/branches/undo@692 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Hans Fugal 2006-07-25 01:50:20 +00:00
parent 55159005b9
commit b7bffbe7a2
16 changed files with 191 additions and 125 deletions

View file

@ -102,11 +102,12 @@ Editor::kbd_mute_unmute_region ()
{
if (entered_regionview) {
begin_reversible_command (_("mute region"));
session->add_undo (entered_regionview->region.playlist()->get_memento());
XMLNode &before = entered_regionview->region.playlist()->get_state();
entered_regionview->region.set_muted (!entered_regionview->region.muted());
session->add_redo_no_execute (entered_regionview->region.playlist()->get_memento());
XMLNode &after = entered_regionview->region.playlist()->get_state();
session->add_command (MementoCommand<Playlist>(entered_regionview->region.playlist(), before, after));
commit_reversible_command();
}
}