qmlls: apply settings after the qt version change

Restart qmlls when the qt kit was changed for a project, as different qt
kits require different qmlls binaries and commandline.

Fixes: QTCREATORBUG-32044
Change-Id: Ia234c496ea9b18ef3c7077376b6c9f2253fe209c
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Sami Shalayel
2024-11-20 16:01:33 +01:00
parent 661ceb6433
commit 2b2ef52d80

View File

@@ -30,6 +30,8 @@
#include <extensionsystem/iplugin.h>
#include <languageclient/languageclientmanager.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/projecttree.h>
@@ -101,6 +103,12 @@ QmlJSEditorPluginPrivate::QmlJSEditorPluginPrivate()
// recompute messages when project data changes (files added or removed)
connect(modelManager, &QmlJS::ModelManagerInterface::projectInfoUpdated,
&m_qmlTaskManager, &QmlTaskManager::updateMessages);
// restart qmlls when project data changes (qt kit changed, for example)
connect(
modelManager,
&QmlJS::ModelManagerInterface::projectInfoUpdated,
LanguageClient::LanguageClientManager::instance(),
[]() { LanguageClient::LanguageClientManager::applySettings(qmllsSettings()); });
connect(modelManager,
&QmlJS::ModelManagerInterface::aboutToRemoveFiles,
&m_qmlTaskManager,