Utils: Remove BaseAspect base from AspectContainer again

Turns out to get into the way more often than it helps, e.g.
'setAutoApply' operated on the base class' m_autoAspect flag
instead of spreading it over the items in the container.

Change-Id: I2711f2a488d1a6c30ec21d3fc481563cec6e55d4
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
hjk
2021-03-04 08:03:49 +01:00
parent b3095b80c8
commit 2152564329
5 changed files with 23 additions and 52 deletions

View File

@@ -677,12 +677,12 @@ DebuggerSettings::DebuggerSettings()
all.registerAspect(&breakOnCatch); // ??
// Collect all
all.registerAspect(&page1);
all.registerAspect(&page2);
all.registerAspect(&page3);
all.registerAspect(&page4);
all.registerAspect(&page5);
all.registerAspect(&page6);
all.registerAspects(page1);
all.registerAspects(page2);
all.registerAspects(page3);
all.registerAspects(page4);
all.registerAspects(page5);
all.registerAspects(page6);
all.forEachAspect([](BaseAspect *aspect) {
aspect->setAutoApply(false);

View File

@@ -83,9 +83,7 @@ MakeStep::MakeStep(BuildStepList *parent, Id id)
m_userArgumentsAspect->setLabelText(tr("Make arguments:"));
m_userArgumentsAspect->setDisplayStyle(StringAspect::LineEditDisplay);
m_jobCountContainer = addAspect<AspectContainer>();
m_userJobCountAspect = m_jobCountContainer->addAspect<IntegerAspect>();
m_userJobCountAspect = addAspect<IntegerAspect>();
m_userJobCountAspect->setSettingsKey(id.withSuffix(JOBCOUNT_SUFFIX).toString());
m_userJobCountAspect->setLabel(tr("Parallel jobs:"));
m_userJobCountAspect->setRange(1, 999);
@@ -93,11 +91,11 @@ MakeStep::MakeStep(BuildStepList *parent, Id id)
m_userJobCountAspect->setDefaultValue(defaultJobCount());
const QString text = tr("Override MAKEFLAGS");
m_overrideMakeflagsAspect = m_jobCountContainer->addAspect<BoolAspect>();
m_overrideMakeflagsAspect = addAspect<BoolAspect>();
m_overrideMakeflagsAspect->setSettingsKey(id.withSuffix(OVERRIDE_MAKEFLAGS_SUFFIX).toString());
m_overrideMakeflagsAspect->setLabel(text, BoolAspect::LabelPlacement::AtCheckBox);
m_nonOverrideWarning = m_jobCountContainer->addAspect<TextDisplay>();
m_nonOverrideWarning = addAspect<TextDisplay>();
m_nonOverrideWarning->setToolTip("<html><body><p>" +
tr("<code>MAKEFLAGS</code> specifies parallel jobs. Check \"%1\" to override.")
.arg(text) + "</p></body></html>");
@@ -353,7 +351,7 @@ QWidget *MakeStep::createConfigWidget()
LayoutBuilder builder(widget);
builder.addRow(m_makeCommandAspect);
builder.addRow(m_userArgumentsAspect);
builder.addRow(m_jobCountContainer);
builder.addRow({m_userJobCountAspect, m_overrideMakeflagsAspect, m_nonOverrideWarning});
if (m_disablingForSubDirsSupported)
builder.addRow(m_disabledForSubdirsAspect);
builder.addRow(m_buildTargetsAspect);

View File

@@ -95,7 +95,6 @@ private:
QStringList m_availableTargets; // FIXME: Unused, remove in 4.15.
Utils::StringAspect *m_makeCommandAspect = nullptr;
Utils::StringAspect *m_userArgumentsAspect = nullptr;
Utils::AspectContainer *m_jobCountContainer = nullptr;
Utils::IntegerAspect *m_userJobCountAspect = nullptr;
Utils::BoolAspect *m_overrideMakeflagsAspect = nullptr;
Utils::BoolAspect *m_disabledForSubdirsAspect = nullptr;