History

Update UndoStackScriptingInterface to not call redo automatically

Ryan Huffman committed 12 years ago

Commit cce1e231 parent af103b22 files · +7 −2Browse files

Showing the changes to libraries/script-engine/src/UndoStackScriptingInterface.cpp (1 of 2 files). Show all

Unified · Split

libraries/script-engine/src/UndoStackScriptingInterface.cpp+6−2
@@ -30,6 +30,7 @@ void UndoStackScriptingInterface::pushCommand(QScriptValue undoFunction, QScript · 29 unmodified lines
30 30
31ScriptUndoCommand::ScriptUndoCommand(QScriptValue undoFunction, QScriptValue undoData,31ScriptUndoCommand::ScriptUndoCommand(QScriptValue undoFunction, QScriptValue undoData,
32 QScriptValue redoFunction, QScriptValue redoData) :32 QScriptValue redoFunction, QScriptValue redoData) :
33 _hasRedone(false),
33 _undoFunction(undoFunction),34 _undoFunction(undoFunction),
34 _undoData(undoData),35 _undoData(undoData),
35 _redoFunction(redoFunction),36 _redoFunction(redoFunction),
@@ -41,7 +42,11 @@ void ScriptUndoCommand::undo() { · 5 unmodified lines
41}42}
42 43
43void ScriptUndoCommand::redo() {44void ScriptUndoCommand::redo() {
44 QMetaObject::invokeMethod(this, "doRedo");45 if (_hasRedone) {
46 qDebug() << "Doing redo!";
47 QMetaObject::invokeMethod(this, "doRedo");
48 }
49 _hasRedone = true;
45}50}
46 51
47void ScriptUndoCommand::doUndo() {52void ScriptUndoCommand::doUndo() {
@@ -50,7 +55,6 @@ void ScriptUndoCommand::doUndo() { · 2 unmodified lines
50 _undoFunction.call(QScriptValue(), args);55 _undoFunction.call(QScriptValue(), args);
51}56}
52 57
53
54void ScriptUndoCommand::doRedo() {58void ScriptUndoCommand::doRedo() {
55 QScriptValueList args;59 QScriptValueList args;
56 args << _redoData;60 args << _redoData;