aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/designercore/rewritertransaction.cpp
diff options
context:
space:
mode:
authorThomas Hartmann <Thomas.Hartmann@theqtcompany.com>2016-06-21 16:09:59 +0200
committerThomas Hartmann <Thomas.Hartmann@theqtcompany.com>2016-06-22 16:17:38 +0000
commit9410a812b9ae045c69d9d015e814f43f8d12da02 (patch)
tree9ea21ab728453eee3f9cd6ea618925373344de49 /src/plugins/qmldesigner/designercore/rewritertransaction.cpp
parente31a389b0f1918424403abc8340d7dd7e1b215dd (diff)
QmlDesigner: Allow to disable semantic checks in transaction
The semantic checks are slow and sometimes we knoe that they are not required. Change-Id: I43cae131e4c5f47d2a61d34975913dd8cb6370fc Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Diffstat (limited to 'src/plugins/qmldesigner/designercore/rewritertransaction.cpp')
-rw-r--r--src/plugins/qmldesigner/designercore/rewritertransaction.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/qmldesigner/designercore/rewritertransaction.cpp b/src/plugins/qmldesigner/designercore/rewritertransaction.cpp
index bb1429eaec..ff3a07223d 100644
--- a/src/plugins/qmldesigner/designercore/rewritertransaction.cpp
+++ b/src/plugins/qmldesigner/designercore/rewritertransaction.cpp
@@ -72,12 +72,23 @@ bool RewriterTransaction::isValid() const
return m_valid;
}
+void RewriterTransaction::ignoreSemanticChecks()
+{
+ m_ignoreSemanticChecks = true;
+}
+
void RewriterTransaction::commit()
{
if (m_valid) {
m_valid = false;
+ bool oldSemanticChecks = view()->rewriterView()->checkSemanticErrors();
+ if (m_ignoreSemanticChecks)
+ view()->rewriterView()->setCheckSemanticErrors(false);
+
view()->emitRewriterEndTransaction();
+ view()->rewriterView()->setCheckSemanticErrors(oldSemanticChecks);
+
if (m_activeIdentifier) {
qDebug() << "Commit RewriterTransaction:" << m_identifier << m_identifierNumber;
bool success = m_identifierList.removeOne(m_identifier + QByteArrayLiteral("-") + QByteArray::number(m_identifierNumber));