forked from qt-creator/qt-creator
qmlls: port old settings to new ones
Load the values from the BaseAspect settings (where they were previously stored before the introduction of QmllsClientSettings). if the new qmlls settings do no exist yet. Task-number: QTCREATORBUG-31897 Change-Id: I438f1489671ed1843d2390910f46730a270eac6b Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -233,7 +233,6 @@ void QmllsClientSettings::fromMap(const Store &map)
|
|||||||
m_generateQmllsIniFiles = map[generateQmllsIniFilesKey].toBool();
|
m_generateQmllsIniFiles = map[generateQmllsIniFilesKey].toBool();
|
||||||
m_ignoreMinimumQmllsVersion = map[ignoreMinimumQmllsVersionKey].toBool();
|
m_ignoreMinimumQmllsVersion = map[ignoreMinimumQmllsVersionKey].toBool();
|
||||||
m_useQmllsSemanticHighlighting = map[useQmllsSemanticHighlightingKey].toBool();
|
m_useQmllsSemanticHighlighting = map[useQmllsSemanticHighlightingKey].toBool();
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QmllsClientSettings::isEnabledOnProjectFile(const Utils::FilePath &file) const
|
bool QmllsClientSettings::isEnabledOnProjectFile(const Utils::FilePath &file) const
|
||||||
@@ -252,6 +251,34 @@ bool QmllsClientSettings::useQmllsWithBuiltinCodemodelOnProject(const Utils::Fil
|
|||||||
return isEnabledOnProject(project);
|
return isEnabledOnProject(project);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// first time initialization: port old settings from the QmlJsEditingSettings AspectContainer
|
||||||
|
static void portFromOldSettings(QmllsClientSettings* qmllsClientSettings)
|
||||||
|
{
|
||||||
|
QtcSettings *settings = BaseAspect::qtcSettings();
|
||||||
|
|
||||||
|
const Key baseKey = Key{QmlJSEditor::Constants::SETTINGS_CATEGORY_QML} + "/";
|
||||||
|
|
||||||
|
auto portSetting = [&settings](const Key &key, bool *output) {
|
||||||
|
if (settings->contains(key))
|
||||||
|
*output = settings->value(key).toBool();
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr char USE_QMLLS[] = "QmlJSEditor.UseQmlls";
|
||||||
|
constexpr char USE_LATEST_QMLLS[] = "QmlJSEditor.UseLatestQmlls";
|
||||||
|
constexpr char DISABLE_BUILTIN_CODEMODEL[] = "QmlJSEditor.DisableBuiltinCodemodel";
|
||||||
|
constexpr char GENERATE_QMLLS_INI_FILES[] = "QmlJSEditor.GenerateQmllsIniFiles";
|
||||||
|
constexpr char IGNORE_MINIMUM_QMLLS_VERSION[] = "QmlJSEditor.IgnoreMinimumQmllsVersion";
|
||||||
|
constexpr char USE_QMLLS_SEMANTIC_HIGHLIGHTING[]
|
||||||
|
= "QmlJSEditor.EnableQmllsSemanticHighlighting";
|
||||||
|
|
||||||
|
portSetting(baseKey + USE_QMLLS, &qmllsClientSettings->m_enabled);
|
||||||
|
portSetting(baseKey + USE_LATEST_QMLLS, &qmllsClientSettings->m_useLatestQmlls);
|
||||||
|
portSetting(baseKey + DISABLE_BUILTIN_CODEMODEL, &qmllsClientSettings->m_disableBuiltinCodemodel);
|
||||||
|
portSetting(baseKey + GENERATE_QMLLS_INI_FILES, &qmllsClientSettings->m_generateQmllsIniFiles);
|
||||||
|
portSetting(baseKey + IGNORE_MINIMUM_QMLLS_VERSION, &qmllsClientSettings->m_ignoreMinimumQmllsVersion);
|
||||||
|
portSetting(baseKey + USE_QMLLS_SEMANTIC_HIGHLIGHTING, &qmllsClientSettings->m_useQmllsSemanticHighlighting);
|
||||||
|
}
|
||||||
|
|
||||||
void setupQmllsClientSettings()
|
void setupQmllsClientSettings()
|
||||||
{
|
{
|
||||||
using namespace LanguageClient;
|
using namespace LanguageClient;
|
||||||
@@ -267,6 +294,8 @@ void setupQmllsClientSettings()
|
|||||||
|
|
||||||
if (!savedSettings.isEmpty())
|
if (!savedSettings.isEmpty())
|
||||||
clientSettings->fromMap(savedSettings.first());
|
clientSettings->fromMap(savedSettings.first());
|
||||||
|
else
|
||||||
|
portFromOldSettings(clientSettings);
|
||||||
|
|
||||||
LanguageClientManager::registerClientSettings(clientSettings);
|
LanguageClientManager::registerClientSettings(clientSettings);
|
||||||
LanguageClientSettings::registerClientType(type);
|
LanguageClientSettings::registerClientType(type);
|
||||||
|
Reference in New Issue
Block a user