forked from qt-creator/qt-creator
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>
This commit is contained in:
@@ -60,20 +60,18 @@ AndroidDeployConfigurationFactory::AndroidDeployConfigurationFactory()
|
|||||||
setDefaultDisplayName(AndroidDeployConfiguration::tr("Deploy to Android device"));
|
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")) {
|
if (!parent->project()->id().name().startsWith("QmlProjectManager.QmlProject")) {
|
||||||
// Avoid tool chain check for QML Project
|
// Avoid tool chain check for QML Project
|
||||||
Core::Id cxxLangId(ProjectExplorer::Constants::CXX_LANGUAGE_ID);
|
Core::Id cxxLangId(ProjectExplorer::Constants::CXX_LANGUAGE_ID);
|
||||||
ToolChain *tc = ToolChainKitInformation::toolChain(parent->kit(), cxxLangId);
|
ToolChain *tc = ToolChainKitInformation::toolChain(parent->kit(), cxxLangId);
|
||||||
if (!tc || tc->targetAbi().osFlavor() != Abi::AndroidLinuxFlavor)
|
if (!tc || tc->targetAbi().osFlavor() != Abi::AndroidLinuxFlavor)
|
||||||
return {};
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
QtSupport::BaseQtVersion *qt = QtSupport::QtKitInformation::qtVersion(parent->kit());
|
QtSupport::BaseQtVersion *qt = QtSupport::QtKitInformation::qtVersion(parent->kit());
|
||||||
if (!qt || qt->type() != Constants::ANDROIDQT)
|
return qt && qt->type() == Constants::ANDROIDQT;
|
||||||
return {};
|
|
||||||
return {QString()};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ class AndroidDeployConfigurationFactory : public ProjectExplorer::DeployConfigur
|
|||||||
public:
|
public:
|
||||||
AndroidDeployConfigurationFactory();
|
AndroidDeployConfigurationFactory();
|
||||||
|
|
||||||
QList<QString> availableBuildTargets(ProjectExplorer::Target *parent) const override;
|
bool hasAvailableBuildTargets(ProjectExplorer::Target *parent) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
|||||||
@@ -153,16 +153,14 @@ DeployConfigurationFactory::~DeployConfigurationFactory()
|
|||||||
|
|
||||||
QList<Core::Id> DeployConfigurationFactory::availableCreationIds(Target *parent) const
|
QList<Core::Id> DeployConfigurationFactory::availableCreationIds(Target *parent) const
|
||||||
{
|
{
|
||||||
if (!canHandle(parent))
|
if (canHandle(parent) && hasAvailableBuildTargets(parent))
|
||||||
|
return {m_deployConfigBaseId};
|
||||||
return {};
|
return {};
|
||||||
return Utils::transform(availableBuildTargets(parent), [this](const QString &suffix) {
|
|
||||||
return m_deployConfigBaseId.withSuffix(suffix);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<QString> DeployConfigurationFactory::availableBuildTargets(Target *) const
|
bool DeployConfigurationFactory::hasAvailableBuildTargets(Target *) const
|
||||||
{
|
{
|
||||||
return {QString()};
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString DeployConfigurationFactory::displayNameForBuildTarget(const QString &) const
|
QString DeployConfigurationFactory::displayNameForBuildTarget(const QString &) const
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual bool canHandle(ProjectExplorer::Target *target) const;
|
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;
|
virtual QString displayNameForBuildTarget(const QString &buildTarget) const;
|
||||||
|
|
||||||
using DeployConfigurationCreator = std::function<DeployConfiguration *(Target *)>;
|
using DeployConfigurationCreator = std::function<DeployConfiguration *(Target *)>;
|
||||||
|
|||||||
Reference in New Issue
Block a user