LanguageClient: use less magic when changing settings

Change-Id: I8c5f5a85bff7cf0cf0545199358c306f7f9b539e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2021-01-22 13:57:15 +01:00
parent 785932f0f1
commit 71da9d340d
5 changed files with 79 additions and 58 deletions

View File

@@ -215,12 +215,10 @@ void LanguageClientManager::applySettings()
QTC_ASSERT(managerInstance, return);
qDeleteAll(managerInstance->m_currentSettings);
managerInstance->m_currentSettings
= Utils::transform(LanguageClientSettings::currentPageSettings(), &BaseSettings::copy);
= Utils::transform(LanguageClientSettings::pageSettings(), &BaseSettings::copy);
const QList<BaseSettings *> restarts = LanguageClientSettings::changedSettings();
LanguageClientSettings::toSettings(Core::ICore::settings(), managerInstance->m_currentSettings);
const QList<BaseSettings *> restarts = Utils::filtered(managerInstance->m_currentSettings,
&BaseSettings::needsRestart);
for (BaseSettings *setting : restarts) {
QList<TextEditor::TextDocument *> documents;
for (Client *client : clientForSetting(setting)) {
@@ -460,7 +458,8 @@ void LanguageClientManager::documentOpened(Core::IDocument *document)
return;
// check whether we have to start servers for this document
for (BaseSettings *setting : LanguageClientSettings::currentPageSettings()) {
const QList<BaseSettings *> settings = LanguageClientSettings::pageSettings();
for (BaseSettings *setting : settings) {
QVector<Client *> clients = clientForSetting(setting);
if (setting->isValid() && setting->m_enabled
&& setting->m_languageFilter.isSupported(document)) {