aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2023-07-12 13:35:15 +0200
committerhjk <hjk@qt.io>2023-07-13 12:36:36 +0000
commit4c02bc497c6b1981f3853669c60fbbd078c89dc3 (patch)
tree925226f2fd4c3c136ad4b8cc05fead76f7cbd9c0 /src
parent54a6145ae94458bd180acacdce0256f36f69ef4e (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.cpp1
-rw-r--r--src/plugins/beautifier/beautifiertool.cpp1
-rw-r--r--src/plugins/coreplugin/dialogs/ioptionspage.cpp7
-rw-r--r--src/plugins/fakevim/fakevimactions.cpp2
-rw-r--r--src/plugins/terminal/terminalsettings.cpp1
-rw-r--r--src/plugins/vcpkg/vcpkgsettings.cpp1
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);