diff options
author | hjk <hjk@qt.io> | 2023-07-06 09:57:16 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2023-07-07 09:02:29 +0000 |
commit | 91513a53ddfcd20beb219a235da9f603fafff742 (patch) | |
tree | 372e0fff25e0c220b8cd6e15eb93d6b598c92739 | |
parent | 9f1b56e91aa34bb706bf2887d1cd06ca5d5ed376 (diff) |
Utils: Make aspect settings access implicit
Generally, aspects should use fromMap/toMap, but some older pages
use {from,to}Settings with always the same ICore::settings().
To make that less intrusive on the user code side, make that globally
implicit.
Task-number: QTCREATORBUG-29167
Change-Id: I29a8e23a31eb8061bb143e93931a07c6741eb7f9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
37 files changed, 111 insertions, 123 deletions
diff --git a/src/app/main.cpp b/src/app/main.cpp index b2c10208a6f..540b5125613 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -12,6 +12,7 @@ #include <utils/algorithm.h> #include <utils/appinfo.h> +#include <utils/aspects.h> #include <utils/environment.h> #include <utils/fileutils.h> #include <utils/fsengine/fsengine.h> @@ -654,6 +655,8 @@ int main(int argc, char **argv) PluginManager::setGlobalSettings(globalSettings); PluginManager::setSettings(settings); + Utils::BaseAspect::setGlobalSettings(globalSettings); + using namespace Core; Utils::AppInfo info; info.author = Constants::IDE_AUTHOR; diff --git a/src/libs/utils/aspects.cpp b/src/libs/utils/aspects.cpp index c58712ab008..a7007cccc5f 100644 --- a/src/libs/utils/aspects.cpp +++ b/src/libs/utils/aspects.cpp @@ -34,6 +34,19 @@ using namespace Layouting; namespace Utils { + +static QSettings *theSettings = nullptr; + +void BaseAspect::setGlobalSettings(QSettings *settings) +{ + theSettings = settings; +} + +QSettings *BaseAspect::settings() +{ + return theSettings; +} + namespace Internal { class BaseAspectPrivate @@ -552,19 +565,19 @@ void BaseAspect::toMap(QVariantMap &map) const saveToMap(map, toSettingsValue(variantValue()), toSettingsValue(defaultVariantValue()), settingsKey()); } -void BaseAspect::readSettings(const QSettings *settings) +void BaseAspect::readSettings() { if (settingsKey().isEmpty()) return; - const QVariant &val = settings->value(settingsKey()); + const QVariant val = settings()->value(settingsKey()); setVariantValue(val.isValid() ? fromSettingsValue(val) : defaultVariantValue()); } -void BaseAspect::writeSettings(QSettings *settings) const +void BaseAspect::writeSettings() const { if (settingsKey().isEmpty()) return; - QtcSettings::setValueWithDefault(settings, + QtcSettings::setValueWithDefault(settings(), settingsKey(), toSettingsValue(variantValue()), toSettingsValue(defaultVariantValue())); @@ -2314,28 +2327,30 @@ void AspectContainer::toMap(QVariantMap &map) const aspect->toMap(map); } -void AspectContainer::readSettings(QSettings *settings) +void AspectContainer::readSettings() { + QTC_ASSERT(theSettings, return); for (const QString &group : d->m_settingsGroup) - settings->beginGroup(group); + theSettings->beginGroup(group); for (BaseAspect *aspect : std::as_const(d->m_items)) - aspect->readSettings(settings); + aspect->readSettings(); for (int i = 0; i != d->m_settingsGroup.size(); ++i) - settings->endGroup(); + theSettings->endGroup(); } -void AspectContainer::writeSettings(QSettings *settings) const +void AspectContainer::writeSettings() const { + QTC_ASSERT(theSettings, return); for (const QString &group : d->m_settingsGroup) - settings->beginGroup(group); + theSettings->beginGroup(group); for (BaseAspect *aspect : std::as_const(d->m_items)) - aspect->writeSettings(settings); + aspect->writeSettings(); for (int i = 0; i != d->m_settingsGroup.size(); ++i) - settings->endGroup(); + theSettings->endGroup(); } void AspectContainer::setSettingsGroup(const QString &groupKey) diff --git a/src/libs/utils/aspects.h b/src/libs/utils/aspects.h index 976aa259d46..0441c77399c 100644 --- a/src/libs/utils/aspects.h +++ b/src/libs/utils/aspects.h @@ -100,8 +100,8 @@ public: virtual void addToLayout(Layouting::LayoutItem &parent); - virtual void readSettings(const QSettings *settings); - virtual void writeSettings(QSettings *settings) const; + virtual void readSettings(); + virtual void writeSettings() const; using SavedValueTransformation = std::function<QVariant(const QVariant &)>; void setFromSettingsTransformation(const SavedValueTransformation &transform); @@ -159,6 +159,9 @@ public: Data::Ptr extractData() const; + static void setGlobalSettings(QSettings *settings); + static QSettings *settings(); + signals: void changed(); void volatileValueChanged(); @@ -713,8 +716,8 @@ public: void fromMap(const QVariantMap &map); void toMap(QVariantMap &map) const; - void readSettings(QSettings *settings); - void writeSettings(QSettings *settings) const; + void readSettings(); + void writeSettings() const; void setSettingsGroup(const QString &groupKey); void setSettingsGroups(const QString &groupKey, const QString &subGroupKey); diff --git a/src/plugins/autotest/autotestplugin.cpp b/src/plugins/autotest/autotestplugin.cpp index 91c058cec77..f18f30c14e5 100644 --- a/src/plugins/autotest/autotestplugin.cpp +++ b/src/plugins/autotest/autotestplugin.cpp @@ -30,7 +30,6 @@ #include <coreplugin/actionmanager/command.h> #include <coreplugin/coreconstants.h> #include <coreplugin/icontext.h> -#include <coreplugin/icore.h> #include <coreplugin/messagemanager.h> #include <cplusplus/CppDocument.h> @@ -138,7 +137,7 @@ AutotestPluginPrivate::AutotestPluginPrivate() m_frameworkManager.registerTestTool(new CTestTool); - m_frameworkManager.synchronizeSettings(ICore::settings()); + m_frameworkManager.synchronizeSettings(); m_resultsPane = TestResultsPane::instance(); auto panelFactory = new ProjectExplorer::ProjectPanelFactory(); diff --git a/src/plugins/autotest/testframeworkmanager.cpp b/src/plugins/autotest/testframeworkmanager.cpp index 3c6aff581db..9b426abf28e 100644 --- a/src/plugins/autotest/testframeworkmanager.cpp +++ b/src/plugins/autotest/testframeworkmanager.cpp @@ -9,8 +9,6 @@ #include <utils/algorithm.h> #include <utils/qtcassert.h> -#include <QSettings> - using namespace Utils; namespace Autotest { @@ -95,16 +93,16 @@ ITestTool *TestFrameworkManager::testToolForBuildSystemId(Id buildSystemId) }); } -void TestFrameworkManager::synchronizeSettings(QSettings *s) +void TestFrameworkManager::synchronizeSettings() { - Internal::TestSettings::instance()->fromSettings(s); + Internal::TestSettings::instance()->fromSettings(); for (ITestFramework *framework : std::as_const(m_registeredFrameworks)) { if (ITestSettings *fSettings = framework->testSettings()) - fSettings->readSettings(s); + fSettings->readSettings(); } for (ITestTool *testTool : std::as_const(m_registeredTestTools)) { if (ITestSettings *tSettings = testTool->testSettings()) - tSettings->readSettings(s); + tSettings->readSettings(); } } diff --git a/src/plugins/autotest/testframeworkmanager.h b/src/plugins/autotest/testframeworkmanager.h index 73dfd96ff96..62bb19d9474 100644 --- a/src/plugins/autotest/testframeworkmanager.h +++ b/src/plugins/autotest/testframeworkmanager.h @@ -5,10 +5,6 @@ #include "itestframework.h" -QT_BEGIN_NAMESPACE -class QSettings; -QT_END_NAMESPACE - namespace Autotest { namespace Internal { class TestSettings; @@ -23,7 +19,7 @@ public: bool registerTestFramework(ITestFramework *framework); bool registerTestTool(ITestTool *testTool); - void synchronizeSettings(QSettings *s); + void synchronizeSettings(); static ITestFramework *frameworkForId(Utils::Id frameworkId); static ITestTool *testToolForId(Utils::Id testToolId); diff --git a/src/plugins/autotest/testsettings.cpp b/src/plugins/autotest/testsettings.cpp index 3c911202f1e..f2e63c4ea89 100644 --- a/src/plugins/autotest/testsettings.cpp +++ b/src/plugins/autotest/testsettings.cpp @@ -108,10 +108,11 @@ TestSettings::TestSettings() runAfterBuild.addOption(Tr::tr("Selected")); } -void TestSettings::toSettings(QSettings *s) const +void TestSettings::toSettings() const { - AspectContainer::writeSettings(s); + AspectContainer::writeSettings(); + QSettings *s = Utils::BaseAspect::settings(); s->beginGroup(Constants::SETTINGSGROUP); // store frameworks and their current active and grouping state @@ -126,10 +127,11 @@ void TestSettings::toSettings(QSettings *s) const s->endGroup(); } -void TestSettings::fromSettings(QSettings *s) +void TestSettings::fromSettings() { - AspectContainer::readSettings(s); + AspectContainer::readSettings(); + QSettings *s = Utils::BaseAspect::settings(); s->beginGroup(Constants::SETTINGSGROUP); // try to get settings for registered frameworks diff --git a/src/plugins/autotest/testsettings.h b/src/plugins/autotest/testsettings.h index fbcc4602914..c89f85d06c9 100644 --- a/src/plugins/autotest/testsettings.h +++ b/src/plugins/autotest/testsettings.h @@ -29,8 +29,8 @@ public: static TestSettings *instance(); - void toSettings(QSettings *s) const; - void fromSettings(QSettings *s); + void toSettings() const; + void fromSettings(); Utils::IntegerAspect scanThreadLimit{this}; Utils::IntegerAspect timeout{this}; diff --git a/src/plugins/autotest/testsettingspage.cpp b/src/plugins/autotest/testsettingspage.cpp index 407b386052a..980662cdc39 100644 --- a/src/plugins/autotest/testsettingspage.cpp +++ b/src/plugins/autotest/testsettingspage.cpp @@ -10,7 +10,6 @@ #include "testsettings.h" #include "testtreemodel.h" -#include <coreplugin/icore.h> #include <utils/algorithm.h> #include <utils/id.h> #include <utils/infolabel.h> @@ -137,7 +136,7 @@ TestSettingsWidget::TestSettingsWidget() testSettings(s); testToolsSettings(s); - s.toSettings(Core::ICore::settings()); + s.toSettings(); for (ITestFramework *framework : TestFrameworkManager::registeredFrameworks()) { framework->setActive(s.frameworks.value(framework->id(), false)); diff --git a/src/plugins/axivion/axivionplugin.cpp b/src/plugins/axivion/axivionplugin.cpp index 7648448132a..40b2cb6590f 100644 --- a/src/plugins/axivion/axivionplugin.cpp +++ b/src/plugins/axivion/axivionplugin.cpp @@ -117,7 +117,7 @@ bool AxivionPlugin::initialize(const QStringList &arguments, QString *errorMessa Q_UNUSED(errorMessage) dd = new AxivionPluginPrivate; - dd->m_axivionSettings.fromSettings(Core::ICore::settings()); + dd->m_axivionSettings.fromSettings(); auto panelFactory = new ProjectExplorer::ProjectPanelFactory; panelFactory->setPriority(250); diff --git a/src/plugins/axivion/axivionsettings.cpp b/src/plugins/axivion/axivionsettings.cpp index c3ecba69c13..c6d3f310105 100644 --- a/src/plugins/axivion/axivionsettings.cpp +++ b/src/plugins/axivion/axivionsettings.cpp @@ -5,6 +5,8 @@ #include "axiviontr.h" +#include <coreplugin/icore.h> + #include <utils/filepath.h> #include <utils/hostosinfo.h> @@ -81,9 +83,9 @@ AxivionSettings::AxivionSettings() curl.setExpectedKind(Utils::PathChooser::ExistingCommand); } -static Utils::FilePath tokensFilePath(const QSettings *s) +static Utils::FilePath tokensFilePath() { - return Utils::FilePath::fromString(s->fileName()).parentDir() + return Utils::FilePath::fromString(Core::ICore::settings()->fileName()).parentDir() .pathAppended("qtcreator/axivion.json"); } @@ -109,16 +111,16 @@ static AxivionServer readTokenFile(const Utils::FilePath &filePath) return AxivionServer::fromJson(doc.object()); } -void AxivionSettings::toSettings(QSettings *s) const +void AxivionSettings::toSettings() const { - writeTokenFile(tokensFilePath(s), server); - Utils::AspectContainer::writeSettings(s); + writeTokenFile(tokensFilePath(), server); + Utils::AspectContainer::writeSettings(); } -void AxivionSettings::fromSettings(QSettings *s) +void AxivionSettings::fromSettings() { - Utils::AspectContainer::readSettings(s); - server = readTokenFile(tokensFilePath(s)); + Utils::AspectContainer::readSettings(); + server = readTokenFile(tokensFilePath()); if (curl().isEmpty() || !curl().exists()) { const QString curlPath = QStandardPaths::findExecutable( diff --git a/src/plugins/axivion/axivionsettings.h b/src/plugins/axivion/axivionsettings.h index 0df1746387f..81413732592 100644 --- a/src/plugins/axivion/axivionsettings.h +++ b/src/plugins/axivion/axivionsettings.h @@ -10,7 +10,6 @@ QT_BEGIN_NAMESPACE class QJsonObject; -class QSettings; QT_END_NAMESPACE namespace Axivion::Internal { @@ -41,8 +40,8 @@ class AxivionSettings : public Utils::AspectContainer { public: AxivionSettings(); - void toSettings(QSettings *s) const; - void fromSettings(QSettings *s); + void toSettings() const; + void fromSettings(); AxivionServer server; // shall we have more than one? Utils::FilePathAspect curl{this}; diff --git a/src/plugins/axivion/axivionsettingspage.cpp b/src/plugins/axivion/axivionsettingspage.cpp index e837d71598d..e869b51d09b 100644 --- a/src/plugins/axivion/axivionsettingspage.cpp +++ b/src/plugins/axivion/axivionsettingspage.cpp @@ -7,7 +7,6 @@ #include "axivionsettings.h" #include "axiviontr.h" -#include <coreplugin/icore.h> #include <utils/aspects.h> #include <utils/id.h> #include <utils/layoutbuilder.h> @@ -170,7 +169,7 @@ AxivionSettingsWidget::AxivionSettingsWidget(AxivionSettings *settings) void AxivionSettingsWidget::apply() { m_settings->server = m_dashboardDisplay->dashboardServer(); - m_settings->toSettings(Core::ICore::settings()); + m_settings->toSettings(); emit AxivionPlugin::instance()->settingsChanged(); } diff --git a/src/plugins/beautifier/abstractsettings.cpp b/src/plugins/beautifier/abstractsettings.cpp index 362a2481538..3661720ae37 100644 --- a/src/plugins/beautifier/abstractsettings.cpp +++ b/src/plugins/beautifier/abstractsettings.cpp @@ -228,9 +228,7 @@ QString AbstractSettings::documentation(const QString &option) const void AbstractSettings::save() { // Save settings, except styles - QSettings *s = Core::ICore::settings(); - - AspectContainer::writeSettings(s); + AspectContainer::writeSettings(); // Save styles if (m_stylesToRemove.isEmpty() && m_styles.isEmpty()) @@ -287,8 +285,7 @@ void AbstractSettings::createDocumentationFile() const void AbstractSettings::read() { // Read settings, except styles - QSettings *s = Core::ICore::settings(); - AspectContainer::readSettings(s); + AspectContainer::readSettings(); m_styles.clear(); m_changedStyles.clear(); diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index 93cb3f88cd0..741d91efb66 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -598,7 +598,7 @@ void CMakeBuildSettingsWidget::reconfigureWithInitialParameters() QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); - settings->writeSettings(Core::ICore::settings()); + settings->writeSettings(); if (reply != QMessageBox::Yes) { return; diff --git a/src/plugins/cmakeprojectmanager/cmaketoolmanager.cpp b/src/plugins/cmakeprojectmanager/cmaketoolmanager.cpp index 7e4c777317d..2892f78a7e8 100644 --- a/src/plugins/cmakeprojectmanager/cmaketoolmanager.cpp +++ b/src/plugins/cmakeprojectmanager/cmaketoolmanager.cpp @@ -146,7 +146,7 @@ void CMakeToolManager::restoreCMakeTools() if (settings->autorunCMake.value() == settings->autorunCMake.defaultValue()) { CMakeTool *cmake = defaultCMakeTool(); settings->autorunCMake.setValue(cmake ? cmake->isAutoRun() : true); - settings->writeSettings(Core::ICore::settings()); + settings->writeSettings(); } } diff --git a/src/plugins/conan/conansettings.cpp b/src/plugins/conan/conansettings.cpp index f7de5b01ea8..db88a242be2 100644 --- a/src/plugins/conan/conansettings.cpp +++ b/src/plugins/conan/conansettings.cpp @@ -3,8 +3,6 @@ #include "conansettings.h" -#include <coreplugin/icore.h> - #include <utils/hostosinfo.h> using namespace Utils; @@ -26,7 +24,7 @@ ConanSettings::ConanSettings() conanFilePath.setExpectedKind(PathChooser::ExistingCommand); conanFilePath.setDefaultValue(FilePath::fromString(HostOsInfo::withExecutableSuffix("conan"))); - readSettings(Core::ICore::settings()); + readSettings(); } } // Conan::Internal diff --git a/src/plugins/copilot/copilotoptionspage.cpp b/src/plugins/copilot/copilotoptionspage.cpp index 61e6d085dc4..07e21bf91e3 100644 --- a/src/plugins/copilot/copilotoptionspage.cpp +++ b/src/plugins/copilot/copilotoptionspage.cpp @@ -8,8 +8,6 @@ #include "copilotsettings.h" #include "copilottr.h" -#include <coreplugin/icore.h> - #include <utils/layoutbuilder.h> #include <utils/pathchooser.h> @@ -95,7 +93,7 @@ public: setOnApply([] { CopilotSettings::instance().apply(); - CopilotSettings::instance().writeSettings(Core::ICore::settings()); + CopilotSettings::instance().writeSettings(); }); } }; diff --git a/src/plugins/copilot/copilotplugin.cpp b/src/plugins/copilot/copilotplugin.cpp index 48a4dc89e82..be8f4420162 100644 --- a/src/plugins/copilot/copilotplugin.cpp +++ b/src/plugins/copilot/copilotplugin.cpp @@ -14,7 +14,6 @@ #include <coreplugin/actionmanager/actionmanager.h> #include <coreplugin/editormanager/editormanager.h> -#include <coreplugin/icore.h> #include <coreplugin/statusbarmanager.h> #include <languageclient/languageclientmanager.h> @@ -58,7 +57,7 @@ void cycleSuggestion(TextEditor::TextEditorWidget *editor, Direction direction) void CopilotPlugin::initialize() { - CopilotSettings::instance().readSettings(ICore::settings()); + CopilotSettings::instance().readSettings(); restartClient(); diff --git a/src/plugins/coreplugin/dialogs/ioptionspage.cpp b/src/plugins/coreplugin/dialogs/ioptionspage.cpp index 8cbbd7eac42..bd94fca9b97 100644 --- a/src/plugins/coreplugin/dialogs/ioptionspage.cpp +++ b/src/plugins/coreplugin/dialogs/ioptionspage.cpp @@ -6,8 +6,6 @@ #include "ioptionspage.h" -#include <coreplugin/icore.h> - #include <utils/algorithm.h> #include <utils/aspects.h> #include <utils/layoutbuilder.h> @@ -167,7 +165,7 @@ void IOptionsPage::apply() AspectContainer *container = m_settingsProvider(); if (container->isDirty()) { container->apply(); - container->writeSettings(ICore::settings()); + container->writeSettings(); } } } @@ -323,9 +321,4 @@ PagedSettings::PagedSettings() setAutoApply(false); } -void PagedSettings::readSettings() -{ - return AspectContainer::readSettings(Core::ICore::settings()); -} - } // Core diff --git a/src/plugins/coreplugin/dialogs/ioptionspage.h b/src/plugins/coreplugin/dialogs/ioptionspage.h index 2c46fea9fdf..b63da5710c8 100644 --- a/src/plugins/coreplugin/dialogs/ioptionspage.h +++ b/src/plugins/coreplugin/dialogs/ioptionspage.h @@ -133,9 +133,6 @@ class CORE_EXPORT PagedSettings : public Utils::AspectContainer, public IOptions { public: PagedSettings(); - - using AspectContainer::readSettings; // FIXME: Remove. - void readSettings(); // Intentionally hides AspectContainer::readSettings() }; } // namespace Core diff --git a/src/plugins/cpaster/cpasterplugin.cpp b/src/plugins/cpaster/cpasterplugin.cpp index a18b454c860..2a33dcfccb9 100644 --- a/src/plugins/cpaster/cpasterplugin.cpp +++ b/src/plugins/cpaster/cpasterplugin.cpp @@ -132,7 +132,7 @@ CodePasterPluginPrivate::CodePasterPluginPrivate() } // Create the settings Page - m_settings.readSettings(ICore::settings()); + m_settings.readSettings(); connect(&m_urlOpen, &Protocol::fetchDone, this, &CodePasterPluginPrivate::finishFetch); @@ -251,7 +251,7 @@ void CodePasterPluginPrivate::post(QString data, const QString &mimeType) // Save new protocol in case user changed it. if (dialogResult == QDialog::Accepted && m_settings.protocols.value() != view.protocol()) { m_settings.protocols.setValue(view.protocol()); - m_settings.writeSettings(ICore::settings()); + m_settings.writeSettings(); } } @@ -282,7 +282,7 @@ void CodePasterPluginPrivate::fetch() // Save new protocol in case user changed it. if (m_settings.protocols.value() != dialog.protocol()) { m_settings.protocols.setValue(dialog.protocol()); - m_settings.writeSettings(ICore::settings()); + m_settings.writeSettings(); } const QString pasteID = dialog.pasteId(); diff --git a/src/plugins/debugger/cdb/cdboptionspage.cpp b/src/plugins/debugger/cdb/cdboptionspage.cpp index 8f21d670964..f47e275fd15 100644 --- a/src/plugins/debugger/cdb/cdboptionspage.cpp +++ b/src/plugins/debugger/cdb/cdboptionspage.cpp @@ -10,8 +10,6 @@ #include <debugger/debuggertr.h> #include <debugger/shared/cdbsymbolpathlisteditor.h> -#include <coreplugin/icore.h> - #include <utils/aspects.h> #include <utils/layoutbuilder.h> @@ -215,7 +213,8 @@ CdbOptionsPageWidget::CdbOptionsPageWidget() void CdbOptionsPageWidget::apply() { - m_group.apply(); m_group.writeSettings(Core::ICore::settings()); + m_group.apply(); + m_group.writeSettings(); debuggerSettings()->cdbBreakEvents.setValue(m_breakEventWidget->breakEvents()); } @@ -269,7 +268,7 @@ void CdbPathsPageWidget::apply() { debuggerSettings()->cdbSymbolPaths.setValue(m_symbolPaths->pathList()); debuggerSettings()->cdbSourcePaths.setValue(m_sourcePaths->pathList()); - m_group.writeSettings(Core::ICore::settings()); + m_group.writeSettings(); } void CdbPathsPageWidget::finish() diff --git a/src/plugins/debugger/commonoptionspage.cpp b/src/plugins/debugger/commonoptionspage.cpp index a007e96f48f..7dd6950f0f9 100644 --- a/src/plugins/debugger/commonoptionspage.cpp +++ b/src/plugins/debugger/commonoptionspage.cpp @@ -7,8 +7,6 @@ #include "debuggerinternalconstants.h" #include "debuggertr.h" -#include <coreplugin/icore.h> - #include <utils/layoutbuilder.h> using namespace Core; @@ -37,7 +35,7 @@ public: if (originalPostMortem != currentPostMortem) s.registerForPostMortem->setValue(currentPostMortem); s.page1.apply(); - s.page1.writeSettings(ICore::settings()); + s.page1.writeSettings(); }); setOnFinish([&s] { s.page1.finish(); }); @@ -116,7 +114,7 @@ public: LocalsAndExpressionsOptionsPageWidget() { DebuggerSettings &s = *debuggerSettings(); - setOnApply([&s] { s.page4.apply(); s.page4.writeSettings(ICore::settings()); }); + setOnApply([&s] { s.page4.apply(); s.page4.writeSettings(); }); setOnFinish([&s] { s.page4.finish(); }); auto label = new QLabel; //(useHelperGroup); diff --git a/src/plugins/debugger/console/console.cpp b/src/plugins/debugger/console/console.cpp index 57810ef62bf..3535e9d01f2 100644 --- a/src/plugins/debugger/console/console.cpp +++ b/src/plugins/debugger/console/console.cpp @@ -202,10 +202,9 @@ bool Console::canNavigate() const void Console::readSettings() { - QSettings *settings = Core::ICore::settings(); - m_showDebug.readSettings(settings); - m_showWarning.readSettings(settings); - m_showError.readSettings(settings); + m_showDebug.readSettings(); + m_showWarning.readSettings(); + m_showError.readSettings(); } void Console::setContext(const QString &context) @@ -215,10 +214,9 @@ void Console::setContext(const QString &context) void Console::writeSettings() const { - QSettings *settings = Core::ICore::settings(); - m_showDebug.writeSettings(settings); - m_showWarning.writeSettings(settings); - m_showError.writeSettings(settings); + m_showDebug.writeSettings(); + m_showWarning.writeSettings(); + m_showError.writeSettings(); } void Console::setScriptEvaluator(const ScriptEvaluator &evaluator) diff --git a/src/plugins/debugger/debuggeractions.cpp b/src/plugins/debugger/debuggeractions.cpp index 9997d3f58c9..63c2268734d 100644 --- a/src/plugins/debugger/debuggeractions.cpp +++ b/src/plugins/debugger/debuggeractions.cpp @@ -13,7 +13,6 @@ #endif #include <coreplugin/coreconstants.h> -#include <coreplugin/icore.h> #include <utils/hostosinfo.h> #include <utils/qtcassert.h> @@ -471,14 +470,14 @@ DebuggerSettings::~DebuggerSettings() void DebuggerSettings::readSettings() { - all.readSettings(Core::ICore::settings()); - GdbSettings::readSettings(Core::ICore::settings()); + all.readSettings(); + GdbSettings::readSettings(); } void DebuggerSettings::writeSettings() const { - all.writeSettings(Core::ICore::settings()); - GdbSettings::writeSettings(Core::ICore::settings()); + all.writeSettings(); + GdbSettings::writeSettings(); } QString DebuggerSettings::dump() diff --git a/src/plugins/debugger/debuggeractions.h b/src/plugins/debugger/debuggeractions.h index 1a27beae330..e59b6356f1c 100644 --- a/src/plugins/debugger/debuggeractions.h +++ b/src/plugins/debugger/debuggeractions.h @@ -32,8 +32,8 @@ public: void addToLayout(Layouting::LayoutItem &parent) override; - void readSettings(const QSettings *settings) override; - void writeSettings(QSettings *settings) const override; + void readSettings() override; + void writeSettings() const override; private: void guiToInternal() override; diff --git a/src/plugins/debugger/debuggersourcepathmappingwidget.cpp b/src/plugins/debugger/debuggersourcepathmappingwidget.cpp index ad9aeb87391..023918fe7f8 100644 --- a/src/plugins/debugger/debuggersourcepathmappingwidget.cpp +++ b/src/plugins/debugger/debuggersourcepathmappingwidget.cpp @@ -486,9 +486,10 @@ const char sourcePathMappingArrayNameC[] = "SourcePathMappings"; const char sourcePathMappingSourceKeyC[] = "Source"; const char sourcePathMappingTargetKeyC[] = "Target"; -void SourcePathMapAspect::writeSettings(QSettings *s) const +void SourcePathMapAspect::writeSettings() const { const SourcePathMap sourcePathMap = value(); + QSettings *s = settings(); s->beginWriteArray(sourcePathMappingArrayNameC); if (!sourcePathMap.isEmpty()) { const QString sourcePathMappingSourceKey(sourcePathMappingSourceKeyC); @@ -505,10 +506,9 @@ void SourcePathMapAspect::writeSettings(QSettings *s) const s->endArray(); } -void SourcePathMapAspect::readSettings(const QSettings *settings) +void SourcePathMapAspect::readSettings() { - // Eeks. But legitimate, this operates on ICore::settings(); - QSettings *s = const_cast<QSettings *>(settings); + QSettings *s = settings(); SourcePathMap sourcePathMap; if (const int count = s->beginReadArray(sourcePathMappingArrayNameC)) { const QString sourcePathMappingSourceKey(sourcePathMappingSourceKeyC); diff --git a/src/plugins/debugger/registerpostmortemaction.cpp b/src/plugins/debugger/registerpostmortemaction.cpp index 4afd0989eed..a7f68083180 100644 --- a/src/plugins/debugger/registerpostmortemaction.cpp +++ b/src/plugins/debugger/registerpostmortemaction.cpp @@ -49,7 +49,7 @@ RegisterPostMortemAction::RegisterPostMortemAction() connect(this, &BaseAspect::changed, this, [this] { registerNow(value()); }); } -void RegisterPostMortemAction::readSettings(const QSettings *) +void RegisterPostMortemAction::readSettings() { Q_UNUSED(debuggerRegistryValueNameC) // avoid warning from MinGW diff --git a/src/plugins/debugger/registerpostmortemaction.h b/src/plugins/debugger/registerpostmortemaction.h index 99d104165b0..d981ea14ccb 100644 --- a/src/plugins/debugger/registerpostmortemaction.h +++ b/src/plugins/debugger/registerpostmortemaction.h @@ -12,8 +12,8 @@ class RegisterPostMortemAction : public Utils::BoolAspect { public: RegisterPostMortemAction(); - void readSettings(const QSettings *settings = nullptr) override; - void writeSettings(QSettings *) const override {} + void readSettings() override; + void writeSettings() const override {} private: void registerNow(bool value); diff --git a/src/plugins/perforce/perforceplugin.cpp b/src/plugins/perforce/perforceplugin.cpp index 82ee2f43d4d..5e6a7b18478 100644 --- a/src/plugins/perforce/perforceplugin.cpp +++ b/src/plugins/perforce/perforceplugin.cpp @@ -379,7 +379,7 @@ PerforcePluginPrivate::PerforcePluginPrivate() dd = this; - m_settings.readSettings(ICore::settings()); + m_settings.readSettings(); const QString prefix = QLatin1String("p4"); m_commandLocator = new CommandLocator("Perforce", prefix, prefix, this); @@ -1678,7 +1678,7 @@ void PerforcePluginPrivate::setTopLevel(const FilePath &topLevel) void PerforcePluginPrivate::applySettings() { - m_settings.writeSettings(ICore::settings()); + m_settings.writeSettings(); m_managedDirectoryCache.clear(); getTopLevel(); emit configurationChanged(); diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 26c6ed8827d..a143f91b704 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -1681,7 +1681,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er = s->value(Constants::LOW_BUILD_PRIORITY_SETTINGS_KEY, defaultSettings.lowBuildPriority) .toBool(); - dd->m_buildPropertiesSettings.readSettings(s); + dd->m_buildPropertiesSettings.readSettings(); const int customParserCount = s->value(Constants::CUSTOM_PARSER_COUNT_KEY).toInt(); for (int i = 0; i < customParserCount; ++i) { @@ -2255,7 +2255,7 @@ void ProjectExplorerPluginPrivate::savePersistentSettings() int(dd->m_projectExplorerSettings.stopBeforeBuild), int(defaultSettings.stopBeforeBuild)); - dd->m_buildPropertiesSettings.writeSettings(s); + dd->m_buildPropertiesSettings.writeSettings(); s->setValueWithDefault(Constants::CUSTOM_PARSER_COUNT_KEY, int(dd->m_customParsers.count()), 0); for (int i = 0; i < dd->m_customParsers.count(); ++i) { diff --git a/src/plugins/qmakeprojectmanager/qmakesettings.cpp b/src/plugins/qmakeprojectmanager/qmakesettings.cpp index c5bb6a2890a..e0ab9a47082 100644 --- a/src/plugins/qmakeprojectmanager/qmakesettings.cpp +++ b/src/plugins/qmakeprojectmanager/qmakesettings.cpp @@ -5,7 +5,6 @@ #include "qmakeprojectmanagertr.h" #include <coreplugin/dialogs/ioptionspage.h> -#include <coreplugin/icore.h> #include <projectexplorer/projectexplorerconstants.h> @@ -59,7 +58,7 @@ QmakeSettings::QmakeSettings() }; }); - readSettings(Core::ICore::settings()); + readSettings(); } class QmakeSettingsPage : public Core::IOptionsPage diff --git a/src/plugins/qmlprofiler/qmlprofilersettings.cpp b/src/plugins/qmlprofiler/qmlprofilersettings.cpp index 1002479baae..17ae29c28b9 100644 --- a/src/plugins/qmlprofiler/qmlprofilersettings.cpp +++ b/src/plugins/qmlprofiler/qmlprofilersettings.cpp @@ -6,8 +6,6 @@ #include "qmlprofilersettings.h" #include "qmlprofilertr.h" -#include <coreplugin/icore.h> - #include <debugger/analyzer/analyzericons.h> #include <debugger/debuggertr.h> @@ -76,12 +74,12 @@ QmlProfilerSettings::QmlProfilerSettings() "the program.")); // Read stored values - readSettings(Core::ICore::settings()); + readSettings(); } void QmlProfilerSettings::writeGlobalSettings() const { - writeSettings(Core::ICore::settings()); + writeSettings(); } // QmlProfilerOptionsPage diff --git a/src/plugins/terminal/terminalpane.cpp b/src/plugins/terminal/terminalpane.cpp index 279786cac85..d8144818fe6 100644 --- a/src/plugins/terminal/terminalpane.cpp +++ b/src/plugins/terminal/terminalpane.cpp @@ -94,7 +94,7 @@ TerminalPane::TerminalPane(QObject *parent) connect(m_escSettingButton, &QToolButton::toggled, this, [this, updateEscButton] { TerminalSettings::instance().sendEscapeToTerminal.setValue(m_escSettingButton->isChecked()); - TerminalSettings::instance().writeSettings(ICore::settings()); + TerminalSettings::instance().writeSettings(); updateEscButton(); }); diff --git a/src/plugins/vcpkg/vcpkgsettings.cpp b/src/plugins/vcpkg/vcpkgsettings.cpp index ac7bf8ba32c..8f026c5654a 100644 --- a/src/plugins/vcpkg/vcpkgsettings.cpp +++ b/src/plugins/vcpkg/vcpkgsettings.cpp @@ -66,7 +66,7 @@ VcpkgSettings::VcpkgSettings() // clang-format on }); - readSettings(Core::ICore::settings()); + readSettings(); } class VcpkgSettingsPage : public Core::IOptionsPage diff --git a/src/plugins/vcsbase/vcsbaseclient.cpp b/src/plugins/vcsbase/vcsbaseclient.cpp index ffa19b24f78..de3565dd531 100644 --- a/src/plugins/vcsbase/vcsbaseclient.cpp +++ b/src/plugins/vcsbase/vcsbaseclient.cpp @@ -246,7 +246,7 @@ VcsBaseEditorWidget *VcsBaseClientImpl::createVcsEditor(Id kind, QString title, void VcsBaseClientImpl::saveSettings() { - m_baseSettings->writeSettings(ICore::settings()); + m_baseSettings->writeSettings(); } VcsBaseClient::VcsBaseClient(VcsBaseSettings *baseSettings) |