From c377794c35f2cb65891b1862cdf2c98e4ae8ac8d Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 9 Jun 2023 13:57:54 +0200 Subject: [PATCH] QmlJSEditor: Change way of writing settings for static analyzer Instead of writing out a binary blob use a string list when reading or writing the settings. The setting is introduced with QC11 the first time, so this should not harm too much - therefore no transition of old settings have been added. Change-Id: Ica4654f49b71478cb07434dff9d42fd9562be87b Reviewed-by: Christian Stenger Reviewed-by: Alessandro Portale --- .../qmljseditor/qmljseditingsettingspage.cpp | 45 ++++++++++++++----- 1 file changed, 33 insertions(+), 12 deletions(-) diff --git a/src/plugins/qmljseditor/qmljseditingsettingspage.cpp b/src/plugins/qmljseditor/qmljseditingsettingspage.cpp index bfb5a002cfa..c40000b09f1 100644 --- a/src/plugins/qmljseditor/qmljseditingsettingspage.cpp +++ b/src/plugins/qmljseditor/qmljseditingsettingspage.cpp @@ -67,6 +67,28 @@ void QmlJsEditingSettings::set() toSettings(Core::ICore::settings()); } +static QStringList intListToStringList(const QList &list) +{ + return Utils::transform(list, [](int v) { return QString::number(v); }); +} + +QList intListFromStringList(const QStringList &list) +{ + return Utils::transform >(list, [](const QString &v) { return v.toInt(); }); +} + +static QStringList defaultDisabledMessagesAsString() +{ + static const QStringList result = intListToStringList(defaultDisabledMessages()); + return result; +} + +static QStringList defaultDisabledNonQuickUiAsString() +{ + static const QStringList result = intListToStringList(defaultDisabledMessagesNonQuickUi()); + return result; +} + void QmlJsEditingSettings::fromSettings(QSettings *settings) { settings->beginGroup(QmlJSEditor::Constants::SETTINGS_CATEGORY_QML); @@ -84,14 +106,13 @@ void QmlJsEditingSettings::fromSettings(QSettings *settings) m_useCustomFormatCommand = settings->value(CUSTOM_COMMAND, QVariant(false)).toBool(); m_useCustomAnalyzer = settings->value(CUSTOM_ANALYZER, QVariant(false)).toBool(); - m_disabledMessages = Utils::transform( - settings->value(DISABLED_MESSAGES, - QVariant::fromValue(defaultDisabledMessages())).toList(), - [](const QVariant &v){ return v.toInt(); }); - m_disabledMessagesForNonQuickUi = Utils::transform( - settings->value(DISABLED_MESSAGES_NONQUICKUI, - QVariant::fromValue(defaultDisabledMessagesNonQuickUi())).toList(), - [](const QVariant &v) { return v.toInt(); }); + m_disabledMessages = Utils::toSet( + intListFromStringList(settings->value(DISABLED_MESSAGES, + defaultDisabledMessagesAsString()).toStringList())); + + m_disabledMessagesForNonQuickUi = Utils::toSet( + intListFromStringList(settings->value(DISABLED_MESSAGES_NONQUICKUI, + defaultDisabledNonQuickUiAsString()).toStringList())); settings->endGroup(); } @@ -122,12 +143,12 @@ void QmlJsEditingSettings::toSettings(QSettings *settings) const false); Utils::QtcSettings::setValueWithDefault(settings, DISABLED_MESSAGES, - Utils::sorted(Utils::toList(m_disabledMessages)), - defaultDisabledMessages()); + intListToStringList(Utils::sorted(Utils::toList(m_disabledMessages))), + defaultDisabledMessagesAsString()); Utils::QtcSettings::setValueWithDefault(settings, DISABLED_MESSAGES_NONQUICKUI, - Utils::sorted(Utils::toList(m_disabledMessagesForNonQuickUi)), - defaultDisabledMessagesNonQuickUi()); + intListToStringList(Utils::sorted(Utils::toList(m_disabledMessagesForNonQuickUi))), + defaultDisabledNonQuickUiAsString()); settings->endGroup(); QmllsSettingsManager::instance()->checkForChanges(); }