McuSupport: Do not regularly restet code mode in QDS context

Resetting the code model on a regular base has quite a
negative performance impact and also generates unexpected
code paths and updates.

Change-Id: I5a62166d714beb6cc6c9a64333abf093a5a87ac6
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
This commit is contained in:
Thomas Hartmann
2023-09-15 13:23:00 +02:00
parent f3036d52e5
commit 5ca59da1af

View File

@@ -114,6 +114,13 @@ McuSupportPlugin::~McuSupportPlugin()
dd = nullptr;
}
static bool isQtDesignStudio()
{
QSettings *settings = Core::ICore::settings();
const QString qdsStandaloneEntry = "QML/Designer/StandAloneMode";
return settings->value(qdsStandaloneEntry, false).toBool();
}
void McuSupportPlugin::initialize()
{
setObjectName("McuSupportPlugin");
@@ -125,7 +132,10 @@ void McuSupportPlugin::initialize()
// Temporary fix for CodeModel/Checker race condition
// Remove after https://bugreports.qt.io/browse/QTCREATORBUG-29269 is closed
connect(QmlJS::ModelManagerInterface::instance(),
if (!isQtDesignStudio()) {
connect(
QmlJS::ModelManagerInterface::instance(),
&QmlJS::ModelManagerInterface::documentUpdated,
[lasttime = QTime::currentTime()](QmlJS::Document::Ptr doc) mutable {
// Prevent inifinite recall loop
@@ -157,6 +167,7 @@ void McuSupportPlugin::initialize()
->action()
->trigger();
});
}
dd->m_options.registerQchFiles();
dd->m_options.registerExamples();