diff options
author | hjk <hjk@qt.io> | 2019-01-15 15:25:45 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2019-01-16 09:48:29 +0000 |
commit | 9c23e37f5dec9c9d73334cf91435b9bcbbccaf62 (patch) | |
tree | 400841814d45200f51044d233dea6e4ce2acc96b /src | |
parent | 54385ad67be075ac14d0edae5c451ed3d925edc8 (diff) | |
download | qt-creator-9c23e37f5dec9c9d73334cf91435b9bcbbccaf62.tar.gz |
ProjectExplorer: Simplify DeployConfigFactory::availableBuildTargets
It only ever returned either an empty list, or a list with a single
empty string. Using a bool return value to distiguish the cases is
less convoluted.
This is a leftover from the time when a DeployConfigurationFactory
could potentially create more than on DeployConfiguration, but this
is not supported anymore, as factories are cheap nowadays.
Change-Id: I4f2a91d3509d2b978949211ee709863d5ff460c7
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src')
4 files changed, 10 insertions, 14 deletions
diff --git a/src/plugins/android/androiddeployconfiguration.cpp b/src/plugins/android/androiddeployconfiguration.cpp index 7c8b9a3671..795ac09f3c 100644 --- a/src/plugins/android/androiddeployconfiguration.cpp +++ b/src/plugins/android/androiddeployconfiguration.cpp @@ -60,20 +60,18 @@ AndroidDeployConfigurationFactory::AndroidDeployConfigurationFactory() setDefaultDisplayName(AndroidDeployConfiguration::tr("Deploy to Android device")); } -QList<QString> AndroidDeployConfigurationFactory::availableBuildTargets(Target *parent) const +bool AndroidDeployConfigurationFactory::hasAvailableBuildTargets(Target *parent) const { if (!parent->project()->id().name().startsWith("QmlProjectManager.QmlProject")) { // Avoid tool chain check for QML Project Core::Id cxxLangId(ProjectExplorer::Constants::CXX_LANGUAGE_ID); ToolChain *tc = ToolChainKitInformation::toolChain(parent->kit(), cxxLangId); if (!tc || tc->targetAbi().osFlavor() != Abi::AndroidLinuxFlavor) - return {}; + return false; } QtSupport::BaseQtVersion *qt = QtSupport::QtKitInformation::qtVersion(parent->kit()); - if (!qt || qt->type() != Constants::ANDROIDQT) - return {}; - return {QString()}; + return qt && qt->type() == Constants::ANDROIDQT; } } // namespace Internal diff --git a/src/plugins/android/androiddeployconfiguration.h b/src/plugins/android/androiddeployconfiguration.h index f8b13fe1bc..83970d5d48 100644 --- a/src/plugins/android/androiddeployconfiguration.h +++ b/src/plugins/android/androiddeployconfiguration.h @@ -44,7 +44,7 @@ class AndroidDeployConfigurationFactory : public ProjectExplorer::DeployConfigur public: AndroidDeployConfigurationFactory(); - QList<QString> availableBuildTargets(ProjectExplorer::Target *parent) const override; + bool hasAvailableBuildTargets(ProjectExplorer::Target *parent) const override; }; } // namespace Internal diff --git a/src/plugins/projectexplorer/deployconfiguration.cpp b/src/plugins/projectexplorer/deployconfiguration.cpp index cbac4040b5..1686759149 100644 --- a/src/plugins/projectexplorer/deployconfiguration.cpp +++ b/src/plugins/projectexplorer/deployconfiguration.cpp @@ -153,16 +153,14 @@ DeployConfigurationFactory::~DeployConfigurationFactory() QList<Core::Id> DeployConfigurationFactory::availableCreationIds(Target *parent) const { - if (!canHandle(parent)) - return {}; - return Utils::transform(availableBuildTargets(parent), [this](const QString &suffix) { - return m_deployConfigBaseId.withSuffix(suffix); - }); + if (canHandle(parent) && hasAvailableBuildTargets(parent)) + return {m_deployConfigBaseId}; + return {}; } -QList<QString> DeployConfigurationFactory::availableBuildTargets(Target *) const +bool DeployConfigurationFactory::hasAvailableBuildTargets(Target *) const { - return {QString()}; + return true; } QString DeployConfigurationFactory::displayNameForBuildTarget(const QString &) const diff --git a/src/plugins/projectexplorer/deployconfiguration.h b/src/plugins/projectexplorer/deployconfiguration.h index e56e778579..1b56c11d12 100644 --- a/src/plugins/projectexplorer/deployconfiguration.h +++ b/src/plugins/projectexplorer/deployconfiguration.h @@ -98,7 +98,7 @@ public: protected: virtual bool canHandle(ProjectExplorer::Target *target) const; - virtual QList<QString> availableBuildTargets(Target *parent) const; + virtual bool hasAvailableBuildTargets(Target *parent) const; virtual QString displayNameForBuildTarget(const QString &buildTarget) const; using DeployConfigurationCreator = std::function<DeployConfiguration *(Target *)>; |