diff options
author | hjk <[email protected]> | 2024-10-17 16:42:52 +0200 |
---|---|---|
committer | hjk <[email protected]> | 2024-10-18 06:45:09 +0000 |
commit | 7c23409e2ae45a9e00a409e47d1d95ebf55dde6c (patch) | |
tree | 7ef60e32ca68d03298a24eca987e14796a6f7b06 /src | |
parent | 3d5e7a9f660d8abe148f9cb316a989d593030f69 (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.cpp | 1 | ||||
-rw-r--r-- | src/plugins/projectexplorer/makestep.cpp | 3 | ||||
-rw-r--r-- | src/plugins/qbsprojectmanager/qbsbuildstep.cpp | 18 | ||||
-rw-r--r-- | src/plugins/qmakeprojectmanager/qmakestep.cpp | 4 |
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; } |