aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Pershin <nok1a.utech@gmail.com>2022-11-30 01:10:44 +0300
committerAlexander Pershin <nok1a.utech@gmail.com>2022-11-30 11:28:04 +0000
commit5e50b9d604ae8855c50f06a19bd1444509163a9f (patch)
tree1042b8de8b2aa4857b986cd2734e1fcc2fd8d63e
parentd701cd5dbe938000ec82c58898cceff208d08ed7 (diff)
CMake: Checkbox for showing advanced options by default
Change-Id: I32f6ca068de60adf90eb0d9bc5eb7cfadc613e2d Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp3
-rw-r--r--src/plugins/cmakeprojectmanager/cmakespecificsettings.cpp7
-rw-r--r--src/plugins/cmakeprojectmanager/cmakespecificsettings.h1
3 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
index 098a85227e..31ab93d879 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
@@ -299,6 +299,9 @@ CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeBuildSystem *bs) :
m_showAdvancedCheckBox = new QCheckBox(Tr::tr("Advanced"));
+ CMakeSpecificSettings *settings = CMakeProjectPlugin::projectTypeSpecificSettings();
+ m_showAdvancedCheckBox->setChecked(settings->showAdvancedOptionsByDefault.value());
+
connect(m_configView->selectionModel(), &QItemSelectionModel::selectionChanged,
this, [this](const QItemSelection &, const QItemSelection &) {
updateSelection();
diff --git a/src/plugins/cmakeprojectmanager/cmakespecificsettings.cpp b/src/plugins/cmakeprojectmanager/cmakespecificsettings.cpp
index b87e539b88..8f4cadb40c 100644
--- a/src/plugins/cmakeprojectmanager/cmakespecificsettings.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakespecificsettings.cpp
@@ -58,6 +58,12 @@ CMakeSpecificSettings::CMakeSpecificSettings()
showSourceSubFolders.setDefaultValue(true);
showSourceSubFolders.setLabelText(
::CMakeProjectManager::Tr::tr("Show subfolders inside source group folders"));
+
+ registerAspect(&showAdvancedOptionsByDefault);
+ showAdvancedOptionsByDefault.setSettingsKey("ShowAdvancedOptionsByDefault");
+ showAdvancedOptionsByDefault.setDefaultValue(false);
+ showAdvancedOptionsByDefault.setLabelText(
+ ::CMakeProjectManager::Tr::tr("Show advanced options by default"));
}
// CMakeSpecificSettingsPage
@@ -82,6 +88,7 @@ CMakeSpecificSettingsPage::CMakeSpecificSettingsPage(CMakeSpecificSettings *sett
s.packageManagerAutoSetup,
s.askBeforeReConfigureInitialParams,
s.showSourceSubFolders,
+ s.showAdvancedOptionsByDefault,
st
}.attachTo(widget);
});
diff --git a/src/plugins/cmakeprojectmanager/cmakespecificsettings.h b/src/plugins/cmakeprojectmanager/cmakespecificsettings.h
index 6fccc790b9..7b6b34e90f 100644
--- a/src/plugins/cmakeprojectmanager/cmakespecificsettings.h
+++ b/src/plugins/cmakeprojectmanager/cmakespecificsettings.h
@@ -25,6 +25,7 @@ public:
Utils::BoolAspect packageManagerAutoSetup;
Utils::BoolAspect askBeforeReConfigureInitialParams;
Utils::BoolAspect showSourceSubFolders;
+ Utils::BoolAspect showAdvancedOptionsByDefault;
};
class CMakeSpecificSettingsPage final : public Core::IOptionsPage