aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cppeditor
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2021-01-20 17:39:04 +0100
committerEike Ziller <eike.ziller@qt.io>2021-01-22 09:37:12 +0000
commit8112a004329e1992df607e5d5e6a417ea4602a78 (patch)
tree9d91ee25ae047b6d4f7ab41dc6548c3c9b501a4c /src/plugins/cppeditor
parent8443fbe3d480c2cd6414e8daf18964623f34386f (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/plugins/cppeditor')
-rw-r--r--src/plugins/cppeditor/cppincludehierarchy.cpp6
-rw-r--r--src/plugins/cppeditor/cppinsertvirtualmethods.cpp56
-rw-r--r--src/plugins/cppeditor/cppquickfixsettings.cpp211
-rw-r--r--src/plugins/cppeditor/cppquickfixsettings.h8
4 files changed, 170 insertions, 111 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;