From a2d1ff94b42d1949b1f31b7f9653480fb3afa980 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 6 Jan 2021 08:49:48 +0100 Subject: [PATCH] Amend "ProjectExplorer: Introduce and use a new MultiSelectionAspect" This partially reverts commit 34798b3efdcc00231cca0000b4e65b79322ee8d9, which breaks binary compatibility. Change-Id: I17d55760fac599bfba1f5a9726d81898e6979926 Reviewed-by: Eike Ziller --- src/plugins/projectexplorer/makestep.cpp | 16 ++++++++++++++++ src/plugins/projectexplorer/makestep.h | 6 ++++++ 2 files changed, 22 insertions(+) diff --git a/src/plugins/projectexplorer/makestep.cpp b/src/plugins/projectexplorer/makestep.cpp index a6144c5b9a4..480fa8ca511 100644 --- a/src/plugins/projectexplorer/makestep.cpp +++ b/src/plugins/projectexplorer/makestep.cpp @@ -417,6 +417,22 @@ QWidget *MakeStep::createConfigWidget() return widget; } +bool MakeStep::buildsTarget(const QString &target) const +{ + return m_buildTargetsAspect->value().contains(target); +} + +void MakeStep::setBuildTarget(const QString &target, bool on) +{ + QStringList old = m_buildTargetsAspect->value(); + if (on && !old.contains(target)) + old << target; + else if (!on && old.contains(target)) + old.removeOne(target); + + m_buildTargetsAspect->setValue(old); +} + QStringList MakeStep::availableTargets() const { return m_buildTargetsAspect->allValues(); diff --git a/src/plugins/projectexplorer/makestep.h b/src/plugins/projectexplorer/makestep.h index c092060f88d..d3fa16e5bde 100644 --- a/src/plugins/projectexplorer/makestep.h +++ b/src/plugins/projectexplorer/makestep.h @@ -78,6 +78,11 @@ public: Utils::Environment makeEnvironment() const; + // FIXME: All unused, remove in 4.15. + void setBuildTarget(const QString &buildTarget) { setSelectedBuildTarget(buildTarget); } + bool buildsTarget(const QString &target) const; + void setBuildTarget(const QString &target, bool on); + protected: void supportDisablingForSubdirs() { m_disablingForSubDirsSupported = true; } virtual QStringList displayArguments() const; @@ -87,6 +92,7 @@ private: QStringList jobArguments() const; Utils::MultiSelectionAspect *m_buildTargetsAspect = nullptr; + QStringList m_availableTargets; // FIXME: Unused, remove in 4.15. Utils::StringAspect *m_makeCommandAspect = nullptr; Utils::StringAspect *m_userArgumentsAspect = nullptr; Utils::AspectContainer *m_jobCountContainer = nullptr;