diff options
author | hjk <hjk@qt.io> | 2017-11-10 15:43:23 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2017-11-14 10:58:30 +0000 |
commit | dfd4ad8c2d177cf6415f457cdcf62dbc3b17a6a3 (patch) | |
tree | b5640b58e3ceb1ef60f176b3bb7b12aac289263a | |
parent | 5483d45e5e2147dd3f18341401dd7c35e44a04d2 (diff) | |
download | qt-creator-dfd4ad8c2d177cf6415f457cdcf62dbc3b17a6a3.tar.gz |
ProjectExplorer: Simplify IRunConfigurationFactory::clone() use
Change-Id: I005d6c87142d26dfc7ae1349329737a68f54c427
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
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; |