global: made every user action set a project "modified" state that will prevent

the main window from closing instantly
This commit is contained in:
itsmattkc
2020-03-03 14:33:45 +11:00
parent 0f5cd40c45
commit baf3fbde05
25 changed files with 377 additions and 238 deletions
+7 -7
View File
@@ -1,25 +1,25 @@
#include "keyframeviewundo.h"
KeyframeSetTypeCommand::KeyframeSetTypeCommand(NodeKeyframePtr key, NodeKeyframe::Type type, QUndoCommand *parent) :
QUndoCommand(parent),
UndoCommand(parent),
key_(key),
old_type_(key->type()),
new_type_(type)
{
}
void KeyframeSetTypeCommand::redo()
void KeyframeSetTypeCommand::redo_internal()
{
key_->set_type(new_type_);
}
void KeyframeSetTypeCommand::undo()
void KeyframeSetTypeCommand::undo_internal()
{
key_->set_type(old_type_);
}
KeyframeSetBezierControlPoint::KeyframeSetBezierControlPoint(NodeKeyframePtr key, NodeKeyframe::BezierType mode, const QPointF& point, QUndoCommand *parent) :
QUndoCommand(parent),
UndoCommand(parent),
key_(key),
mode_(mode),
old_point_(key->bezier_control(mode_)),
@@ -28,7 +28,7 @@ KeyframeSetBezierControlPoint::KeyframeSetBezierControlPoint(NodeKeyframePtr key
}
KeyframeSetBezierControlPoint::KeyframeSetBezierControlPoint(NodeKeyframePtr key, NodeKeyframe::BezierType mode, const QPointF &new_point, const QPointF &old_point, QUndoCommand *parent) :
QUndoCommand(parent),
UndoCommand(parent),
key_(key),
mode_(mode),
old_point_(old_point),
@@ -36,12 +36,12 @@ KeyframeSetBezierControlPoint::KeyframeSetBezierControlPoint(NodeKeyframePtr key
{
}
void KeyframeSetBezierControlPoint::redo()
void KeyframeSetBezierControlPoint::redo_internal()
{
key_->set_bezier_control(mode_, new_point_);
}
void KeyframeSetBezierControlPoint::undo()
void KeyframeSetBezierControlPoint::undo_internal()
{
key_->set_bezier_control(mode_, old_point_);
}
+9 -8
View File
@@ -1,16 +1,16 @@
#ifndef KEYFRAMEVIEWUNDO_H
#define KEYFRAMEVIEWUNDO_H
#include <QUndoCommand>
#include "node/keyframe.h"
#include "undo/undocommand.h"
class KeyframeSetTypeCommand : public QUndoCommand {
class KeyframeSetTypeCommand : public UndoCommand {
public:
KeyframeSetTypeCommand(NodeKeyframePtr key, NodeKeyframe::Type type, QUndoCommand* parent = nullptr);
virtual void redo() override;
virtual void undo() override;
protected:
virtual void redo_internal() override;
virtual void undo_internal() override;
private:
NodeKeyframePtr key_;
@@ -21,13 +21,14 @@ private:
};
class KeyframeSetBezierControlPoint : public QUndoCommand {
class KeyframeSetBezierControlPoint : public UndoCommand {
public:
KeyframeSetBezierControlPoint(NodeKeyframePtr key, NodeKeyframe::BezierType mode, const QPointF& point, QUndoCommand* parent = nullptr);
KeyframeSetBezierControlPoint(NodeKeyframePtr key, NodeKeyframe::BezierType mode, const QPointF& new_point, const QPointF& old_point, QUndoCommand* parent = nullptr);
virtual void redo() override;
virtual void undo() override;
protected:
virtual void redo_internal() override;
virtual void undo_internal() override;
private:
NodeKeyframePtr key_;