implemented undos for effect fields that aren't keyframed

This commit is contained in:
itsmattkc
2018-09-20 21:34:36 +10:00
parent 4e57b1c26d
commit b1c3f44b04
15 changed files with 122 additions and 17 deletions
+16
View File
@@ -1302,3 +1302,19 @@ void KeyframeSet::redo() {
project_changed = true;
done = true;
}
EffectFieldUndo::EffectFieldUndo(EffectField* f) : field(f), done(true) {
old_val = field->get_previous_data();
new_val = field->get_current_data();
}
void EffectFieldUndo::undo() {
field->set_current_data(old_val);
done = false;
}
void EffectFieldUndo::redo() {
if (!done) {
field->set_current_data(new_val);
}
}