forked from qt-creator/qt-creator
ProjectExplorer: Add a setting for low build priority
Default is false. Task-number: QTCREATORBUG-23048 Change-Id: I0f0cc787229456aad2ddf47e4ef37bad58af2038 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
committed by
Orgad Shaneh
parent
2a8a39f12b
commit
92c067ba36
@@ -87,7 +87,7 @@ CMakeBuildStep::CMakeBuildStep(BuildStepList *bsl) :
|
||||
if (m_buildTarget.isEmpty())
|
||||
setBuildTarget(defaultBuildTarget());
|
||||
|
||||
setLowPriority();
|
||||
setLowPriorityIfConfigured();
|
||||
|
||||
connect(target(), &Target::kitChanged, this, &CMakeBuildStep::cmakeCommandChanged);
|
||||
connect(project(), &Project::parsingFinished,
|
||||
|
@@ -30,6 +30,8 @@
|
||||
#include "ioutputparser.h"
|
||||
#include "processparameters.h"
|
||||
#include "project.h"
|
||||
#include "projectexplorer.h"
|
||||
#include "projectexplorersettings.h"
|
||||
#include "target.h"
|
||||
#include "task.h"
|
||||
|
||||
@@ -249,9 +251,10 @@ void AbstractProcessStep::doRun()
|
||||
processStarted();
|
||||
}
|
||||
|
||||
void AbstractProcessStep::setLowPriority()
|
||||
void AbstractProcessStep::setLowPriorityIfConfigured()
|
||||
{
|
||||
d->m_lowPriority = true;
|
||||
if (ProjectExplorerPlugin::projectExplorerSettings().lowBuildPriority)
|
||||
d->m_lowPriority = true;
|
||||
}
|
||||
|
||||
void AbstractProcessStep::doCancel()
|
||||
|
@@ -57,7 +57,7 @@ protected:
|
||||
~AbstractProcessStep() override;
|
||||
bool init() override;
|
||||
void doRun() override;
|
||||
void setLowPriority();
|
||||
void setLowPriorityIfConfigured();
|
||||
virtual void finish(bool success);
|
||||
|
||||
virtual void processStarted();
|
||||
|
@@ -65,7 +65,7 @@ MakeStep::MakeStep(BuildStepList *parent, Core::Id id)
|
||||
m_userJobCount(defaultJobCount())
|
||||
{
|
||||
setDefaultDisplayName(defaultDisplayName());
|
||||
setLowPriority();
|
||||
setLowPriorityIfConfigured();
|
||||
}
|
||||
|
||||
void MakeStep::setBuildTarget(const QString &buildTarget)
|
||||
|
@@ -256,6 +256,7 @@ const char CLOSE_FILES_WITH_PROJECT_SETTINGS_KEY[]
|
||||
const char CLEAR_ISSUES_ON_REBUILD_SETTINGS_KEY[] = "ProjectExplorer/Settings/ClearIssuesOnRebuild";
|
||||
const char ABORT_BUILD_ALL_ON_ERROR_SETTINGS_KEY[]
|
||||
= "ProjectExplorer/Settings/AbortBuildAllOnError";
|
||||
const char LOW_BUILD_PRIORITY_SETTINGS_KEY[] = "ProjectExplorer/Settings/LowBuildPriority";
|
||||
|
||||
} // namespace Constants
|
||||
|
||||
@@ -1395,6 +1396,8 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
|
||||
= s->value(Constants::CLEAR_ISSUES_ON_REBUILD_SETTINGS_KEY, true).toBool();
|
||||
dd->m_projectExplorerSettings.abortBuildAllOnError
|
||||
= s->value(Constants::ABORT_BUILD_ALL_ON_ERROR_SETTINGS_KEY, true).toBool();
|
||||
dd->m_projectExplorerSettings.lowBuildPriority
|
||||
= s->value(Constants::LOW_BUILD_PRIORITY_SETTINGS_KEY, false).toBool();
|
||||
dd->m_projectExplorerSettings.buildDirectoryTemplate
|
||||
= s->value(Constants::DEFAULT_BUILD_DIRECTORY_TEMPLATE_KEY).toString();
|
||||
if (dd->m_projectExplorerSettings.buildDirectoryTemplate.isEmpty())
|
||||
@@ -2002,6 +2005,8 @@ void ProjectExplorerPluginPrivate::savePersistentSettings()
|
||||
dd->m_projectExplorerSettings.clearIssuesOnRebuild);
|
||||
s->setValue(Constants::ABORT_BUILD_ALL_ON_ERROR_SETTINGS_KEY,
|
||||
dd->m_projectExplorerSettings.abortBuildAllOnError);
|
||||
s->setValue(Constants::LOW_BUILD_PRIORITY_SETTINGS_KEY,
|
||||
dd->m_projectExplorerSettings.lowBuildPriority);
|
||||
s->setValue(QLatin1String("ProjectExplorer/Settings/AutomaticallyCreateRunConfigurations"),
|
||||
dd->m_projectExplorerSettings.automaticallyCreateRunConfigurations);
|
||||
s->setValue(QLatin1String("ProjectExplorer/Settings/EnvironmentId"), dd->m_projectExplorerSettings.environmentId.toByteArray());
|
||||
|
@@ -52,6 +52,7 @@ public:
|
||||
bool closeSourceFilesWithProject = true;
|
||||
bool clearIssuesOnRebuild = true;
|
||||
bool abortBuildAllOnError = true;
|
||||
bool lowBuildPriority = false;
|
||||
StopBeforeBuild stopBeforeBuild = StopBeforeBuild::StopNone;
|
||||
TerminalMode terminalMode = TerminalMode::Smart;
|
||||
QString buildDirectoryTemplate;
|
||||
@@ -78,6 +79,7 @@ inline bool operator==(const ProjectExplorerSettings &p1, const ProjectExplorerS
|
||||
&& p1.closeSourceFilesWithProject == p2.closeSourceFilesWithProject
|
||||
&& p1.clearIssuesOnRebuild == p2.clearIssuesOnRebuild
|
||||
&& p1.abortBuildAllOnError == p2.abortBuildAllOnError
|
||||
&& p1.lowBuildPriority == p2.lowBuildPriority
|
||||
&& p1.buildDirectoryTemplate == p2.buildDirectoryTemplate;
|
||||
}
|
||||
|
||||
|
@@ -109,6 +109,7 @@ ProjectExplorerSettings ProjectExplorerSettingsWidget::settings() const
|
||||
m_settings.closeSourceFilesWithProject = m_ui.closeSourceFilesCheckBox->isChecked();
|
||||
m_settings.clearIssuesOnRebuild = m_ui.clearIssuesCheckBox->isChecked();
|
||||
m_settings.abortBuildAllOnError = m_ui.abortBuildAllOnErrorCheckBox->isChecked();
|
||||
m_settings.lowBuildPriority = m_ui.lowBuildPriorityCheckBox->isChecked();
|
||||
m_settings.buildDirectoryTemplate = buildDirectoryTemplate();
|
||||
return m_settings;
|
||||
}
|
||||
@@ -128,6 +129,7 @@ void ProjectExplorerSettingsWidget::setSettings(const ProjectExplorerSettings &
|
||||
m_ui.closeSourceFilesCheckBox->setChecked(m_settings.closeSourceFilesWithProject);
|
||||
m_ui.clearIssuesCheckBox->setChecked(m_settings.clearIssuesOnRebuild);
|
||||
m_ui.abortBuildAllOnErrorCheckBox->setChecked(m_settings.abortBuildAllOnError);
|
||||
m_ui.lowBuildPriorityCheckBox->setChecked(m_settings.lowBuildPriority);
|
||||
setBuildDirectoryTemplate(pes.buildDirectoryTemplate);
|
||||
}
|
||||
|
||||
|
@@ -148,6 +148,16 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="lowBuildPriorityCheckBox">
|
||||
<property name="toolTip">
|
||||
<string>Enable this if your system becomes unresponsive while building.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Start build processes with low priority</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QFormLayout" name="formLayout">
|
||||
<item row="0" column="0">
|
||||
@@ -310,6 +320,7 @@
|
||||
<zorder>addLibraryPathsToRunEnvCheckBox</zorder>
|
||||
<zorder>clearIssuesCheckBox</zorder>
|
||||
<zorder>abortBuildAllOnErrorCheckBox</zorder>
|
||||
<zorder>lowBuildPriorityCheckBox</zorder>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
|
@@ -76,7 +76,7 @@ QMakeStep::QMakeStep(BuildStepList *bsl) : AbstractProcessStep(bsl, Constants::Q
|
||||
{
|
||||
//: QMakeStep default display name
|
||||
setDefaultDisplayName(tr("qmake"));
|
||||
setLowPriority();
|
||||
setLowPriorityIfConfigured();
|
||||
}
|
||||
|
||||
QmakeBuildConfiguration *QMakeStep::qmakeBuildConfiguration() const
|
||||
|
Reference in New Issue
Block a user