diff options
author | Eike Ziller <eike.ziller@qt.io> | 2021-01-20 17:39:04 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2021-01-22 09:37:12 +0000 |
commit | 8112a004329e1992df607e5d5e6a417ea4602a78 (patch) | |
tree | 9d91ee25ae047b6d4f7ab41dc6548c3c9b501a4c /src | |
parent | 8443fbe3d480c2cd6414e8daf18964623f34386f (diff) |
Cpp: Use new settings API
Avoid writing defaults to the settings.
Task-number: QTCREATORBUG-24430
Change-Id: I8e1d5a5b8ca21ef96a68a4d71a7d97d138bd186b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/cppeditor/cppincludehierarchy.cpp | 6 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppinsertvirtualmethods.cpp | 56 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppquickfixsettings.cpp | 211 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppquickfixsettings.h | 8 | ||||
-rw-r--r-- | src/plugins/cpptools/cppfilesettingspage.cpp | 64 | ||||
-rw-r--r-- | src/plugins/cpptools/cppfilesettingspage.h | 19 | ||||
-rw-r--r-- | src/plugins/cpptools/cpptoolsconstants.h | 2 | ||||
-rw-r--r-- | src/plugins/cpptools/cpptoolssettings.cpp | 25 | ||||
-rw-r--r-- | src/plugins/designer/cpp/formclasswizardpage.cpp | 2 | ||||
-rw-r--r-- | src/plugins/qmakeprojectmanager/wizards/qtwizard.cpp | 2 |
10 files changed, 241 insertions, 154 deletions
diff --git a/src/plugins/cppeditor/cppincludehierarchy.cpp b/src/plugins/cppeditor/cppincludehierarchy.cpp index f3a038c50de..2a9e9b7cfee 100644 --- a/src/plugins/cppeditor/cppincludehierarchy.cpp +++ b/src/plugins/cppeditor/cppincludehierarchy.cpp @@ -447,16 +447,18 @@ void CppIncludeHierarchyWidget::perform() showIncludeHierarchy(); } +const bool kSyncDefault = false; + void CppIncludeHierarchyWidget::saveSettings(QSettings *settings, int position) { const QString key = QString("IncludeHierarchy.%1.SyncWithEditor").arg(position); - settings->setValue(key, m_toggleSync->isChecked()); + QtcSettings::setValueWithDefault(settings, key, m_toggleSync->isChecked(), kSyncDefault); } void CppIncludeHierarchyWidget::restoreSettings(QSettings *settings, int position) { const QString key = QString("IncludeHierarchy.%1.SyncWithEditor").arg(position); - m_toggleSync->setChecked(settings->value(key).toBool()); + m_toggleSync->setChecked(settings->value(key, kSyncDefault).toBool()); } void CppIncludeHierarchyWidget::onItemActivated(const QModelIndex &index) diff --git a/src/plugins/cppeditor/cppinsertvirtualmethods.cpp b/src/plugins/cppeditor/cppinsertvirtualmethods.cpp index 49da4a8a772..7b2c36145c9 100644 --- a/src/plugins/cppeditor/cppinsertvirtualmethods.cpp +++ b/src/plugins/cppeditor/cppinsertvirtualmethods.cpp @@ -297,6 +297,13 @@ QStringList sortedAndTrimmedStringListWithoutEmptyElements(const QStringList &li namespace CppEditor { namespace Internal { +const bool kInsertVirtualKeywordDefault = false; +const bool kHideReimplementedFunctionsDefault = false; +const bool kInsertOVerrideReplacementDefault = false; +const int kOverrideReplacementIndexDefault = 0; +const InsertVirtualMethodsDialog::ImplementationMode kImplementationModeDefault + = InsertVirtualMethodsDialog::ModeOnlyDeclarations; + class VirtualMethodsSettings { public: @@ -304,37 +311,50 @@ public: { QSettings *s = Core::ICore::settings(); s->beginGroup(group()); - insertVirtualKeyword = s->value(insertVirtualKeywordKey(), false).toBool(); - hideReimplementedFunctions = s->value(hideReimplementedFunctionsKey(), false).toBool(); - insertOverrideReplacement = s->value(insertOverrideReplacementKey(), false).toBool(); - overrideReplacementIndex = s->value(overrideReplacementIndexKey(), 0).toInt(); + insertVirtualKeyword = s->value(insertVirtualKeywordKey(), kInsertVirtualKeywordDefault) + .toBool(); + hideReimplementedFunctions + = s->value(hideReimplementedFunctionsKey(), kHideReimplementedFunctionsDefault).toBool(); + insertOverrideReplacement + = s->value(insertOverrideReplacementKey(), kInsertOVerrideReplacementDefault).toBool(); + overrideReplacementIndex + = s->value(overrideReplacementIndexKey(), kOverrideReplacementIndexDefault).toInt(); userAddedOverrideReplacements = s->value(userAddedOverrideReplacementsKey()).toStringList(); implementationMode = static_cast<InsertVirtualMethodsDialog::ImplementationMode>( - s->value(implementationModeKey(), 1).toInt()); + s->value(implementationModeKey(), int(kImplementationModeDefault)).toInt()); s->endGroup(); } void write() const { - QSettings *s = Core::ICore::settings(); + Utils::QtcSettings *s = Core::ICore::settings(); s->beginGroup(group()); - s->setValue(insertVirtualKeywordKey(), insertVirtualKeyword); - s->setValue(hideReimplementedFunctionsKey(), hideReimplementedFunctions); - s->setValue(insertOverrideReplacementKey(), insertOverrideReplacement); - s->setValue(overrideReplacementIndexKey(), overrideReplacementIndex); - s->setValue(userAddedOverrideReplacementsKey(), userAddedOverrideReplacements); - s->setValue(implementationModeKey(), implementationMode); + s->setValueWithDefault(insertVirtualKeywordKey(), + insertVirtualKeyword, + kInsertVirtualKeywordDefault); + s->setValueWithDefault(hideReimplementedFunctionsKey(), + hideReimplementedFunctions, + kHideReimplementedFunctionsDefault); + s->setValueWithDefault(insertOverrideReplacementKey(), + insertOverrideReplacement, + kInsertOVerrideReplacementDefault); + s->setValueWithDefault(overrideReplacementIndexKey(), + overrideReplacementIndex, + kOverrideReplacementIndexDefault); + s->setValueWithDefault(userAddedOverrideReplacementsKey(), userAddedOverrideReplacements); + s->setValueWithDefault(implementationModeKey(), + int(implementationMode), + int(kImplementationModeDefault)); s->endGroup(); } QString overrideReplacement; // internal QStringList userAddedOverrideReplacements; - InsertVirtualMethodsDialog::ImplementationMode implementationMode = - InsertVirtualMethodsDialog::ModeOnlyDeclarations; - int overrideReplacementIndex = 0; - bool insertVirtualKeyword = false; - bool hideReimplementedFunctions = false; - bool insertOverrideReplacement = false; + InsertVirtualMethodsDialog::ImplementationMode implementationMode = kImplementationModeDefault; + int overrideReplacementIndex = kOverrideReplacementIndexDefault; + bool insertVirtualKeyword = kInsertVirtualKeywordDefault; + bool hideReimplementedFunctions = kHideReimplementedFunctionsDefault; + bool insertOverrideReplacement = kInsertOVerrideReplacementDefault; private: using _ = QLatin1String; diff --git a/src/plugins/cppeditor/cppquickfixsettings.cpp b/src/plugins/cppeditor/cppquickfixsettings.cpp index a2ec232097c..6d016d6e203 100644 --- a/src/plugins/cppeditor/cppquickfixsettings.cpp +++ b/src/plugins/cppeditor/cppquickfixsettings.cpp @@ -25,8 +25,11 @@ #include "cppquickfixsettings.h" #include "cppeditorconstants.h" + #include <coreplugin/icore.h> #include <cpptools/cppcodestylesettings.h> +#include <utils/qtcsettings.h> + #include <QRegularExpression> namespace CppEditor { @@ -54,81 +57,66 @@ void CppQuickFixSettings::loadGlobalSettings() void CppQuickFixSettings::loadSettingsFrom(QSettings *s) { - s->beginGroup(QLatin1String(Constants::QUICK_FIX_SETTINGS_ID)); - getterOutsideClassFrom = s->value(QLatin1String( - Constants::QUICK_FIX_SETTING_GETTER_OUTSIDE_CLASS_FROM), - getterOutsideClassFrom) + CppQuickFixSettings def; + s->beginGroup(Constants::QUICK_FIX_SETTINGS_ID); + getterOutsideClassFrom = s->value(Constants::QUICK_FIX_SETTING_GETTER_OUTSIDE_CLASS_FROM, + def.getterOutsideClassFrom) .toInt(); - getterInCppFileFrom = s->value(QLatin1String( - Constants::QUICK_FIX_SETTING_GETTER_IN_CPP_FILE_FROM), - getterInCppFileFrom) + getterInCppFileFrom = s->value(Constants::QUICK_FIX_SETTING_GETTER_IN_CPP_FILE_FROM, + def.getterInCppFileFrom) .toInt(); - setterOutsideClassFrom = s->value(QLatin1String( - Constants::QUICK_FIX_SETTING_SETTER_OUTSIDE_CLASS_FROM), - setterOutsideClassFrom) + setterOutsideClassFrom = s->value(Constants::QUICK_FIX_SETTING_SETTER_OUTSIDE_CLASS_FROM, + def.setterOutsideClassFrom) .toInt(); - setterInCppFileFrom = s->value(QLatin1String( - Constants::QUICK_FIX_SETTING_SETTER_IN_CPP_FILE_FROM), - setterInCppFileFrom) + setterInCppFileFrom = s->value(Constants::QUICK_FIX_SETTING_SETTER_IN_CPP_FILE_FROM, + def.setterInCppFileFrom) .toInt(); - getterAttributes = s->value(QLatin1String(Constants::QUICK_FIX_SETTING_GETTER_ATTRIBUTES), - getterAttributes) - .toString(); - getterNameTemplate = s->value(QLatin1String(Constants::QUICK_FIX_SETTING_GETTER_NAME_TEMPLATE), - getterNameTemplate) + getterAttributes + = s->value(Constants::QUICK_FIX_SETTING_GETTER_ATTRIBUTES, def.getterAttributes).toString(); + getterNameTemplate = s->value(Constants::QUICK_FIX_SETTING_GETTER_NAME_TEMPLATE, + def.getterNameTemplate) .toString(); - setterNameTemplate = s->value(QLatin1String(Constants::QUICK_FIX_SETTING_SETTER_NAME_TEMPLATE), - setterNameTemplate) + setterNameTemplate = s->value(Constants::QUICK_FIX_SETTING_SETTER_NAME_TEMPLATE, + def.setterNameTemplate) .toString(); - setterParameterNameTemplate = s->value(QLatin1String( - Constants::QUICK_FIX_SETTING_SETTER_PARAMETER_NAME), - setterParameterNameTemplate) + setterParameterNameTemplate = s->value(Constants::QUICK_FIX_SETTING_SETTER_PARAMETER_NAME, + def.setterParameterNameTemplate) .toString(); - resetNameTemplate = s->value(QLatin1String(Constants::QUICK_FIX_SETTING_RESET_NAME_TEMPLATE), - resetNameTemplate) + resetNameTemplate = s->value(Constants::QUICK_FIX_SETTING_RESET_NAME_TEMPLATE, + def.resetNameTemplate) .toString(); - signalNameTemplate = s->value(QLatin1String(Constants::QUICK_FIX_SETTING_SIGNAL_NAME_TEMPLATE), - signalNameTemplate) + signalNameTemplate = s->value(Constants::QUICK_FIX_SETTING_SIGNAL_NAME_TEMPLATE, + def.signalNameTemplate) .toString(); - signalWithNewValue = s->value(QLatin1String(Constants::QUICK_FIX_SETTING_SIGNAL_WITH_NEW_VALUE), - signalWithNewValue) + signalWithNewValue = s->value(Constants::QUICK_FIX_SETTING_SIGNAL_WITH_NEW_VALUE, + def.signalWithNewValue) .toBool(); - setterAsSlot = s->value(QLatin1String(Constants::QUICK_FIX_SETTING_SETTER_AS_SLOT), setterAsSlot) - .toBool(); + setterAsSlot = s->value(Constants::QUICK_FIX_SETTING_SETTER_AS_SLOT, def.setterAsSlot).toBool(); cppFileNamespaceHandling = static_cast<MissingNamespaceHandling>( - s->value(QLatin1String(Constants::QUICK_FIX_SETTING_CPP_FILE_NAMESPACE_HANDLING), - static_cast<int>(cppFileNamespaceHandling)) + s->value(Constants::QUICK_FIX_SETTING_CPP_FILE_NAMESPACE_HANDLING, + static_cast<int>(def.cppFileNamespaceHandling)) .toInt()); - memberVariableNameTemplate - = s->value(QLatin1String(Constants::QUICK_FIX_SETTING_MEMBER_VARIABEL_NAME_TEMPLATE), - memberVariableNameTemplate) - .toString(); - valueTypes = s->value(QLatin1String(Constants::QUICK_FIX_SETTING_VALUE_TYPES), valueTypes) - .toStringList(); - int size = s->beginReadArray(QLatin1String(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATES)); + memberVariableNameTemplate = s->value(Constants::QUICK_FIX_SETTING_MEMBER_VARIABEL_NAME_TEMPLATE, + def.memberVariableNameTemplate) + .toString(); + valueTypes = s->value(Constants::QUICK_FIX_SETTING_VALUE_TYPES, def.valueTypes).toStringList(); + customTemplates = def.customTemplates; + int size = s->beginReadArray(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATES); if (size > 0) customTemplates.clear(); for (int i = 0; i < size; ++i) { s->setArrayIndex(i); CustomTemplate c; - c.types = s->value(QLatin1String(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATE_TYPES)) - .toStringList(); + c.types = s->value(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATE_TYPES).toStringList(); if (c.types.isEmpty()) continue; - c.equalComparison = s->value(QLatin1String( - Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATE_COMPARISON)) + c.equalComparison = s->value(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATE_COMPARISON) .toString(); - c.returnType = s->value(QLatin1String( - Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATE_RETURN_TYPE)) - .toString(); + c.returnType = s->value(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATE_RETURN_TYPE).toString(); c.returnExpression - = s->value( - QLatin1String(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATE_RETURN_EXPRESSION)) - .toString(); - c.assignment = s->value( - QLatin1String(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATE_ASSIGNMENT)) - .toString(); + = s->value(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATE_RETURN_EXPRESSION).toString(); + c.assignment = s->value(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATE_ASSIGNMENT).toString(); if (c.assignment.isEmpty() && c.returnType.isEmpty() && c.equalComparison.isEmpty()) continue; // nothing custom here @@ -140,45 +128,86 @@ void CppQuickFixSettings::loadSettingsFrom(QSettings *s) void CppQuickFixSettings::saveSettingsTo(QSettings *s) { - s->beginGroup(QLatin1String(Constants::QUICK_FIX_SETTINGS_ID)); - s->setValue(QLatin1String(Constants::QUICK_FIX_SETTING_GETTER_OUTSIDE_CLASS_FROM), - getterOutsideClassFrom); - s->setValue(QLatin1String(Constants::QUICK_FIX_SETTING_GETTER_IN_CPP_FILE_FROM), - getterInCppFileFrom); - s->setValue(QLatin1String(Constants::QUICK_FIX_SETTING_SETTER_OUTSIDE_CLASS_FROM), - setterOutsideClassFrom); - s->setValue(QLatin1String(Constants::QUICK_FIX_SETTING_SETTER_IN_CPP_FILE_FROM), - setterInCppFileFrom); - - s->setValue(QLatin1String(Constants::QUICK_FIX_SETTING_GETTER_ATTRIBUTES), getterAttributes); - s->setValue(QLatin1String(Constants::QUICK_FIX_SETTING_GETTER_NAME_TEMPLATE), getterNameTemplate); - s->setValue(QLatin1String(Constants::QUICK_FIX_SETTING_SETTER_NAME_TEMPLATE), setterNameTemplate); - s->setValue(QLatin1String(Constants::QUICK_FIX_SETTING_RESET_NAME_TEMPLATE), resetNameTemplate); - s->setValue(QLatin1String(Constants::QUICK_FIX_SETTING_SIGNAL_NAME_TEMPLATE), signalNameTemplate); - s->setValue(QLatin1String(Constants::QUICK_FIX_SETTING_SIGNAL_WITH_NEW_VALUE), signalWithNewValue); - s->setValue(QLatin1String(Constants::QUICK_FIX_SETTING_CPP_FILE_NAMESPACE_HANDLING), - static_cast<int>(cppFileNamespaceHandling)); - s->setValue(QLatin1String(Constants::QUICK_FIX_SETTING_MEMBER_VARIABEL_NAME_TEMPLATE), - memberVariableNameTemplate); - s->setValue(QLatin1String(Constants::QUICK_FIX_SETTING_SETTER_PARAMETER_NAME), - setterParameterNameTemplate); - s->setValue(QLatin1String(Constants::QUICK_FIX_SETTING_SETTER_AS_SLOT), setterAsSlot); - s->setValue(QLatin1String(Constants::QUICK_FIX_SETTING_VALUE_TYPES), valueTypes); - s->beginWriteArray(QLatin1String(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATES)); - for (int i = 0; i < static_cast<int>(customTemplates.size()); ++i) { - const auto &c = customTemplates[i]; - s->setArrayIndex(i); - s->setValue(QLatin1String(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATE_TYPES), c.types); - s->setValue(QLatin1String(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATE_COMPARISON), - c.equalComparison); - s->setValue(QLatin1String(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATE_RETURN_TYPE), - c.returnType); - s->setValue(QLatin1String(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATE_RETURN_EXPRESSION), - c.returnExpression); - s->setValue(QLatin1String(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATE_ASSIGNMENT), - c.assignment); + using Utils::QtcSettings; + CppQuickFixSettings def; + s->beginGroup(Constants::QUICK_FIX_SETTINGS_ID); + QtcSettings::setValueWithDefault(s, + Constants::QUICK_FIX_SETTING_GETTER_OUTSIDE_CLASS_FROM, + getterOutsideClassFrom, + def.getterOutsideClassFrom); + QtcSettings::setValueWithDefault(s, + Constants::QUICK_FIX_SETTING_GETTER_IN_CPP_FILE_FROM, + getterInCppFileFrom, + def.getterInCppFileFrom); + QtcSettings::setValueWithDefault(s, + Constants::QUICK_FIX_SETTING_SETTER_OUTSIDE_CLASS_FROM, + setterOutsideClassFrom, + def.setterOutsideClassFrom); + QtcSettings::setValueWithDefault(s, + Constants::QUICK_FIX_SETTING_SETTER_IN_CPP_FILE_FROM, + setterInCppFileFrom, + def.setterInCppFileFrom); + + QtcSettings::setValueWithDefault(s, + Constants::QUICK_FIX_SETTING_GETTER_ATTRIBUTES, + getterAttributes, + def.getterAttributes); + QtcSettings::setValueWithDefault(s, + Constants::QUICK_FIX_SETTING_GETTER_NAME_TEMPLATE, + getterNameTemplate, + def.getterNameTemplate); + QtcSettings::setValueWithDefault(s, + Constants::QUICK_FIX_SETTING_SETTER_NAME_TEMPLATE, + setterNameTemplate, + def.setterNameTemplate); + QtcSettings::setValueWithDefault(s, + Constants::QUICK_FIX_SETTING_RESET_NAME_TEMPLATE, + resetNameTemplate, + def.resetNameTemplate); + QtcSettings::setValueWithDefault(s, + Constants::QUICK_FIX_SETTING_SIGNAL_NAME_TEMPLATE, + signalNameTemplate, + def.signalNameTemplate); + QtcSettings::setValueWithDefault(s, + Constants::QUICK_FIX_SETTING_SIGNAL_WITH_NEW_VALUE, + signalWithNewValue, + def.signalWithNewValue); + QtcSettings::setValueWithDefault(s, + Constants::QUICK_FIX_SETTING_CPP_FILE_NAMESPACE_HANDLING, + int(cppFileNamespaceHandling), + int(def.cppFileNamespaceHandling)); + QtcSettings::setValueWithDefault(s, + Constants::QUICK_FIX_SETTING_MEMBER_VARIABEL_NAME_TEMPLATE, + memberVariableNameTemplate, + def.memberVariableNameTemplate); + QtcSettings::setValueWithDefault(s, + Constants::QUICK_FIX_SETTING_SETTER_PARAMETER_NAME, + setterParameterNameTemplate, + def.setterParameterNameTemplate); + QtcSettings::setValueWithDefault(s, + Constants::QUICK_FIX_SETTING_SETTER_AS_SLOT, + setterAsSlot, + def.setterAsSlot); + QtcSettings::setValueWithDefault(s, + Constants::QUICK_FIX_SETTING_VALUE_TYPES, + valueTypes, + def.valueTypes); + if (customTemplates == def.customTemplates) { + s->remove(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATES); + } else { + s->beginWriteArray(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATES); + for (int i = 0; i < static_cast<int>(customTemplates.size()); ++i) { + const auto &c = customTemplates[i]; + s->setArrayIndex(i); + s->setValue(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATE_TYPES, c.types); + s->setValue(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATE_COMPARISON, c.equalComparison); + s->setValue(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATE_RETURN_TYPE, c.returnType); + s->setValue(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATE_RETURN_EXPRESSION, + c.returnExpression); + s->setValue(Constants::QUICK_FIX_SETTING_CUSTOM_TEMPLATE_ASSIGNMENT, c.assignment); + } + s->endArray(); } - s->endArray(); s->endGroup(); } diff --git a/src/plugins/cppeditor/cppquickfixsettings.h b/src/plugins/cppeditor/cppquickfixsettings.h index 2b13f76de02..89d9f2a9f4b 100644 --- a/src/plugins/cppeditor/cppquickfixsettings.h +++ b/src/plugins/cppeditor/cppquickfixsettings.h @@ -48,6 +48,14 @@ public: } struct CustomTemplate { + bool operator==(const CustomTemplate &b) const + { + return types == b.types + && equalComparison == b.equalComparison + && returnExpression == b.returnExpression + && returnType == b.returnType + && assignment == b.assignment; + } QStringList types; QString equalComparison; QString returnExpression; diff --git a/src/plugins/cpptools/cppfilesettingspage.cpp b/src/plugins/cpptools/cppfilesettingspage.cpp index 0b711a458bf..4d1d738e8cc 100644 --- a/src/plugins/cpptools/cppfilesettingspage.cpp +++ b/src/plugins/cpptools/cppfilesettingspage.cpp @@ -73,40 +73,46 @@ const char *licenseTemplateTemplate = QT_TRANSLATE_NOOP("CppTools::Internal::Cpp void CppFileSettings::toSettings(QSettings *s) const { - s->beginGroup(QLatin1String(Constants::CPPTOOLS_SETTINGSGROUP)); - s->setValue(QLatin1String(headerPrefixesKeyC), headerPrefixes); - s->setValue(QLatin1String(sourcePrefixesKeyC), sourcePrefixes); - s->setValue(QLatin1String(headerSuffixKeyC), headerSuffix); - s->setValue(QLatin1String(sourceSuffixKeyC), sourceSuffix); - s->setValue(QLatin1String(headerSearchPathsKeyC), headerSearchPaths); - s->setValue(QLatin1String(sourceSearchPathsKeyC), sourceSearchPaths); - s->setValue(QLatin1String(Constants::LOWERCASE_CPPFILES_KEY), lowerCaseFiles); - s->setValue(QLatin1String(headerPragmaOnceC), headerPragmaOnce); - s->setValue(QLatin1String(licenseTemplatePathKeyC), licenseTemplatePath); + using Utils::QtcSettings; + const CppFileSettings def; + s->beginGroup(Constants::CPPTOOLS_SETTINGSGROUP); + QtcSettings::setValueWithDefault(s, headerPrefixesKeyC, headerPrefixes, def.headerPrefixes); + QtcSettings::setValueWithDefault(s, sourcePrefixesKeyC, sourcePrefixes, def.sourcePrefixes); + QtcSettings::setValueWithDefault(s, headerSuffixKeyC, headerSuffix, def.headerSuffix); + QtcSettings::setValueWithDefault(s, sourceSuffixKeyC, sourceSuffix, def.sourceSuffix); + QtcSettings::setValueWithDefault(s, + headerSearchPathsKeyC, + headerSearchPaths, + def.headerSearchPaths); + QtcSettings::setValueWithDefault(s, + sourceSearchPathsKeyC, + sourceSearchPaths, + def.sourceSearchPaths); + QtcSettings::setValueWithDefault(s, + Constants::LOWERCASE_CPPFILES_KEY, + lowerCaseFiles, + def.lowerCaseFiles); + QtcSettings::setValueWithDefault(s, headerPragmaOnceC, headerPragmaOnce, def.headerPragmaOnce); + QtcSettings::setValueWithDefault(s, + licenseTemplatePathKeyC, + licenseTemplatePath, + def.licenseTemplatePath); s->endGroup(); } void CppFileSettings::fromSettings(QSettings *s) { - const QStringList defaultHeaderSearchPaths - = QStringList({"include", "Include", QDir::toNativeSeparators("../include"), - QDir::toNativeSeparators("../Include")}); - const QStringList defaultSourceSearchPaths - = QStringList({QDir::toNativeSeparators("../src"), QDir::toNativeSeparators("../Src"), - ".."}); - s->beginGroup(QLatin1String(Constants::CPPTOOLS_SETTINGSGROUP)); - headerPrefixes = s->value(QLatin1String(headerPrefixesKeyC)).toStringList(); - sourcePrefixes = s->value(QLatin1String(sourcePrefixesKeyC)).toStringList(); - headerSuffix = s->value(QLatin1String(headerSuffixKeyC), QLatin1String("h")).toString(); - sourceSuffix = s->value(QLatin1String(sourceSuffixKeyC), QLatin1String("cpp")).toString(); - headerSearchPaths = s->value(QLatin1String(headerSearchPathsKeyC), defaultHeaderSearchPaths) - .toStringList(); - sourceSearchPaths = s->value(QLatin1String(sourceSearchPathsKeyC), defaultSourceSearchPaths) - .toStringList(); - const bool lowerCaseDefault = Constants::lowerCaseFilesDefault; - lowerCaseFiles = s->value(QLatin1String(Constants::LOWERCASE_CPPFILES_KEY), QVariant(lowerCaseDefault)).toBool(); - headerPragmaOnce = s->value(headerPragmaOnceC, headerPragmaOnce).toBool(); - licenseTemplatePath = s->value(QLatin1String(licenseTemplatePathKeyC), QString()).toString(); + const CppFileSettings def; + s->beginGroup(Constants::CPPTOOLS_SETTINGSGROUP); + headerPrefixes = s->value(headerPrefixesKeyC, def.headerPrefixes).toStringList(); + sourcePrefixes = s->value(sourcePrefixesKeyC, def.sourcePrefixes).toStringList(); + headerSuffix = s->value(headerSuffixKeyC, def.headerSuffix).toString(); + sourceSuffix = s->value(sourceSuffixKeyC, def.sourceSuffix).toString(); + headerSearchPaths = s->value(headerSearchPathsKeyC, def.headerSearchPaths).toStringList(); + sourceSearchPaths = s->value(sourceSearchPathsKeyC, def.sourceSearchPaths).toStringList(); + lowerCaseFiles = s->value(Constants::LOWERCASE_CPPFILES_KEY, def.lowerCaseFiles).toBool(); + headerPragmaOnce = s->value(headerPragmaOnceC, def.headerPragmaOnce).toBool(); + licenseTemplatePath = s->value(licenseTemplatePathKeyC, def.licenseTemplatePath).toString(); s->endGroup(); } diff --git a/src/plugins/cpptools/cppfilesettingspage.h b/src/plugins/cpptools/cppfilesettingspage.h index 4fb2db74b9a..e3533b396fc 100644 --- a/src/plugins/cpptools/cppfilesettingspage.h +++ b/src/plugins/cpptools/cppfilesettingspage.h @@ -25,8 +25,12 @@ #pragma once +#include "cpptoolsconstants.h" + #include <coreplugin/dialogs/ioptionspage.h> +#include <QDir> + QT_BEGIN_NAMESPACE class QSettings; QT_END_NAMESPACE @@ -37,14 +41,19 @@ namespace Internal { struct CppFileSettings { QStringList headerPrefixes; - QString headerSuffix; - QStringList headerSearchPaths; + QString headerSuffix = "h"; + QStringList headerSearchPaths = {"include", + "Include", + QDir::toNativeSeparators("../include"), + QDir::toNativeSeparators("../Include")}; QStringList sourcePrefixes; - QString sourceSuffix; - QStringList sourceSearchPaths; + QString sourceSuffix = "cpp"; + QStringList sourceSearchPaths = {QDir::toNativeSeparators("../src"), + QDir::toNativeSeparators("../Src"), + ".."}; QString licenseTemplatePath; bool headerPragmaOnce = false; - bool lowerCaseFiles = false; + bool lowerCaseFiles = Constants::LOWERCASE_CPPFILES_DEFAULT; void toSettings(QSettings *) const; void fromSettings(QSettings *); diff --git a/src/plugins/cpptools/cpptoolsconstants.h b/src/plugins/cpptools/cpptoolsconstants.h index 752bfbff87a..2a3bfe13a8b 100644 --- a/src/plugins/cpptools/cpptoolsconstants.h +++ b/src/plugins/cpptools/cpptoolsconstants.h @@ -49,7 +49,7 @@ const char AMBIGUOUS_HEADER_MIMETYPE[] = "application/vnd.qtc.ambiguousheader"; // QSettings keys for use by the "New Class" wizards. const char CPPTOOLS_SETTINGSGROUP[] = "CppTools"; const char LOWERCASE_CPPFILES_KEY[] = "LowerCaseFiles"; -enum { lowerCaseFilesDefault = 1 }; +const bool LOWERCASE_CPPFILES_DEFAULT = true; const char CPPTOOLS_SORT_EDITOR_DOCUMENT_OUTLINE[] = "SortedMethodOverview"; const char CPPTOOLS_SHOW_INFO_BAR_FOR_HEADER_ERRORS[] = "ShowInfoBarForHeaderErrors"; const char CPPTOOLS_SHOW_INFO_BAR_FOR_FOR_NO_PROJECT[] = "ShowInfoBarForNoProject"; diff --git a/src/plugins/cpptools/cpptoolssettings.cpp b/src/plugins/cpptools/cpptoolssettings.cpp index 72b8453f369..91b22ffa54e 100644 --- a/src/plugins/cpptools/cpptoolssettings.cpp +++ b/src/plugins/cpptools/cpptoolssettings.cpp @@ -43,6 +43,9 @@ #include <QSettings> static const char idKey[] = "CppGlobal"; +const bool kSortEditorDocumentOutlineDefault = true; +const bool kShowHeaderErrorInfoBarDefault = true; +const bool kShowNoProjectInfoBarDefault = true; using namespace Core; using namespace CppTools; @@ -254,12 +257,16 @@ static QString sortEditorDocumentOutlineKey() bool CppToolsSettings::sortedEditorDocumentOutline() const { - return ICore::settings()->value(sortEditorDocumentOutlineKey(), true).toBool(); + return ICore::settings() + ->value(sortEditorDocumentOutlineKey(), kSortEditorDocumentOutlineDefault) + .toBool(); } void CppToolsSettings::setSortedEditorDocumentOutline(bool sorted) { - ICore::settings()->setValue(sortEditorDocumentOutlineKey(), sorted); + ICore::settings()->setValueWithDefault(sortEditorDocumentOutlineKey(), + sorted, + kSortEditorDocumentOutlineDefault); emit editorDocumentOutlineSortingChanged(sorted); } @@ -272,12 +279,16 @@ static QString showHeaderErrorInfoBarKey() bool CppToolsSettings::showHeaderErrorInfoBar() const { - return ICore::settings()->value(showHeaderErrorInfoBarKey(), true).toBool(); + return ICore::settings() + ->value(showHeaderErrorInfoBarKey(), kShowHeaderErrorInfoBarDefault) + .toBool(); } void CppToolsSettings::setShowHeaderErrorInfoBar(bool show) { - ICore::settings()->setValue(showHeaderErrorInfoBarKey(), show); + ICore::settings()->setValueWithDefault(showHeaderErrorInfoBarKey(), + show, + kShowHeaderErrorInfoBarDefault); emit showHeaderErrorInfoBarChanged(show); } @@ -290,11 +301,13 @@ static QString showNoProjectInfoBarKey() bool CppToolsSettings::showNoProjectInfoBar() const { - return ICore::settings()->value(showNoProjectInfoBarKey(), true).toBool(); + return ICore::settings()->value(showNoProjectInfoBarKey(), kShowNoProjectInfoBarDefault).toBool(); } void CppToolsSettings::setShowNoProjectInfoBar(bool show) { - ICore::settings()->setValue(showNoProjectInfoBarKey(), show); + ICore::settings()->setValueWithDefault(showNoProjectInfoBarKey(), + show, + kShowNoProjectInfoBarDefault); emit showNoProjectInfoBarChanged(show); } diff --git a/src/plugins/designer/cpp/formclasswizardpage.cpp b/src/plugins/designer/cpp/formclasswizardpage.cpp index 5fd54dbaa0d..0e9386236e1 100644 --- a/src/plugins/designer/cpp/formclasswizardpage.cpp +++ b/src/plugins/designer/cpp/formclasswizardpage.cpp @@ -67,7 +67,7 @@ bool FormClassWizardPage::lowercaseHeaderFiles() QString lowerCaseSettingsKey = CppTools::Constants::CPPTOOLS_SETTINGSGROUP; lowerCaseSettingsKey += '/'; lowerCaseSettingsKey += CppTools::Constants::LOWERCASE_CPPFILES_KEY; - const bool lowerCaseDefault = CppTools::Constants::lowerCaseFilesDefault; + const bool lowerCaseDefault = CppTools::Constants::LOWERCASE_CPPFILES_DEFAULT; return Core::ICore::settings()->value(lowerCaseSettingsKey, QVariant(lowerCaseDefault)).toBool(); } diff --git a/src/plugins/qmakeprojectmanager/wizards/qtwizard.cpp b/src/plugins/qmakeprojectmanager/wizards/qtwizard.cpp index 659d3f1899e..70a489dd07e 100644 --- a/src/plugins/qmakeprojectmanager/wizards/qtwizard.cpp +++ b/src/plugins/qmakeprojectmanager/wizards/qtwizard.cpp @@ -112,7 +112,7 @@ bool QtWizard::lowerCaseFiles() QString lowerCaseSettingsKey = QLatin1String(CppTools::Constants::CPPTOOLS_SETTINGSGROUP); lowerCaseSettingsKey += QLatin1Char('/'); lowerCaseSettingsKey += QLatin1String(CppTools::Constants::LOWERCASE_CPPFILES_KEY); - const bool lowerCaseDefault = CppTools::Constants::lowerCaseFilesDefault; + const bool lowerCaseDefault = CppTools::Constants::LOWERCASE_CPPFILES_DEFAULT; return Core::ICore::settings()->value(lowerCaseSettingsKey, QVariant(lowerCaseDefault)).toBool(); } |