ProjectManager: Auto-register build settings aspects

Add the necessary contructor to TriStateAspect, too.

Change-Id: Ieb0f19cdf95f7492380d7c4e5663f455e4da3452
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2023-05-31 18:04:22 +02:00
parent 5fb623fc14
commit 64c48af15b
6 changed files with 17 additions and 16 deletions

View File

@@ -101,11 +101,11 @@ DebuggerRunConfigurationAspect::DebuggerRunConfigurationAspect(Target *target)
addDataExtractor(this, &DebuggerRunConfigurationAspect::useMultiProcess, &Data::useMultiProcess);
addDataExtractor(this, &DebuggerRunConfigurationAspect::overrideStartup, &Data::overrideStartup);
m_cppAspect = new TriStateAspect(Tr::tr("Enabled"), Tr::tr("Disabled"), Tr::tr("Automatic"));
m_cppAspect = new TriStateAspect(nullptr, Tr::tr("Enabled"), Tr::tr("Disabled"), Tr::tr("Automatic"));
m_cppAspect->setLabelText(Tr::tr("C++ debugger:"));
m_cppAspect->setSettingsKey("RunConfiguration.UseCppDebugger");
m_qmlAspect = new TriStateAspect(Tr::tr("Enabled"), Tr::tr("Disabled"), Tr::tr("Automatic"));
m_qmlAspect = new TriStateAspect(nullptr, Tr::tr("Enabled"), Tr::tr("Disabled"), Tr::tr("Automatic"));
m_qmlAspect->setLabelText(Tr::tr("QML debugger:"));
m_qmlAspect->setSettingsKey("RunConfiguration.UseQmlDebugger");

View File

@@ -16,8 +16,8 @@ namespace ProjectExplorer {
const char DEFAULT_BUILD_DIRECTORY_TEMPLATE[]
= "../%{JS: Util.asciify(\"build-%{Project:Name}-%{Kit:FileSystemName}-%{BuildConfig:Name}\")}";
BuildPropertiesSettings::BuildTriStateAspect::BuildTriStateAspect()
: TriStateAspect{Tr::tr("Enable"), Tr::tr("Disable"), Tr::tr("Use Project Default")}
BuildPropertiesSettings::BuildTriStateAspect::BuildTriStateAspect(AspectContainer *container)
: TriStateAspect(container, Tr::tr("Enable"), Tr::tr("Disable"), Tr::tr("Use Project Default"))
{}
BuildPropertiesSettings::BuildPropertiesSettings()
@@ -43,7 +43,6 @@ BuildPropertiesSettings::BuildPropertiesSettings()
};
});
registerAspect(&buildDirectoryTemplate);
buildDirectoryTemplate.setDisplayStyle(StringAspect::LineEditDisplay);
buildDirectoryTemplate.setSettingsKey("Directories/BuildDirectory.TemplateV2");
buildDirectoryTemplate.setDefaultValue(DEFAULT_BUILD_DIRECTORY_TEMPLATE);
@@ -51,15 +50,12 @@ BuildPropertiesSettings::BuildPropertiesSettings()
buildDirectoryTemplate.setUseGlobalMacroExpander();
buildDirectoryTemplate.setUseResetButton();
registerAspect(&separateDebugInfo);
separateDebugInfo.setSettingsKey("ProjectExplorer/Settings/SeparateDebugInfo");
separateDebugInfo.setLabelText(Tr::tr("Separate debug info:"));
registerAspect(&qmlDebugging);
qmlDebugging.setSettingsKey("ProjectExplorer/Settings/QmlDebugging");
qmlDebugging.setLabelText(Tr::tr("QML debugging:"));
registerAspect(&qtQuickCompiler);
qtQuickCompiler.setSettingsKey("ProjectExplorer/Settings/QtQuickCompiler");
qtQuickCompiler.setLabelText(Tr::tr("Use qmlcachegen:"));

View File

@@ -17,13 +17,13 @@ public:
class BuildTriStateAspect : public Utils::TriStateAspect
{
public:
BuildTriStateAspect();
explicit BuildTriStateAspect(AspectContainer *container);
};
Utils::StringAspect buildDirectoryTemplate;
BuildTriStateAspect separateDebugInfo;
BuildTriStateAspect qmlDebugging;
BuildTriStateAspect qtQuickCompiler;
Utils::StringAspect buildDirectoryTemplate{this};
BuildTriStateAspect separateDebugInfo{this};
BuildTriStateAspect qmlDebugging{this};
BuildTriStateAspect qtQuickCompiler{this};
Utils::BoolAspect showQtSettings;
QString defaultBuildDirectoryTemplate();

View File

@@ -57,7 +57,8 @@ class RunSystemAspect : public TriStateAspect
{
Q_OBJECT
public:
RunSystemAspect() : TriStateAspect(Tr::tr("Run"), Tr::tr("Ignore"), Tr::tr("Use global setting"))
RunSystemAspect()
: TriStateAspect(nullptr, Tr::tr("Run"), Tr::tr("Ignore"), Tr::tr("Use global setting"))
{
setSettingsKey("RunSystemFunction");
setDisplayName(Tr::tr("qmake system() behavior when parsing:"));