summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2019-01-15 15:25:45 +0100
committerhjk <hjk@qt.io>2019-01-16 09:48:29 +0000
commit9c23e37f5dec9c9d73334cf91435b9bcbbccaf62 (patch)
tree400841814d45200f51044d233dea6e4ce2acc96b /src
parent54385ad67be075ac14d0edae5c451ed3d925edc8 (diff)
downloadqt-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')
-rw-r--r--src/plugins/android/androiddeployconfiguration.cpp8
-rw-r--r--src/plugins/android/androiddeployconfiguration.h2
-rw-r--r--src/plugins/projectexplorer/deployconfiguration.cpp12
-rw-r--r--src/plugins/projectexplorer/deployconfiguration.h2
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 *)>;