summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2017-11-10 15:43:23 +0100
committerhjk <hjk@qt.io>2017-11-14 10:58:30 +0000
commitdfd4ad8c2d177cf6415f457cdcf62dbc3b17a6a3 (patch)
treeb5640b58e3ceb1ef60f176b3bb7b12aac289263a
parent5483d45e5e2147dd3f18341401dd7c35e44a04d2 (diff)
downloadqt-creator-dfd4ad8c2d177cf6415f457cdcf62dbc3b17a6a3.tar.gz
ProjectExplorer: Simplify IRunConfigurationFactory::clone() use
Change-Id: I005d6c87142d26dfc7ae1349329737a68f54c427 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
-rw-r--r--src/plugins/baremetal/baremetalrunconfigurationfactory.cpp16
-rw-r--r--src/plugins/baremetal/baremetalrunconfigurationfactory.h10
-rw-r--r--src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp12
-rw-r--r--src/plugins/cmakeprojectmanager/cmakerunconfiguration.h2
-rw-r--r--src/plugins/ios/iosrunfactories.cpp11
-rw-r--r--src/plugins/ios/iosrunfactories.h2
-rw-r--r--src/plugins/nim/project/nimrunconfigurationfactory.cpp13
-rw-r--r--src/plugins/nim/project/nimrunconfigurationfactory.h11
-rw-r--r--src/plugins/projectexplorer/customexecutablerunconfiguration.cpp13
-rw-r--r--src/plugins/projectexplorer/customexecutablerunconfiguration.h1
-rw-r--r--src/plugins/projectexplorer/runconfiguration.cpp10
-rw-r--r--src/plugins/projectexplorer/runconfiguration.h20
-rw-r--r--src/plugins/pythoneditor/pythoneditorplugin.cpp8
-rw-r--r--src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp10
-rw-r--r--src/plugins/qbsprojectmanager/qbsrunconfiguration.h1
-rw-r--r--src/plugins/qmakeandroidsupport/qmakeandroidrunfactories.cpp8
-rw-r--r--src/plugins/qmakeandroidsupport/qmakeandroidrunfactories.h3
-rw-r--r--src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp10
-rw-r--r--src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.h2
-rw-r--r--src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp11
-rw-r--r--src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.h1
-rw-r--r--src/plugins/qnx/qnxrunconfigurationfactory.cpp9
-rw-r--r--src/plugins/qnx/qnxrunconfigurationfactory.h4
-rw-r--r--src/plugins/remotelinux/remotelinuxrunconfigurationfactory.cpp19
-rw-r--r--src/plugins/remotelinux/remotelinuxrunconfigurationfactory.h8
-rw-r--r--src/plugins/winrt/winrtrunfactories.cpp8
-rw-r--r--src/plugins/winrt/winrtrunfactories.h2
27 files changed, 55 insertions, 170 deletions
diff --git a/src/plugins/baremetal/baremetalrunconfigurationfactory.cpp b/src/plugins/baremetal/baremetalrunconfigurationfactory.cpp
index 8ab6a72015..31f19dfa6b 100644
--- a/src/plugins/baremetal/baremetalrunconfigurationfactory.cpp
+++ b/src/plugins/baremetal/baremetalrunconfigurationfactory.cpp
@@ -63,7 +63,8 @@ static bool canHandle(const Target *target)
BareMetalRunConfigurationFactory::BareMetalRunConfigurationFactory(QObject *parent) :
IRunConfigurationFactory(parent)
{
- setObjectName(QLatin1String("BareMetalRunConfigurationFactory"));
+ setObjectName("BareMetalRunConfigurationFactory");
+ registerRunConfiguration<BareMetalRunConfiguration>();
}
bool BareMetalRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
@@ -116,12 +117,6 @@ RunConfiguration *BareMetalRunConfigurationFactory::doRestore(Target *parent, co
return doCreate(parent,Core::Id(BareMetalRunConfiguration::IdPrefix));
}
-RunConfiguration *BareMetalRunConfigurationFactory::clone(Target *parent, RunConfiguration *source)
-{
- QTC_ASSERT(canClone(parent, source), return 0);
- return cloneHelper<BareMetalRunConfiguration>(parent, source);
-}
-
// BareMetalCustomRunConfigurationFactory
@@ -129,6 +124,7 @@ BareMetalCustomRunConfigurationFactory::BareMetalCustomRunConfigurationFactory(Q
IRunConfigurationFactory(parent)
{
setObjectName("BareMetalCustomRunConfigurationFactory");
+ registerRunConfiguration<BareMetalCustomRunConfiguration>();
}
bool BareMetalCustomRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
@@ -178,11 +174,5 @@ RunConfiguration *BareMetalCustomRunConfigurationFactory::doRestore(Target *pare
return new BareMetalCustomRunConfiguration(parent);
}
-RunConfiguration *BareMetalCustomRunConfigurationFactory::clone(Target *parent, RunConfiguration *source)
-{
- QTC_ASSERT(canClone(parent, source), return 0);
- return cloneHelper<BareMetalCustomRunConfiguration>(parent, source);
-}
-
} // namespace Internal
} // namespace BareMetal
diff --git a/src/plugins/baremetal/baremetalrunconfigurationfactory.h b/src/plugins/baremetal/baremetalrunconfigurationfactory.h
index cb57ae23a1..42226ab4c3 100644
--- a/src/plugins/baremetal/baremetalrunconfigurationfactory.h
+++ b/src/plugins/baremetal/baremetalrunconfigurationfactory.h
@@ -41,12 +41,9 @@ public:
QList<Core::Id> availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const override;
bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const override;
-
bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const override;
-
bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) const override;
- ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent,
- ProjectExplorer::RunConfiguration *source) override;
+
private:
ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, Core::Id id) override;
ProjectExplorer::RunConfiguration *doRestore(ProjectExplorer::Target *parent,
@@ -64,12 +61,9 @@ public:
QList<Core::Id> availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const override;
bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const override;
-
bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const override;
-
bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) const override;
- ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent,
- ProjectExplorer::RunConfiguration *source) override;
+
private:
ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, Core::Id id) override;
ProjectExplorer::RunConfiguration *doRestore(ProjectExplorer::Target *parent,
diff --git a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp
index 67823d4b68..76bf73778e 100644
--- a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp
@@ -213,7 +213,10 @@ CMakeRunConfigurationWidget::CMakeRunConfigurationWidget(CMakeRunConfiguration *
// Factory
CMakeRunConfigurationFactory::CMakeRunConfigurationFactory(QObject *parent) :
IRunConfigurationFactory(parent)
-{ setObjectName(QLatin1String("CMakeRunConfigurationFactory")); }
+{
+ setObjectName("CMakeRunConfigurationFactory");
+ registerRunConfiguration<CMakeRunConfiguration>();
+}
// used to show the list of possible additons to a project, returns a list of ids
QList<Core::Id> CMakeRunConfigurationFactory::availableCreationIds(Target *parent, CreationMode mode) const
@@ -264,13 +267,6 @@ bool CMakeRunConfigurationFactory::canClone(Target *parent, RunConfiguration *so
return source->id().name().startsWith(CMAKE_RC_PREFIX);
}
-RunConfiguration *CMakeRunConfigurationFactory::clone(Target *parent, RunConfiguration * source)
-{
- if (!canClone(parent, source))
- return 0;
- return cloneHelper<CMakeRunConfiguration>(parent, source);
-}
-
bool CMakeRunConfigurationFactory::canRestore(Target *parent, const QVariantMap &map) const
{
if (!qobject_cast<CMakeProject *>(parent->project()))
diff --git a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.h b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.h
index 9c9b6f0475..c8e2f13621 100644
--- a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.h
+++ b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.h
@@ -90,8 +90,6 @@ public:
bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const override;
bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const override;
bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *product) const override;
- ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent,
- ProjectExplorer::RunConfiguration *product) override;
QList<Core::Id> availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const override;
QString displayNameForId(Core::Id id) const override;
diff --git a/src/plugins/ios/iosrunfactories.cpp b/src/plugins/ios/iosrunfactories.cpp
index de36ec7948..8dae879e2d 100644
--- a/src/plugins/ios/iosrunfactories.cpp
+++ b/src/plugins/ios/iosrunfactories.cpp
@@ -64,7 +64,8 @@ static Utils::FileName pathFromId(Core::Id id)
IosRunConfigurationFactory::IosRunConfigurationFactory(QObject *parent)
: QmakeRunConfigurationFactory(parent)
{
- setObjectName(QLatin1String("IosRunConfigurationFactory"));
+ setObjectName("IosRunConfigurationFactory");
+ registerRunConfiguration<IosRunConfiguration>();
}
bool IosRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
@@ -103,14 +104,6 @@ QString IosRunConfigurationFactory::displayNameForId(Core::Id id) const
return pathFromId(id).toFileInfo().completeBaseName();
}
-RunConfiguration *IosRunConfigurationFactory::clone(Target *parent, RunConfiguration *source)
-{
- if (!canClone(parent, source))
- return 0;
-
- return cloneHelper<IosRunConfiguration>(parent, source);
-}
-
bool IosRunConfigurationFactory::canHandle(Target *t) const
{
if (!t->project()->supportsKit(t->kit()))
diff --git a/src/plugins/ios/iosrunfactories.h b/src/plugins/ios/iosrunfactories.h
index 318e57e04e..9efb6b0ff2 100644
--- a/src/plugins/ios/iosrunfactories.h
+++ b/src/plugins/ios/iosrunfactories.h
@@ -52,8 +52,6 @@ public:
bool canClone(ProjectExplorer::Target *parent,
ProjectExplorer::RunConfiguration *source) const override;
- ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent,
- ProjectExplorer::RunConfiguration *source) override;
bool canHandle(ProjectExplorer::Target *t) const override;
QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Target *t,
diff --git a/src/plugins/nim/project/nimrunconfigurationfactory.cpp b/src/plugins/nim/project/nimrunconfigurationfactory.cpp
index 5bce6e297e..71f32de1d6 100644
--- a/src/plugins/nim/project/nimrunconfigurationfactory.cpp
+++ b/src/plugins/nim/project/nimrunconfigurationfactory.cpp
@@ -39,7 +39,9 @@ using namespace ProjectExplorer;
namespace Nim {
NimRunConfigurationFactory::NimRunConfigurationFactory()
-{}
+{
+ registerRunConfiguration<NimRunConfiguration>();
+}
QList<Core::Id> NimRunConfigurationFactory::availableCreationIds(Target *parent,
IRunConfigurationFactory::CreationMode mode) const
@@ -76,15 +78,6 @@ bool NimRunConfigurationFactory::canClone(Target *parent, RunConfiguration *prod
return canHandle(parent);
}
-RunConfiguration *NimRunConfigurationFactory::clone(Target *parent, RunConfiguration *product)
-{
- QTC_ASSERT(parent, return nullptr);
- QTC_ASSERT(product, return nullptr);
- std::unique_ptr<NimRunConfiguration> result(
- createHelper<NimRunConfiguration>(parent, Constants::C_NIMRUNCONFIGURATION_ID));
- return result->fromMap(product->toMap()) ? result.release() : nullptr;
-}
-
bool NimRunConfigurationFactory::canHandle(Target *parent) const
{
Q_UNUSED(parent);
diff --git a/src/plugins/nim/project/nimrunconfigurationfactory.h b/src/plugins/nim/project/nimrunconfigurationfactory.h
index f008745f4d..7764d46463 100644
--- a/src/plugins/nim/project/nimrunconfigurationfactory.h
+++ b/src/plugins/nim/project/nimrunconfigurationfactory.h
@@ -39,15 +39,8 @@ public:
QString displayNameForId(Core::Id id) const override;
bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const override;
-
- bool canRestore(ProjectExplorer::Target *parent,
- const QVariantMap &map) const override;
-
- bool canClone(ProjectExplorer::Target *parent,
- ProjectExplorer::RunConfiguration *product) const override;
-
- ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent,
- ProjectExplorer::RunConfiguration *product) override;
+ bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const override;
+ bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *product) const override;
private:
bool canHandle(ProjectExplorer::Target *parent) const;
diff --git a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp
index 708ec0d428..b59278d117 100644
--- a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp
+++ b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp
@@ -314,7 +314,10 @@ Abi CustomExecutableRunConfiguration::abi() const
CustomExecutableRunConfigurationFactory::CustomExecutableRunConfigurationFactory(QObject *parent) :
IRunConfigurationFactory(parent)
-{ setObjectName(QLatin1String("CustomExecutableRunConfigurationFactory")); }
+{
+ setObjectName("CustomExecutableRunConfigurationFactory");
+ registerRunConfiguration<CustomExecutableRunConfiguration>();
+}
bool CustomExecutableRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
{
@@ -352,14 +355,6 @@ bool CustomExecutableRunConfigurationFactory::canClone(Target *parent,
return canCreate(parent, source->id());
}
-RunConfiguration *
-CustomExecutableRunConfigurationFactory::clone(Target *parent, RunConfiguration *source)
-{
- if (!canClone(parent, source))
- return 0;
- return cloneHelper<CustomExecutableRunConfiguration>(parent, source);
-}
-
bool CustomExecutableRunConfigurationFactory::canHandle(Target *parent) const
{
return parent->project()->supportsKit(parent->kit());
diff --git a/src/plugins/projectexplorer/customexecutablerunconfiguration.h b/src/plugins/projectexplorer/customexecutablerunconfiguration.h
index 5922b01b46..93c60af920 100644
--- a/src/plugins/projectexplorer/customexecutablerunconfiguration.h
+++ b/src/plugins/projectexplorer/customexecutablerunconfiguration.h
@@ -101,7 +101,6 @@ public:
bool canCreate(Target *parent, Core::Id id) const override;
bool canRestore(Target *parent, const QVariantMap &map) const override;
bool canClone(Target *parent, RunConfiguration *product) const override;
- RunConfiguration *clone(Target *parent, RunConfiguration *source) override;
private:
bool canHandle(Target *parent) const;
diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp
index 03843d3a9e..9cd7d4a781 100644
--- a/src/plugins/projectexplorer/runconfiguration.cpp
+++ b/src/plugins/projectexplorer/runconfiguration.cpp
@@ -471,6 +471,16 @@ RunConfiguration *IRunConfigurationFactory::restore(Target *parent, const QVaria
return rc;
}
+RunConfiguration *IRunConfigurationFactory::clone(Target *parent, RunConfiguration *product)
+{
+ QTC_ASSERT(m_creator, return nullptr);
+ if (!canClone(parent, product))
+ return nullptr;
+ RunConfiguration *runConfig = m_creator(parent);
+ runConfig->copyFrom(product);
+ return runConfig;
+}
+
IRunConfigurationFactory *IRunConfigurationFactory::find(Target *parent, const QVariantMap &map)
{
return ExtensionSystem::PluginManager::getObject<IRunConfigurationFactory>(
diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h
index 44ac9572a4..5c93faa524 100644
--- a/src/plugins/projectexplorer/runconfiguration.h
+++ b/src/plugins/projectexplorer/runconfiguration.h
@@ -293,7 +293,7 @@ public:
virtual bool canRestore(Target *parent, const QVariantMap &map) const = 0;
RunConfiguration *restore(Target *parent, const QVariantMap &map);
virtual bool canClone(Target *parent, RunConfiguration *product) const = 0;
- virtual RunConfiguration *clone(Target *parent, RunConfiguration *product) = 0;
+ RunConfiguration *clone(Target *parent, RunConfiguration *product);
static IRunConfigurationFactory *find(Target *parent, const QVariantMap &map);
static IRunConfigurationFactory *find(Target *parent, RunConfiguration *rc);
@@ -306,19 +306,23 @@ public:
return runConfig;
}
- template <class RunConfig>
- static RunConfig *cloneHelper(Target *target, const RunConfiguration *source) {
- auto runConfig = new RunConfig(target);
- runConfig->copyFrom(source);
- return runConfig;
- }
-
signals:
void availableCreationIdsChanged();
+protected:
+ using RunConfigurationCreator = std::function<RunConfiguration *(Target *)>;
+
+ template <class RunConfig>
+ void registerRunConfiguration()
+ {
+ m_creator = [](Target *t) -> RunConfiguration * { return new RunConfig(t); };
+ }
+
private:
virtual RunConfiguration *doCreate(Target *parent, Core::Id id) = 0;
virtual RunConfiguration *doRestore(Target *parent, const QVariantMap &map) = 0;
+
+ RunConfigurationCreator m_creator;
};
class PROJECTEXPLORER_EXPORT RunConfigWidget : public QWidget
diff --git a/src/plugins/pythoneditor/pythoneditorplugin.cpp b/src/plugins/pythoneditor/pythoneditorplugin.cpp
index b81f02eca5..188ca479c5 100644
--- a/src/plugins/pythoneditor/pythoneditorplugin.cpp
+++ b/src/plugins/pythoneditor/pythoneditorplugin.cpp
@@ -278,6 +278,7 @@ public:
PythonRunConfigurationFactory()
{
setObjectName("PythonRunConfigurationFactory");
+ registerRunConfiguration<PythonRunConfiguration>();
}
QList<Core::Id> availableCreationIds(Target *parent, CreationMode mode) const override
@@ -323,13 +324,6 @@ public:
return source->id().name().startsWith(PythonRunConfigurationPrefix);
}
- RunConfiguration *clone(Target *parent, RunConfiguration *source) override
- {
- if (!canClone(parent, source))
- return 0;
- return cloneHelper<PythonRunConfiguration>(parent, source);
- }
-
private:
bool canHandle(Target *parent) const { return dynamic_cast<PythonProject *>(parent->project()); }
diff --git a/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp
index fd0c183535..d02f9e483e 100644
--- a/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp
+++ b/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp
@@ -353,7 +353,8 @@ void QbsRunConfigurationWidget::setExecutableLineText(const QString &text)
QbsRunConfigurationFactory::QbsRunConfigurationFactory(QObject *parent) :
IRunConfigurationFactory(parent)
{
- setObjectName(QLatin1String("QbsRunConfigurationFactory"));
+ setObjectName("QbsRunConfigurationFactory");
+ registerRunConfiguration<QbsRunConfiguration>();
}
bool QbsRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
@@ -387,13 +388,6 @@ bool QbsRunConfigurationFactory::canClone(Target *parent, RunConfiguration *sour
return canCreate(parent, source->id());
}
-RunConfiguration *QbsRunConfigurationFactory::clone(Target *parent, RunConfiguration *source)
-{
- if (!canClone(parent, source))
- return 0;
- return cloneHelper<QbsRunConfiguration>(parent, source);
-}
-
QList<Core::Id> QbsRunConfigurationFactory::availableCreationIds(Target *parent, CreationMode mode) const
{
QList<qbs::ProductData> products;
diff --git a/src/plugins/qbsprojectmanager/qbsrunconfiguration.h b/src/plugins/qbsprojectmanager/qbsrunconfiguration.h
index 11541491f3..ef194ed957 100644
--- a/src/plugins/qbsprojectmanager/qbsrunconfiguration.h
+++ b/src/plugins/qbsprojectmanager/qbsrunconfiguration.h
@@ -113,7 +113,6 @@ public:
bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const override;
bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const override;
bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) const override;
- ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) override;
QList<Core::Id> availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const override;
QString displayNameForId(Core::Id id) const override;
diff --git a/src/plugins/qmakeandroidsupport/qmakeandroidrunfactories.cpp b/src/plugins/qmakeandroidsupport/qmakeandroidrunfactories.cpp
index 4fd903972c..4dea84f932 100644
--- a/src/plugins/qmakeandroidsupport/qmakeandroidrunfactories.cpp
+++ b/src/plugins/qmakeandroidsupport/qmakeandroidrunfactories.cpp
@@ -49,6 +49,7 @@ static const char ANDROID_RC_ID_PREFIX[] = "Qt4ProjectManager.AndroidRunConfigur
QmakeAndroidRunConfigurationFactory::QmakeAndroidRunConfigurationFactory(QObject *parent)
: IRunConfigurationFactory(parent)
{
+ registerRunConfiguration<QmakeAndroidRunConfiguration>();
}
QString QmakeAndroidRunConfigurationFactory::displayNameForId(Core::Id id) const
@@ -97,13 +98,6 @@ RunConfiguration *QmakeAndroidRunConfigurationFactory::doRestore(Target *parent,
return createHelper<QmakeAndroidRunConfiguration>(parent, id);
}
-RunConfiguration *QmakeAndroidRunConfigurationFactory::clone(Target *parent, RunConfiguration *source)
-{
- if (!canClone(parent, source))
- return 0;
- return cloneHelper<QmakeAndroidRunConfiguration>(parent, source);
-}
-
bool QmakeAndroidRunConfigurationFactory::canHandle(Target *t) const
{
return t->project()->supportsKit(t->kit())
diff --git a/src/plugins/qmakeandroidsupport/qmakeandroidrunfactories.h b/src/plugins/qmakeandroidsupport/qmakeandroidrunfactories.h
index 0580e0f017..6d227d23ea 100644
--- a/src/plugins/qmakeandroidsupport/qmakeandroidrunfactories.h
+++ b/src/plugins/qmakeandroidsupport/qmakeandroidrunfactories.h
@@ -47,11 +47,8 @@ public:
QList<Core::Id> availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode = UserCreate) const override;
bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const override;
-
bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const override;
-
bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) const override;
- ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) override;
QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Target *t,
ProjectExplorer::Node *n);
diff --git a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp
index c5330b749c..27707d9047 100644
--- a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp
+++ b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp
@@ -439,7 +439,8 @@ QPair<QString, QString> DesktopQmakeRunConfiguration::extractWorkingDirAndExecut
DesktopQmakeRunConfigurationFactory::DesktopQmakeRunConfigurationFactory(QObject *parent) :
QmakeRunConfigurationFactory(parent)
{
- setObjectName(QLatin1String("DesktopQmakeRunConfigurationFactory"));
+ setObjectName("DesktopQmakeRunConfigurationFactory");
+ registerRunConfiguration<DesktopQmakeRunConfiguration>();
}
bool DesktopQmakeRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
@@ -472,13 +473,6 @@ bool DesktopQmakeRunConfigurationFactory::canClone(Target *parent, RunConfigurat
return canCreate(parent, source->id());
}
-RunConfiguration *DesktopQmakeRunConfigurationFactory::clone(Target *parent, RunConfiguration *source)
-{
- if (!canClone(parent, source))
- return 0;
- return cloneHelper<DesktopQmakeRunConfiguration>(parent, source);
-}
-
QList<Core::Id> DesktopQmakeRunConfigurationFactory::availableCreationIds(Target *parent, CreationMode mode) const
{
if (!canHandle(parent))
diff --git a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.h b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.h
index 283cf2d21a..9dfcc359d5 100644
--- a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.h
+++ b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.h
@@ -143,8 +143,6 @@ public:
bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const override;
bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const override;
bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) const override;
- ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent,
- ProjectExplorer::RunConfiguration *source) override;
QList<Core::Id> availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const override;
QString displayNameForId(Core::Id id) const override;
diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp
index 98d3c53c54..b6028dbd97 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp
@@ -39,7 +39,8 @@ namespace Internal {
QmlProjectRunConfigurationFactory::QmlProjectRunConfigurationFactory(QObject *parent) :
ProjectExplorer::IRunConfigurationFactory(parent)
{
- setObjectName(QLatin1String("QmlProjectRunConfigurationFactory"));
+ setObjectName("QmlProjectRunConfigurationFactory");
+ registerRunConfiguration<QmlProjectRunConfiguration>();
}
QList<Core::Id> QmlProjectRunConfigurationFactory::availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const
@@ -123,14 +124,6 @@ bool QmlProjectRunConfigurationFactory::canClone(ProjectExplorer::Target *parent
return canCreate(parent, source->id());
}
-ProjectExplorer::RunConfiguration *QmlProjectRunConfigurationFactory::clone(ProjectExplorer::Target *parent,
- ProjectExplorer::RunConfiguration *source)
-{
- if (!canClone(parent, source))
- return 0;
- return cloneHelper<QmlProjectRunConfiguration>(parent, source);
-}
-
bool QmlProjectRunConfigurationFactory::canHandle(ProjectExplorer::Target *parent) const
{
if (!parent->project()->supportsKit(parent->kit()))
diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.h b/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.h
index b084341b97..8e7fd9a278 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.h
+++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.h
@@ -43,7 +43,6 @@ public:
bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const override;
bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const override;
bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) const override;
- ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) override;
private:
bool canHandle(ProjectExplorer::Target *parent) const;
diff --git a/src/plugins/qnx/qnxrunconfigurationfactory.cpp b/src/plugins/qnx/qnxrunconfigurationfactory.cpp
index af474f3a29..42dcf04a8f 100644
--- a/src/plugins/qnx/qnxrunconfigurationfactory.cpp
+++ b/src/plugins/qnx/qnxrunconfigurationfactory.cpp
@@ -45,6 +45,7 @@ static Utils::FileName pathFromId(Core::Id id)
QnxRunConfigurationFactory::QnxRunConfigurationFactory(QObject *parent) :
ProjectExplorer::IRunConfigurationFactory(parent)
{
+ registerRunConfiguration<QnxRunConfiguration>();
}
QList<Core::Id> QnxRunConfigurationFactory::availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const
@@ -115,14 +116,6 @@ bool QnxRunConfigurationFactory::canClone(ProjectExplorer::Target *parent, Proje
return canCreate(parent, source->id());
}
-ProjectExplorer::RunConfiguration *QnxRunConfigurationFactory::clone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source)
-{
- if (!canClone(parent, source))
- return 0;
-
- return cloneHelper<QnxRunConfiguration>(parent, source);
-}
-
bool QnxRunConfigurationFactory::canHandle(ProjectExplorer::Target *t) const
{
Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(t->kit());
diff --git a/src/plugins/qnx/qnxrunconfigurationfactory.h b/src/plugins/qnx/qnxrunconfigurationfactory.h
index 5bf5e538be..1eda9c9ccc 100644
--- a/src/plugins/qnx/qnxrunconfigurationfactory.h
+++ b/src/plugins/qnx/qnxrunconfigurationfactory.h
@@ -42,12 +42,8 @@ public:
QString displayNameForId(Core::Id id) const override;
bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const override;
-
bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const override;
-
bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) const override;
- ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent,
- ProjectExplorer::RunConfiguration *source) override;
private:
bool canHandle(ProjectExplorer::Target *t) const;
diff --git a/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.cpp b/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.cpp
index 1b19612b10..9989b65eee 100644
--- a/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.cpp
+++ b/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.cpp
@@ -63,7 +63,8 @@ static bool canHandle(const Target *target)
RemoteLinuxRunConfigurationFactory::RemoteLinuxRunConfigurationFactory(QObject *parent)
: IRunConfigurationFactory(parent)
{
- setObjectName(QLatin1String("RemoteLinuxRunConfigurationFactory"));
+ setObjectName("RemoteLinuxRunConfigurationFactory");
+ registerRunConfiguration<RemoteLinuxRunConfiguration>();
}
bool RemoteLinuxRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
@@ -116,20 +117,13 @@ RunConfiguration *RemoteLinuxRunConfigurationFactory::doRestore(Target *parent,
return createHelper<RemoteLinuxRunConfiguration>(parent, RemoteLinuxRunConfiguration::IdPrefix, QString());
}
-RunConfiguration *RemoteLinuxRunConfigurationFactory::clone(Target *parent,
- RunConfiguration *source)
-{
- QTC_ASSERT(canClone(parent, source), return 0);
- return cloneHelper<RemoteLinuxRunConfiguration>(parent, source);
-}
-
-
// RemoteLinuxCustomRunConfigurationFactory
RemoteLinuxCustomRunConfigurationFactory::RemoteLinuxCustomRunConfigurationFactory(QObject *parent)
: IRunConfigurationFactory(parent)
{
setObjectName("RemoteLinuxCustomRunConfiguration");
+ registerRunConfiguration<RemoteLinuxCustomRunConfiguration>();
}
bool RemoteLinuxCustomRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
@@ -179,12 +173,5 @@ RunConfiguration *RemoteLinuxCustomRunConfigurationFactory::doRestore(Target *pa
return createHelper<RemoteLinuxCustomRunConfiguration>(parent);
}
-RunConfiguration *RemoteLinuxCustomRunConfigurationFactory::clone(Target *parent,
- RunConfiguration *source)
-{
- QTC_ASSERT(canClone(parent, source), return 0);
- return cloneHelper<RemoteLinuxCustomRunConfiguration>(parent, source);
-}
-
} // namespace Internal
} // namespace RemoteLinux
diff --git a/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.h b/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.h
index a6ea55821a..5f6e5e1e05 100644
--- a/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.h
+++ b/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.h
@@ -41,12 +41,8 @@ public:
QList<Core::Id> availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const override;
bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const override;
-
bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const override;
-
bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) const override;
- ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent,
- ProjectExplorer::RunConfiguration *source) override;
private:
ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, Core::Id id) override;
@@ -65,12 +61,8 @@ public:
QList<Core::Id> availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const override;
bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const override;
-
bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const override;
-
bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) const override;
- ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent,
- ProjectExplorer::RunConfiguration *source) override;
private:
ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, Core::Id id) override;
diff --git a/src/plugins/winrt/winrtrunfactories.cpp b/src/plugins/winrt/winrtrunfactories.cpp
index 0c004f0c44..78d4982973 100644
--- a/src/plugins/winrt/winrtrunfactories.cpp
+++ b/src/plugins/winrt/winrtrunfactories.cpp
@@ -55,6 +55,7 @@ static bool isKitCompatible(Kit *kit)
WinRtRunConfigurationFactory::WinRtRunConfigurationFactory()
{
+ registerRunConfiguration<WinRtRunConfiguration>();
}
QList<Core::Id> WinRtRunConfigurationFactory::availableCreationIds(Target *parent,
@@ -104,13 +105,6 @@ bool WinRtRunConfigurationFactory::canClone(Target *parent, RunConfiguration *pr
return false;
}
-RunConfiguration *WinRtRunConfigurationFactory::clone(Target *parent, RunConfiguration *product)
-{
- Q_UNUSED(parent);
- Q_UNUSED(product);
- return 0;
-}
-
bool WinRtRunConfigurationFactory::canHandle(Target *parent) const
{
if (!isKitCompatible(parent->kit()))
diff --git a/src/plugins/winrt/winrtrunfactories.h b/src/plugins/winrt/winrtrunfactories.h
index 9ff24b7207..f6458f7f86 100644
--- a/src/plugins/winrt/winrtrunfactories.h
+++ b/src/plugins/winrt/winrtrunfactories.h
@@ -43,8 +43,6 @@ public:
bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const override;
bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const override;
bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *product) const override;
- ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent,
- ProjectExplorer::RunConfiguration *product) override;
private:
bool canHandle(ProjectExplorer::Target *parent) const;