aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorhjk <[email protected]>2024-10-17 16:42:52 +0200
committerhjk <[email protected]>2024-10-18 06:45:09 +0000
commit7c23409e2ae45a9e00a409e47d1d95ebf55dde6c (patch)
tree7ef60e32ca68d03298a24eca987e14796a6f7b06 /src
parent3d5e7a9f660d8abe148f9cb316a989d593030f69 (diff)
Qbs/Qmake: Centralize build step variable chooser creation
This is nothing individual steps should worry about anymore. Similar to what RunConfiguration::createConfigurationWidget() did already. Change-Id: I5e29e7ceff5b6761952a0a123d9198a0d381cf4f Reviewed-by: Christian Kandeler <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/projectexplorer/buildstep.cpp1
-rw-r--r--src/plugins/projectexplorer/makestep.cpp3
-rw-r--r--src/plugins/qbsprojectmanager/qbsbuildstep.cpp18
-rw-r--r--src/plugins/qmakeprojectmanager/qmakestep.cpp4
4 files changed, 7 insertions, 19 deletions
diff --git a/src/plugins/projectexplorer/buildstep.cpp b/src/plugins/projectexplorer/buildstep.cpp
index 1b07968338e..581addb5dc4 100644
--- a/src/plugins/projectexplorer/buildstep.cpp
+++ b/src/plugins/projectexplorer/buildstep.cpp
@@ -93,6 +93,7 @@ BuildStep::BuildStep(BuildStepList *bsl, Id id)
QWidget *BuildStep::doCreateConfigWidget()
{
QWidget *widget = createConfigWidget();
+ VariableChooser::addSupportForChildWidgets(widget, macroExpander());
const auto recreateSummary = [this] {
if (m_summaryUpdater)
diff --git a/src/plugins/projectexplorer/makestep.cpp b/src/plugins/projectexplorer/makestep.cpp
index 36051201008..6a4db951059 100644
--- a/src/plugins/projectexplorer/makestep.cpp
+++ b/src/plugins/projectexplorer/makestep.cpp
@@ -22,7 +22,6 @@
#include <utils/pathchooser.h>
#include <utils/qtcprocess.h>
#include <utils/utilsicons.h>
-#include <utils/variablechooser.h>
#include <QThread>
@@ -322,8 +321,6 @@ QWidget *MakeStep::createConfigWidget()
auto widget = builder.emerge();
- VariableChooser::addSupportForChildWidgets(widget, macroExpander());
-
setSummaryUpdater([this] {
const CommandLine make = effectiveMakeCommand(MakeStep::Display);
if (make.executable().isEmpty())
diff --git a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
index 89a3e562889..c28e52e0262 100644
--- a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
+++ b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
@@ -22,11 +22,9 @@
#include <utils/algorithm.h>
#include <utils/guard.h>
#include <utils/layoutbuilder.h>
-#include <utils/macroexpander.h>
#include <utils/outputformatter.h>
#include <utils/pathchooser.h>
#include <utils/qtcassert.h>
-#include <utils/variablechooser.h>
#include <QCheckBox>
#include <QJsonArray>
@@ -486,8 +484,13 @@ QbsBuildStepConfigWidget::QbsBuildStepConfigWidget(QbsBuildStep *step)
setContentsMargins(0, 0, 0, 0);
propertyEdit = new FancyLineEdit(this);
+ propertyEdit->setToolTip(QbsProjectManager::Tr::tr("Properties to pass to the project."));
+ propertyEdit->setValidationFunction([this](FancyLineEdit *edit, QString *errorMessage) {
+ return validateProperties(edit, errorMessage);
+ });
defaultInstallDirCheckBox = new QCheckBox(this);
+ defaultInstallDirCheckBox->setText(QbsProjectManager::Tr::tr("Use default location"));
installDirChooser = new PathChooser(this);
installDirChooser->setExpectedKind(PathChooser::Directory);
@@ -514,17 +517,6 @@ QbsBuildStepConfigWidget::QbsBuildStepConfigWidget(QbsBuildStep *step)
noMargin,
}.attachTo(this);
- propertyEdit->setToolTip(QbsProjectManager::Tr::tr("Properties to pass to the project."));
- defaultInstallDirCheckBox->setText(QbsProjectManager::Tr::tr("Use default location"));
-
- auto chooser = new VariableChooser(this);
- chooser->addMacroExpanderProvider([this] { return m_qbsStep->macroExpander(); });
- chooser->addSupportedWidget(propertyEdit);
- chooser->addSupportedWidget(installDirChooser->lineEdit());
- propertyEdit->setValidationFunction([this](FancyLineEdit *edit, QString *errorMessage) {
- return validateProperties(edit, errorMessage);
- });
-
connect(defaultInstallDirCheckBox, &QCheckBox::toggled, this,
&QbsBuildStepConfigWidget::changeUseDefaultInstallDir);
diff --git a/src/plugins/qmakeprojectmanager/qmakestep.cpp b/src/plugins/qmakeprojectmanager/qmakestep.cpp
index 179e1796728..1f39c4c04da 100644
--- a/src/plugins/qmakeprojectmanager/qmakestep.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakestep.cpp
@@ -28,6 +28,7 @@
#include <coreplugin/icore.h>
#include <coreplugin/icontext.h>
+
#include <qtsupport/qtkitaspect.h>
#include <qtsupport/qtversionmanager.h>
#include <qtsupport/qtsupportconstants.h>
@@ -39,7 +40,6 @@
#include <utils/layoutbuilder.h>
#include <utils/qtcprocess.h>
#include <utils/utilsicons.h>
-#include <utils/variablechooser.h>
#include <QDir>
#include <QLabel>
@@ -479,8 +479,6 @@ QWidget *QMakeStep::createConfigWidget()
abisListWidget = nullptr;
});
- VariableChooser::addSupportForChildWidgets(widget, macroExpander());
-
return widget;
}