reimplemented dragging all field types

This commit is contained in:
itsmattkc
2019-03-13 22:34:26 +11:00
parent 06ed5ea05d
commit 933cbb0304
28 changed files with 265 additions and 178 deletions
+26 -16
View File
@@ -607,22 +607,6 @@ void KeyframeDelete::doRedo() {
field->keyframes.removeAt(index);
}
/*
EffectFieldUndo::EffectFieldUndo(EffectField* f, const QVariant& old_data, const QVariant new_data) :
field(f),
old_val(old_data),
new_val(new_data)
{}
void EffectFieldUndo::doUndo() {
field->SetCurrentValue(old_val);
}
void EffectFieldUndo::doRedo() {
field->SetCurrentValue(new_val);
}
*/
SetClipProperty::SetClipProperty(SetClipPropertyType type) : type_(type)
{}
@@ -1169,3 +1153,29 @@ void OliveAction::redo() {
}
}
KeyframeDataChange::KeyframeDataChange(EffectField *field) :
field_(field),
done_(true)
{
old_keys_ = field_->keyframes;
}
void KeyframeDataChange::SetNewKeyframes()
{
new_keys_ = field_->keyframes;
}
void KeyframeDataChange::doUndo()
{
field_->keyframes = old_keys_;
done_ = false;
}
void KeyframeDataChange::doRedo()
{
if (!done_) {
field_->keyframes = new_keys_;
done_ = true;
}
}