ProjectExplorer: Apply low priority build immediately

The MakeSteps are instantiated when the project is opened, but if the low
priority setting is changed after that, it was not applied until reopening
the project, because the setting was only tested on the ctor.

Moved the setting test to actual execution.

Task-number: QTCREATORBUG-23048
Change-Id: Ie0bcbe07f6d9a09b173f7e0fa6f1d5d12b4ac601
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Orgad Shaneh
2019-10-09 21:29:12 +03:00
committed by Orgad Shaneh
parent 2f7aafbe09
commit 132abc789d
5 changed files with 7 additions and 8 deletions

View File

@@ -87,7 +87,7 @@ CMakeBuildStep::CMakeBuildStep(BuildStepList *bsl) :
if (m_buildTarget.isEmpty()) if (m_buildTarget.isEmpty())
setBuildTarget(defaultBuildTarget()); setBuildTarget(defaultBuildTarget());
setLowPriorityIfConfigured(); setLowPriority();
connect(target(), &Target::kitChanged, this, &CMakeBuildStep::cmakeCommandChanged); connect(target(), &Target::kitChanged, this, &CMakeBuildStep::cmakeCommandChanged);
connect(project(), &Project::parsingFinished, connect(project(), &Project::parsingFinished,

View File

@@ -230,7 +230,7 @@ void AbstractProcessStep::doRun()
d->m_process->setWorkingDirectory(wd.absolutePath()); d->m_process->setWorkingDirectory(wd.absolutePath());
d->m_process->setEnvironment(d->m_param.environment()); d->m_process->setEnvironment(d->m_param.environment());
d->m_process->setCommand(effectiveCommand); d->m_process->setCommand(effectiveCommand);
if (d->m_lowPriority) if (d->m_lowPriority && ProjectExplorerPlugin::projectExplorerSettings().lowBuildPriority)
d->m_process->setLowPriority(); d->m_process->setLowPriority();
connect(d->m_process.get(), &QProcess::readyReadStandardOutput, connect(d->m_process.get(), &QProcess::readyReadStandardOutput,
@@ -251,9 +251,8 @@ void AbstractProcessStep::doRun()
processStarted(); processStarted();
} }
void AbstractProcessStep::setLowPriorityIfConfigured() void AbstractProcessStep::setLowPriority()
{ {
if (ProjectExplorerPlugin::projectExplorerSettings().lowBuildPriority)
d->m_lowPriority = true; d->m_lowPriority = true;
} }

View File

@@ -57,7 +57,7 @@ protected:
~AbstractProcessStep() override; ~AbstractProcessStep() override;
bool init() override; bool init() override;
void doRun() override; void doRun() override;
void setLowPriorityIfConfigured(); void setLowPriority();
virtual void finish(bool success); virtual void finish(bool success);
virtual void processStarted(); virtual void processStarted();

View File

@@ -65,7 +65,7 @@ MakeStep::MakeStep(BuildStepList *parent, Core::Id id)
m_userJobCount(defaultJobCount()) m_userJobCount(defaultJobCount())
{ {
setDefaultDisplayName(defaultDisplayName()); setDefaultDisplayName(defaultDisplayName());
setLowPriorityIfConfigured(); setLowPriority();
} }
void MakeStep::setBuildTarget(const QString &buildTarget) void MakeStep::setBuildTarget(const QString &buildTarget)

View File

@@ -76,7 +76,7 @@ QMakeStep::QMakeStep(BuildStepList *bsl) : AbstractProcessStep(bsl, Constants::Q
{ {
//: QMakeStep default display name //: QMakeStep default display name
setDefaultDisplayName(tr("qmake")); setDefaultDisplayName(tr("qmake"));
setLowPriorityIfConfigured(); setLowPriority();
} }
QmakeBuildConfiguration *QMakeStep::qmakeBuildConfiguration() const QmakeBuildConfiguration *QMakeStep::qmakeBuildConfiguration() const