aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/deployconfiguration.h
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2019-01-18 14:51:05 +0100
committerhjk <hjk@qt.io>2019-01-22 09:33:19 +0000
commita8d2546dad8d8a05515ff867271e46ebed5841d7 (patch)
treee18fb62782f43a2b69625c90ebf684a059a30db2 /src/plugins/projectexplorer/deployconfiguration.h
parentd89ad246becad9758c17f1fa89766fcd3692f4e9 (diff)
ProjectExplorer: Allow specifying deploy config widgets in the factory
Keep the generality of creating any widget, but also add a convenience function handling the single special case that was ever used. Change-Id: Iab4cbe62de04b9fcc6cb0bb305eaf9a48649d991 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/projectexplorer/deployconfiguration.h')
-rw-r--r--src/plugins/projectexplorer/deployconfiguration.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/plugins/projectexplorer/deployconfiguration.h b/src/plugins/projectexplorer/deployconfiguration.h
index ea8bd0d677..4c146f9ee8 100644
--- a/src/plugins/projectexplorer/deployconfiguration.h
+++ b/src/plugins/projectexplorer/deployconfiguration.h
@@ -51,11 +51,11 @@ public:
BuildStepList *stepList();
const BuildStepList *stepList() const;
+ NamedWidget *createConfigWidget() const;
+
bool fromMap(const QVariantMap &map) override;
QVariantMap toMap() const override;
- virtual NamedWidget *createConfigWidget();
-
virtual bool isEnabled() const;
virtual QString disabledReason() const;
@@ -69,6 +69,7 @@ signals:
private:
BuildStepList m_stepList;
+ std::function<NamedWidget *(Target *)> m_configWidgetCreator;
};
class PROJECTEXPLORER_EXPORT DeployConfigurationFactory
@@ -100,6 +101,9 @@ public:
virtual bool canHandle(ProjectExplorer::Target *target) const;
+ void setConfigWidgetCreator(const std::function<NamedWidget *(Target *)> &configWidgetCreator);
+ void setUseDeploymentDataView();
+
protected:
using DeployConfigurationCreator = std::function<DeployConfiguration *(Target *)>;
@@ -109,6 +113,7 @@ protected:
m_creator = [this, deployConfigBaseId](Target *t) {
auto dc = new DeployConfig(t, deployConfigBaseId);
dc->setDefaultDisplayName(m_defaultDisplayName);
+ dc->m_configWidgetCreator = m_configWidgetCreator;
return dc;
};
m_deployConfigBaseId = deployConfigBaseId;
@@ -125,6 +130,7 @@ private:
QList<Core::Id> m_supportedTargetDeviceTypes;
QList<DeployStepCreationInfo> m_initialSteps;
QString m_defaultDisplayName;
+ std::function<NamedWidget *(Target *)> m_configWidgetCreator;
};
class DefaultDeployConfigurationFactory : public DeployConfigurationFactory