diff options
author | hjk <hjk@qt.io> | 2023-07-12 13:35:15 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2023-07-13 12:36:36 +0000 |
commit | 4c02bc497c6b1981f3853669c60fbbd078c89dc3 (patch) | |
tree | 925226f2fd4c3c136ad4b8cc05fead76f7cbd9c0 /src | |
parent | 54a6145ae94458bd180acacdce0256f36f69ef4e (diff) |
Core: Add some sanity check that settings containers don't auto-apply
We use manual 'Apply' in the dialog.
Also, mark a few pages as non-autoapply that were recently changed
away from PagedSettings again which did that autmatically.
Change-Id: Id78cac2770658b18c420813802a0e77443329f39
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/autotest/ctest/ctesttool.cpp | 1 | ||||
-rw-r--r-- | src/plugins/beautifier/beautifiertool.cpp | 1 | ||||
-rw-r--r-- | src/plugins/coreplugin/dialogs/ioptionspage.cpp | 7 | ||||
-rw-r--r-- | src/plugins/fakevim/fakevimactions.cpp | 2 | ||||
-rw-r--r-- | src/plugins/terminal/terminalsettings.cpp | 1 | ||||
-rw-r--r-- | src/plugins/vcpkg/vcpkgsettings.cpp | 1 |
6 files changed, 13 insertions, 0 deletions
diff --git a/src/plugins/autotest/ctest/ctesttool.cpp b/src/plugins/autotest/ctest/ctesttool.cpp index 766e9cc1ffd..8933cc093ec 100644 --- a/src/plugins/autotest/ctest/ctesttool.cpp +++ b/src/plugins/autotest/ctest/ctesttool.cpp @@ -30,6 +30,7 @@ CTestTool::CTestTool() : Autotest::ITestTool(false) { setSettingsGroups("Autotest", "CTest"); + setAutoApply(false); setLayouter([this] { return Row { Form { diff --git a/src/plugins/beautifier/beautifiertool.cpp b/src/plugins/beautifier/beautifiertool.cpp index 85c70fee264..a8be6a48377 100644 --- a/src/plugins/beautifier/beautifiertool.cpp +++ b/src/plugins/beautifier/beautifiertool.cpp @@ -129,6 +129,7 @@ AbstractSettings::AbstractSettings(const QString &name, const QString &ending) .pathAppended(name)) { setSettingsGroups(Utils::Constants::BEAUTIFIER_SETTINGS_GROUP, name); + setAutoApply(false); command.setSettingsKey("command"); command.setExpectedKind(PathChooser::ExistingCommand); diff --git a/src/plugins/coreplugin/dialogs/ioptionspage.cpp b/src/plugins/coreplugin/dialogs/ioptionspage.cpp index 31bf0069b9e..a4762169000 100644 --- a/src/plugins/coreplugin/dialogs/ioptionspage.cpp +++ b/src/plugins/coreplugin/dialogs/ioptionspage.cpp @@ -164,6 +164,13 @@ void IOptionsPage::apply() if (m_settingsProvider) { AspectContainer *container = m_settingsProvider(); + QTC_ASSERT(container, return); + // Sanity check: Aspects in option pages should not autoapply. + if (!container->aspects().isEmpty()) { + BaseAspect *aspect = container->aspects().first(); + QTC_ASSERT(aspect, return); + QTC_ASSERT(!aspect->isAutoApply(), container->setAutoApply(false)); + } if (container->isDirty()) { container->apply(); container->writeSettings(); diff --git a/src/plugins/fakevim/fakevimactions.cpp b/src/plugins/fakevim/fakevimactions.cpp index c80d17c9722..77707500947 100644 --- a/src/plugins/fakevim/fakevimactions.cpp +++ b/src/plugins/fakevim/fakevimactions.cpp @@ -53,6 +53,8 @@ FakeVimSettings &settings() FakeVimSettings::FakeVimSettings() { + setAutoApply(false); + setup(&useFakeVim, false, "UseFakeVim", {}, Tr::tr("Use FakeVim")); // Specific FakeVim settings diff --git a/src/plugins/terminal/terminalsettings.cpp b/src/plugins/terminal/terminalsettings.cpp index 47811b230a7..f78173aa955 100644 --- a/src/plugins/terminal/terminalsettings.cpp +++ b/src/plugins/terminal/terminalsettings.cpp @@ -362,6 +362,7 @@ TerminalSettings &settings() TerminalSettings::TerminalSettings() { setSettingsGroup("Terminal"); + setAutoApply(false); enableTerminal.setSettingsKey("EnableTerminal"); enableTerminal.setLabelText(Tr::tr("Use internal terminal")); diff --git a/src/plugins/vcpkg/vcpkgsettings.cpp b/src/plugins/vcpkg/vcpkgsettings.cpp index 8f026c5654a..338c77df8df 100644 --- a/src/plugins/vcpkg/vcpkgsettings.cpp +++ b/src/plugins/vcpkg/vcpkgsettings.cpp @@ -31,6 +31,7 @@ VcpkgSettings &settings() VcpkgSettings::VcpkgSettings() { setSettingsGroup("Vcpkg"); + setAutoApply(false); vcpkgRoot.setSettingsKey("VcpkgRoot"); vcpkgRoot.setExpectedKind(PathChooser::ExistingDirectory); |