aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/designercore/rewritertransaction.cpp
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@digia.com>2013-06-06 16:37:07 +0200
committerMarco Bubke <marco.bubke@digia.com>2013-06-06 16:47:38 +0200
commit8d437dd402acd39cc5c66916a25e46682160b596 (patch)
treec33e9316406ff1557d4df027ef397ec5d47fbf7f /src/plugins/qmldesigner/designercore/rewritertransaction.cpp
parent4ac938061868a20bca3c970c83cde5b9da8dd267 (diff)
QmlDesigner: Add rollback function to the RewriterTransaction class
Change-Id: I04874043eb04bd3f2cbf330186bb2105ed7ac82b Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Diffstat (limited to 'src/plugins/qmldesigner/designercore/rewritertransaction.cpp')
-rw-r--r--src/plugins/qmldesigner/designercore/rewritertransaction.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/plugins/qmldesigner/designercore/rewritertransaction.cpp b/src/plugins/qmldesigner/designercore/rewritertransaction.cpp
index 40c8948ee5..91d8e0e223 100644
--- a/src/plugins/qmldesigner/designercore/rewritertransaction.cpp
+++ b/src/plugins/qmldesigner/designercore/rewritertransaction.cpp
@@ -29,6 +29,8 @@
#include "rewritertransaction.h"
#include <abstractview.h>
+#include <designdocument.h>
+#include <qmldesignerplugin.h>
namespace QmlDesigner {
@@ -61,6 +63,16 @@ void RewriterTransaction::commit()
}
}
+void RewriterTransaction::rollback()
+{
+ // TODO: should be implemented with a function in the rewriter
+ if (m_valid) {
+ m_valid = false;
+ view()->emitRewriterEndTransaction();
+ QmlDesignerPlugin::instance()->currentDesignDocument()->undo();
+ }
+}
+
AbstractView *RewriterTransaction::view()
{
return m_view.data();