diff --git a/src/plugins/qmldesigner/designercore/include/externaldependenciesinterface.h b/src/plugins/qmldesigner/designercore/include/externaldependenciesinterface.h index 1a67704f824..2f2da219aac 100644 --- a/src/plugins/qmldesigner/designercore/include/externaldependenciesinterface.h +++ b/src/plugins/qmldesigner/designercore/include/externaldependenciesinterface.h @@ -37,6 +37,7 @@ public: virtual bool isQt6Import() const = 0; virtual bool hasStartupTarget() const = 0; virtual PuppetStartData puppetStartData(const class Model &model) const = 0; + virtual bool instantQmlTextUpdate() const = 0; }; } // namespace QmlDesigner diff --git a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp index 63ece33a4d3..3ed0ec01e7d 100644 --- a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp +++ b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp @@ -1084,7 +1084,7 @@ void RewriterView::qmlTextChanged() } case Amend: { - if (m_instantQmlTextUpdate) { + if (m_instantQmlTextUpdate || externalDependencies().instantQmlTextUpdate()) { amendQmlText(); } else { if (externalDependencies().viewManagerUsesRewriterView(this)) { diff --git a/src/plugins/qmldesigner/qmldesignerexternaldependencies.cpp b/src/plugins/qmldesigner/qmldesignerexternaldependencies.cpp index 636f6349be0..9538f61297d 100644 --- a/src/plugins/qmldesigner/qmldesignerexternaldependencies.cpp +++ b/src/plugins/qmldesigner/qmldesignerexternaldependencies.cpp @@ -231,4 +231,9 @@ PuppetStartData ExternalDependencies::puppetStartData(const Model &model) const return data; } +bool ExternalDependencies::instantQmlTextUpdate() const +{ + return false; +} + } // namespace QmlDesigner diff --git a/src/plugins/qmldesigner/qmldesignerexternaldependencies.h b/src/plugins/qmldesigner/qmldesignerexternaldependencies.h index 40c4f9d2f33..519c8033a25 100644 --- a/src/plugins/qmldesigner/qmldesignerexternaldependencies.h +++ b/src/plugins/qmldesigner/qmldesignerexternaldependencies.h @@ -34,6 +34,7 @@ public: bool isQt6Import() const override; bool hasStartupTarget() const override; PuppetStartData puppetStartData(const class Model &model) const override; + bool instantQmlTextUpdate() const override; private: const DesignerSettings &m_designerSettings; diff --git a/tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp b/tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp index 0b3d073662d..cc29b586524 100644 --- a/tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp +++ b/tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp @@ -158,6 +158,7 @@ public: bool isQt6Import() const override { return true; } bool hasStartupTarget() const override { return true; } PuppetStartData puppetStartData(const class Model &) const override { return {}; } + bool instantQmlTextUpdate() const override { return true; } public: QSettings qsettings;