diff options
author | hjk <hjk@qt.io> | 2018-02-22 08:36:45 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2018-02-23 07:08:55 +0000 |
commit | 39b66f2cb8b6ed674567ee349780b9e173fa7b9f (patch) | |
tree | ebe5a9ce18dc080a561fd75e971a81a3ea471eef | |
parent | 092d5068bd586370862a1eb454830fd68f238ea6 (diff) |
Introduce and use IRunConfiguration::addSupportedTargetDeviceType
In line with addSupportedProjectType, saves a few cycles due to the
non-use of the temporary list, and in theory more flexible than the
existing set...(QList<Id>) as it potentially allows dependent plugin
to declare support for already existing configurations instead of
re-implementing their own.
Change-Id: I2b83e90de49daa9bfce6f780c5f51c2e971eb7d1
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
10 files changed, 19 insertions, 12 deletions
diff --git a/src/plugins/baremetal/baremetalrunconfigurationfactory.cpp b/src/plugins/baremetal/baremetalrunconfigurationfactory.cpp index 37e0dd3702..729ee5aeb6 100644 --- a/src/plugins/baremetal/baremetalrunconfigurationfactory.cpp +++ b/src/plugins/baremetal/baremetalrunconfigurationfactory.cpp @@ -45,7 +45,7 @@ BareMetalRunConfigurationFactory::BareMetalRunConfigurationFactory(QObject *pare { setObjectName("BareMetalRunConfigurationFactory"); registerRunConfiguration<BareMetalRunConfiguration>(BareMetalRunConfiguration::IdPrefix); - setSupportedTargetDeviceTypes({BareMetal::Constants::BareMetalOsType}); + addSupportedTargetDeviceType(BareMetal::Constants::BareMetalOsType); } QList<RunConfigurationCreationInfo> BareMetalRunConfigurationFactory::availableCreators(Target *parent) const @@ -64,7 +64,7 @@ BareMetalCustomRunConfigurationFactory::BareMetalCustomRunConfigurationFactory(Q { setObjectName("BareMetalCustomRunConfigurationFactory"); registerRunConfiguration<BareMetalCustomRunConfiguration>("BareMetal.CustomRunConfig"); - setSupportedTargetDeviceTypes({BareMetal::Constants::BareMetalOsType}); + addSupportedTargetDeviceType(BareMetal::Constants::BareMetalOsType); } } // namespace Internal diff --git a/src/plugins/ios/iosrunfactories.cpp b/src/plugins/ios/iosrunfactories.cpp index b2f7a8d706..9a310d8b4d 100644 --- a/src/plugins/ios/iosrunfactories.cpp +++ b/src/plugins/ios/iosrunfactories.cpp @@ -47,7 +47,8 @@ IosRunConfigurationFactory::IosRunConfigurationFactory(QObject *parent) { setObjectName("IosRunConfigurationFactory"); registerRunConfiguration<IosRunConfiguration>(Constants::IOS_RC_ID_PREFIX); - setSupportedTargetDeviceTypes({Constants::IOS_DEVICE_TYPE, Constants::IOS_SIMULATOR_TYPE}); + addSupportedTargetDeviceType(Constants::IOS_DEVICE_TYPE); + addSupportedTargetDeviceType(Constants::IOS_SIMULATOR_TYPE); addSupportedProjectType(QmakeProjectManager::Constants::QMAKEPROJECT_ID); } diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp index 1902043c6f..39bd694656 100644 --- a/src/plugins/projectexplorer/runconfiguration.cpp +++ b/src/plugins/projectexplorer/runconfiguration.cpp @@ -488,6 +488,11 @@ void IRunConfigurationFactory::setSupportedTargetDeviceTypes(const QList<Core::I m_supportedTargetDeviceTypes = ids; } +void IRunConfigurationFactory::addSupportedTargetDeviceType(Core::Id id) +{ + m_supportedTargetDeviceTypes.append(id); +} + void IRunConfigurationFactory::addSupportedProjectType(Core::Id id) { m_supportedProjectTypes.append(id); diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h index 64855b2648..27bf547035 100644 --- a/src/plugins/projectexplorer/runconfiguration.h +++ b/src/plugins/projectexplorer/runconfiguration.h @@ -340,6 +340,7 @@ protected: void addSupportedProjectType(Core::Id id); void setSupportedTargetDeviceTypes(const QList<Core::Id> &ids); + void addSupportedTargetDeviceType(Core::Id id); void setDisplayNamePattern(const QString &pattern); RunConfigurationCreationInfo convert(const BuildTargetInfo &ti) const; diff --git a/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp index b609f5c519..8978e2e0b6 100644 --- a/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp +++ b/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp @@ -374,7 +374,7 @@ QbsRunConfigurationFactory::QbsRunConfigurationFactory(QObject *parent) : setObjectName("QbsRunConfigurationFactory"); registerRunConfiguration<QbsRunConfiguration>(QBS_RC_PREFIX); addSupportedProjectType(Constants::PROJECT_ID); - setSupportedTargetDeviceTypes({ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE}); + addSupportedTargetDeviceType(ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE); } bool QbsRunConfigurationFactory::canCreateHelper(Target *parent, const QString &buildTarget) const diff --git a/src/plugins/qmakeandroidsupport/qmakeandroidrunfactories.cpp b/src/plugins/qmakeandroidsupport/qmakeandroidrunfactories.cpp index 61d0d4abc8..e76a9fed8c 100644 --- a/src/plugins/qmakeandroidsupport/qmakeandroidrunfactories.cpp +++ b/src/plugins/qmakeandroidsupport/qmakeandroidrunfactories.cpp @@ -53,7 +53,7 @@ QmakeAndroidRunConfigurationFactory::QmakeAndroidRunConfigurationFactory(QObject { registerRunConfiguration<QmakeAndroidRunConfiguration>(ANDROID_RC_ID_PREFIX); addSupportedProjectType(QmakeProjectManager::Constants::QMAKEPROJECT_ID); - setSupportedTargetDeviceTypes({Android::Constants::ANDROID_DEVICE_TYPE}); + addSupportedTargetDeviceType(Android::Constants::ANDROID_DEVICE_TYPE); } QList<RunConfigurationCreationInfo> QmakeAndroidRunConfigurationFactory::availableCreators(Target *parent) const diff --git a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp index 0fc0873785..2c0bacfe72 100644 --- a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp +++ b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp @@ -434,7 +434,7 @@ DesktopQmakeRunConfigurationFactory::DesktopQmakeRunConfigurationFactory(QObject setObjectName("DesktopQmakeRunConfigurationFactory"); registerRunConfiguration<DesktopQmakeRunConfiguration>(QMAKE_RC_PREFIX); addSupportedProjectType(QmakeProjectManager::Constants::QMAKEPROJECT_ID); - setSupportedTargetDeviceTypes({ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE}); + addSupportedTargetDeviceType(ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE); } bool DesktopQmakeRunConfigurationFactory::canCreateHelper(Target *parent, const QString &buildTarget) const diff --git a/src/plugins/qnx/qnxrunconfigurationfactory.cpp b/src/plugins/qnx/qnxrunconfigurationfactory.cpp index 8a74b8b0c6..3b4f7ff57a 100644 --- a/src/plugins/qnx/qnxrunconfigurationfactory.cpp +++ b/src/plugins/qnx/qnxrunconfigurationfactory.cpp @@ -36,7 +36,7 @@ QnxRunConfigurationFactory::QnxRunConfigurationFactory(QObject *parent) : ProjectExplorer::IRunConfigurationFactory(parent) { registerRunConfiguration<QnxRunConfiguration>(Constants::QNX_QNX_RUNCONFIGURATION_PREFIX); - setSupportedTargetDeviceTypes({Constants::QNX_QNX_OS_TYPE}); + addSupportedTargetDeviceType(Constants::QNX_QNX_OS_TYPE); } } // namespace Internal diff --git a/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.cpp b/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.cpp index 42fb81b146..293cb6b015 100644 --- a/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.cpp +++ b/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.cpp @@ -41,7 +41,7 @@ RemoteLinuxRunConfigurationFactory::RemoteLinuxRunConfigurationFactory(QObject * { setObjectName("RemoteLinuxRunConfigurationFactory"); registerRunConfiguration<RemoteLinuxRunConfiguration>(RemoteLinuxRunConfiguration::IdPrefix); - setSupportedTargetDeviceTypes({RemoteLinux::Constants::GenericLinuxOsType}); + addSupportedTargetDeviceType(RemoteLinux::Constants::GenericLinuxOsType); } // RemoteLinuxCustomRunConfigurationFactory @@ -53,7 +53,7 @@ RemoteLinuxCustomRunConfigurationFactory::RemoteLinuxCustomRunConfigurationFacto setObjectName("RemoteLinuxCustomRunConfiguration"); registerRunConfiguration<RemoteLinuxCustomRunConfiguration> (RemoteLinuxCustomRunConfiguration::runConfigId()); - setSupportedTargetDeviceTypes({RemoteLinux::Constants::GenericLinuxOsType}); + addSupportedTargetDeviceType(RemoteLinux::Constants::GenericLinuxOsType); } } // namespace Internal diff --git a/src/plugins/winrt/winrtrunfactories.cpp b/src/plugins/winrt/winrtrunfactories.cpp index 465de83012..441a32b954 100644 --- a/src/plugins/winrt/winrtrunfactories.cpp +++ b/src/plugins/winrt/winrtrunfactories.cpp @@ -45,9 +45,9 @@ WinRtRunConfigurationFactory::WinRtRunConfigurationFactory() { registerRunConfiguration<WinRtRunConfiguration>(Constants::WINRT_RC_PREFIX); addSupportedProjectType(QmakeProjectManager::Constants::QMAKEPROJECT_ID); - setSupportedTargetDeviceTypes({Constants::WINRT_DEVICE_TYPE_LOCAL, - Constants::WINRT_DEVICE_TYPE_PHONE, - Constants::WINRT_DEVICE_TYPE_EMULATOR}); + addSupportedTargetDeviceType(Constants::WINRT_DEVICE_TYPE_LOCAL); + addSupportedTargetDeviceType(Constants::WINRT_DEVICE_TYPE_PHONE); + addSupportedTargetDeviceType(Constants::WINRT_DEVICE_TYPE_EMULATOR); } QList<RunConfigurationCreationInfo> WinRtRunConfigurationFactory::availableCreators(Target *parent) const |