aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/languageclient/languageclientsettings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/languageclient/languageclientsettings.cpp')
-rw-r--r--src/plugins/languageclient/languageclientsettings.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/plugins/languageclient/languageclientsettings.cpp b/src/plugins/languageclient/languageclientsettings.cpp
index 4e26641dd6..b994da6096 100644
--- a/src/plugins/languageclient/languageclientsettings.cpp
+++ b/src/plugins/languageclient/languageclientsettings.cpp
@@ -606,6 +606,27 @@ void LanguageClientSettings::init()
LanguageClientManager::applySettings();
}
+QList<Utils::Store> LanguageClientSettings::storesBySettingsType(Utils::Id settingsTypeId)
+{
+ QList<Utils::Store> result;
+
+ QtcSettings *settingsIn = Core::ICore::settings();
+ settingsIn->beginGroup(settingsGroupKey);
+
+ for (const QVariantList &varList :
+ {settingsIn->value(clientsKey).toList(), settingsIn->value(typedClientsKey).toList()}) {
+ for (const QVariant &var : varList) {
+ const Store store = storeFromVariant(var);
+ if (settingsTypeId == Id::fromSetting(store.value(typeIdKey)))
+ result << store;
+ }
+ }
+
+ settingsIn->endGroup();
+
+ return result;
+}
+
QList<BaseSettings *> LanguageClientSettings::fromSettings(QtcSettings *settingsIn)
{
settingsIn->beginGroup(settingsGroupKey);