Update UndoStackScriptingInterface to not call redo automatically

This commit is contained in:
Ryan Huffman 2014-10-28 13:43:22 -07:00
parent af103b22ff
commit cce1e23eec
2 changed files with 7 additions and 2 deletions

View file

@ -30,6 +30,7 @@ void UndoStackScriptingInterface::pushCommand(QScriptValue undoFunction, QScript
ScriptUndoCommand::ScriptUndoCommand(QScriptValue undoFunction, QScriptValue undoData,
QScriptValue redoFunction, QScriptValue redoData) :
_hasRedone(false),
_undoFunction(undoFunction),
_undoData(undoData),
_redoFunction(redoFunction),
@ -41,7 +42,11 @@ void ScriptUndoCommand::undo() {
}
void ScriptUndoCommand::redo() {
QMetaObject::invokeMethod(this, "doRedo");
if (_hasRedone) {
qDebug() << "Doing redo!";
QMetaObject::invokeMethod(this, "doRedo");
}
_hasRedone = true;
}
void ScriptUndoCommand::doUndo() {
@ -50,7 +55,6 @@ void ScriptUndoCommand::doUndo() {
_undoFunction.call(QScriptValue(), args);
}
void ScriptUndoCommand::doRedo() {
QScriptValueList args;
args << _redoData;

View file

@ -43,6 +43,7 @@ public slots:
void doRedo();
private:
bool _hasRedone;
QScriptValue _undoFunction;
QScriptValue _undoData;
QScriptValue _redoFunction;