From 5b7729a21a21fbf438ac85b5f66f1cd27f5d1061 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 26 Oct 2022 15:52:18 +0200 Subject: [PATCH] QbsProjectManager: Fix displayed build variant in build step The initialization was lost in 2ecfda056bf283cc57132481e4fa11642a02491f. Change-Id: I40db0ea26de74aa6420ecc50c473bbcb22891238 Reviewed-by: Christian Stenger Reviewed-by: Qt CI Bot --- .../qbsprojectmanager/qbsbuildstep.cpp | 30 ++++++++----------- src/plugins/qbsprojectmanager/qbsbuildstep.h | 1 - 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp index 5ac88bb4665..d0b66a15491 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp +++ b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp @@ -209,8 +209,9 @@ QbsBuildStep::QbsBuildStep(BuildStepList *bsl, Utils::Id id) : m_buildVariant = addAspect(); m_buildVariant->setDisplayName(QbsProjectManager::Tr::tr("Build variant:")); m_buildVariant->setDisplayStyle(SelectionAspect::DisplayStyle::ComboBox); - m_buildVariant->addOption(ProjectExplorer::Tr::tr("Debug")); - m_buildVariant->addOption(ProjectExplorer::Tr::tr("Release")); + m_buildVariant->addOption({ProjectExplorer::Tr::tr("Debug"), {}, Constants::QBS_VARIANT_DEBUG}); + m_buildVariant->addOption({ProjectExplorer::Tr::tr("Release"), {}, + Constants::QBS_VARIANT_RELEASE}); m_selectedAbis = addAspect(); m_selectedAbis->setLabelText(QbsProjectManager::Tr::tr("ABIs:")); @@ -263,7 +264,9 @@ QbsBuildStep::QbsBuildStep(BuildStepList *bsl, Utils::Id id) : connect(m_cleanInstallDir, &BaseAspect::changed, this, &QbsBuildStep::updateState); connect(m_forceProbes, &BaseAspect::changed, this, &QbsBuildStep::updateState); - connect(m_buildVariant, &SelectionAspect::changed, this, &QbsBuildStep::changeBuildVariant); + connect(m_buildVariant, &SelectionAspect::changed, this, [this] { + setBuildVariant(m_buildVariant->itemValue().toString()); + }); connect(m_selectedAbis, &SelectionAspect::changed, [this] { setConfiguredArchitectures(m_selectedAbis->selectedArchitectures()); }); } @@ -358,13 +361,16 @@ void QbsBuildStep::setQbsConfiguration(const QVariantMap &config) { QVariantMap tmp = config; tmp.insert(Constants::QBS_CONFIG_PROFILE_KEY, qbsBuildSystem()->profile()); - if (!tmp.contains(Constants::QBS_CONFIG_VARIANT_KEY)) - tmp.insert(Constants::QBS_CONFIG_VARIANT_KEY, - QString::fromLatin1(Constants::QBS_VARIANT_DEBUG)); - + QString buildVariant = tmp.value(Constants::QBS_CONFIG_VARIANT_KEY).toString(); + if (buildVariant.isEmpty()) { + buildVariant = Constants::QBS_VARIANT_DEBUG; + tmp.insert(Constants::QBS_CONFIG_VARIANT_KEY, buildVariant); + } if (tmp == m_qbsConfiguration) return; m_qbsConfiguration = tmp; + if (m_buildVariant) + m_buildVariant->setValue(m_buildVariant->indexForItemValue(buildVariant)); if (ProjectExplorer::BuildConfiguration *bc = buildConfiguration()) emit bc->buildTypeChanged(); emit qbsConfigurationChanged(); @@ -760,16 +766,6 @@ void QbsBuildStepConfigWidget::updatePropertyEdit(const QVariantMap &data) propertyEdit->setText(ProcessArgs::joinArgs(propertyList)); } -void QbsBuildStep::changeBuildVariant() -{ - QString variant; - if (m_buildVariant->value() == 1) - variant = Constants::QBS_VARIANT_RELEASE; - else - variant = Constants::QBS_VARIANT_DEBUG; - setBuildVariant(variant); -} - void QbsBuildStepConfigWidget::changeUseDefaultInstallDir(bool useDefault) { const GuardLocker locker(m_ignoreChanges); diff --git a/src/plugins/qbsprojectmanager/qbsbuildstep.h b/src/plugins/qbsprojectmanager/qbsbuildstep.h index faf12c31686..644acabe578 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildstep.h +++ b/src/plugins/qbsprojectmanager/qbsbuildstep.h @@ -89,7 +89,6 @@ private: void finish(); void updateState(); - void changeBuildVariant(); QStringList configuredArchitectures() const; QVariantMap m_qbsConfiguration;