aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2019-01-15 15:48:01 +0100
committerhjk <hjk@qt.io>2019-01-16 10:26:47 +0000
commita2d5ebccd2d28d339eda18d0d5c0ebbe698e381c (patch)
treeaeabda480aef5a494417ea1e9e6e6107c5039cf5 /src/plugins
parent32ced725112403ba3af0acbc8f0db8f7fbad1eeb (diff)
ProjectExplorer: Simplify availableCreationIds(Target *parent) use
Similarly to before, it's either an empty list, or a single id. So use a function with bool return saying whether an id is returned and a plain accessor the the id. Change-Id: Ied2900f23bdb4c264d9fb1944c60bed734d1d8bb Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/projectexplorer/deployconfiguration.cpp13
-rw-r--r--src/plugins/projectexplorer/deployconfiguration.h5
-rw-r--r--src/plugins/projectexplorer/runsettingspropertiespage.cpp32
-rw-r--r--src/plugins/projectexplorer/target.cpp2
4 files changed, 27 insertions, 25 deletions
diff --git a/src/plugins/projectexplorer/deployconfiguration.cpp b/src/plugins/projectexplorer/deployconfiguration.cpp
index f0c4e94b66..ff4853a820 100644
--- a/src/plugins/projectexplorer/deployconfiguration.cpp
+++ b/src/plugins/projectexplorer/deployconfiguration.cpp
@@ -151,11 +151,14 @@ DeployConfigurationFactory::~DeployConfigurationFactory()
g_deployConfigurationFactories.removeOne(this);
}
-QList<Core::Id> DeployConfigurationFactory::availableCreationIds(Target *parent) const
+bool DeployConfigurationFactory::canOffer(Target *parent) const
{
- if (canHandle(parent) && hasAvailableBuildTargets(parent))
- return {m_deployConfigBaseId};
- return {};
+ return canHandle(parent) && hasAvailableBuildTargets(parent);
+}
+
+Core::Id DeployConfigurationFactory::creationId() const
+{
+ return m_deployConfigBaseId;
}
bool DeployConfigurationFactory::hasAvailableBuildTargets(Target *) const
@@ -239,7 +242,7 @@ QList<DeployConfigurationFactory *> DeployConfigurationFactory::find(Target *par
{
return Utils::filtered(g_deployConfigurationFactories,
[&parent](DeployConfigurationFactory *factory) {
- return !factory->availableCreationIds(parent).isEmpty();
+ return factory->canOffer(parent);
});
}
diff --git a/src/plugins/projectexplorer/deployconfiguration.h b/src/plugins/projectexplorer/deployconfiguration.h
index 3874d7c068..bfad9d8f12 100644
--- a/src/plugins/projectexplorer/deployconfiguration.h
+++ b/src/plugins/projectexplorer/deployconfiguration.h
@@ -80,11 +80,12 @@ public:
DeployConfigurationFactory operator=(const DeployConfigurationFactory &) = delete;
virtual ~DeployConfigurationFactory();
- // used to show the list of possible additons to a target, returns a list of types
- QList<Core::Id> availableCreationIds(Target *parent) const;
+ // return possible addition to a target, invalid if there is none
+ Core::Id creationId() const;
// the name to display to the user
QString defaultDisplayName() const;
+ bool canOffer(Target *parent) const;
bool canCreate(Target *parent, Core::Id id) const;
virtual DeployConfiguration *create(Target *parent, Core::Id id);
diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.cpp b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
index 29c8ed3c7d..9065d1edb5 100644
--- a/src/plugins/projectexplorer/runsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
@@ -367,23 +367,21 @@ void RunSettingsWidget::aboutToShowDeployMenu()
return;
foreach (DeployConfigurationFactory *factory, factories) {
- QList<Core::Id> ids = factory->availableCreationIds(m_target);
- foreach (Core::Id id, ids) {
- QAction *action = m_addDeployMenu->addAction(factory->defaultDisplayName());
- DeployFactoryAndId data = {factory, id};
- action->setData(QVariant::fromValue(data));
- connect(action, &QAction::triggered, [factory, id, this]() {
- if (!factory->canCreate(m_target, id))
- return;
- DeployConfiguration *newDc = factory->create(m_target, id);
- if (!newDc)
- return;
- QTC_CHECK(!newDc || newDc->id() == id);
- m_target->addDeployConfiguration(newDc);
- SessionManager::setActiveDeployConfiguration(m_target, newDc, SetActive::Cascade);
- m_removeDeployToolButton->setEnabled(m_target->deployConfigurations().size() > 1);
- });
- }
+ QAction *action = m_addDeployMenu->addAction(factory->defaultDisplayName());
+ const Core::Id id = factory->creationId();
+ DeployFactoryAndId data = {factory, id};
+ action->setData(QVariant::fromValue(data));
+ connect(action, &QAction::triggered, [factory, id, this]() {
+ if (!factory->canCreate(m_target, id))
+ return;
+ DeployConfiguration *newDc = factory->create(m_target, id);
+ if (!newDc)
+ return;
+ QTC_CHECK(!newDc || newDc->id() == id);
+ m_target->addDeployConfiguration(newDc);
+ SessionManager::setActiveDeployConfiguration(m_target, newDc, SetActive::Cascade);
+ m_removeDeployToolButton->setEnabled(m_target->deployConfigurations().size() > 1);
+ });
}
}
diff --git a/src/plugins/projectexplorer/target.cpp b/src/plugins/projectexplorer/target.cpp
index 8b87bf525c..05cc11de34 100644
--- a/src/plugins/projectexplorer/target.cpp
+++ b/src/plugins/projectexplorer/target.cpp
@@ -513,7 +513,7 @@ void Target::updateDefaultDeployConfigurations()
QList<Core::Id> dcIds;
foreach (DeployConfigurationFactory *dcFactory, dcFactories)
- dcIds.append(dcFactory->availableCreationIds(this));
+ dcIds.append(dcFactory->creationId());
QList<DeployConfiguration *> dcList = deployConfigurations();
QList<Core::Id> toCreate = dcIds;