diff --git a/src/plugins/cmakeprojectmanager/cmaketarget.cpp b/src/plugins/cmakeprojectmanager/cmaketarget.cpp index c223cd4c7df..8f4c302cf68 100644 --- a/src/plugins/cmakeprojectmanager/cmaketarget.cpp +++ b/src/plugins/cmakeprojectmanager/cmaketarget.cpp @@ -78,6 +78,11 @@ CMakeProject *CMakeTarget::cmakeProject() const return static_cast(project()); } +bool CMakeTargetFactory::supportsTargetId(const QString &id) const +{ + return id == DEFAULT_CMAKE_TARGET_ID; +} + CMakeBuildConfiguration *CMakeTarget::activeBuildConfiguration() const { return static_cast(Target::activeBuildConfiguration()); diff --git a/src/plugins/cmakeprojectmanager/cmaketarget.h b/src/plugins/cmakeprojectmanager/cmaketarget.h index c4d20f85edb..f6b4ba4bd92 100644 --- a/src/plugins/cmakeprojectmanager/cmaketarget.h +++ b/src/plugins/cmakeprojectmanager/cmaketarget.h @@ -81,6 +81,8 @@ public: CMakeTargetFactory(QObject *parent = 0); ~CMakeTargetFactory(); + bool supportsTargetId(const QString &id) const; + QStringList availableCreationIds(ProjectExplorer::Project *parent) const; QString displayNameForId(const QString &id) const; diff --git a/src/plugins/genericprojectmanager/generictarget.cpp b/src/plugins/genericprojectmanager/generictarget.cpp index 269d3b1af78..d5e463fe9c6 100644 --- a/src/plugins/genericprojectmanager/generictarget.cpp +++ b/src/plugins/genericprojectmanager/generictarget.cpp @@ -107,6 +107,11 @@ GenericTargetFactory::~GenericTargetFactory() { } +bool GenericTargetFactory::supportsTargetId(const QString &id) const +{ + return id == QLatin1String(GENERIC_DESKTOP_TARGET_ID); +} + QStringList GenericTargetFactory::availableCreationIds(ProjectExplorer::Project *parent) const { if (!qobject_cast(parent)) diff --git a/src/plugins/genericprojectmanager/generictarget.h b/src/plugins/genericprojectmanager/generictarget.h index 123284b33bb..b076de37f99 100644 --- a/src/plugins/genericprojectmanager/generictarget.h +++ b/src/plugins/genericprojectmanager/generictarget.h @@ -83,6 +83,8 @@ public: explicit GenericTargetFactory(QObject *parent = 0); ~GenericTargetFactory(); + bool supportsTargetId(const QString &id) const; + QStringList availableCreationIds(ProjectExplorer::Project *parent) const; QString displayNameForId(const QString &id) const; diff --git a/src/plugins/projectexplorer/target.h b/src/plugins/projectexplorer/target.h index 6775f2343e8..371f7ef59c9 100644 --- a/src/plugins/projectexplorer/target.h +++ b/src/plugins/projectexplorer/target.h @@ -152,6 +152,8 @@ public: explicit ITargetFactory(QObject *parent = 0); virtual ~ITargetFactory(); + virtual bool supportsTargetId(const QString &id) const = 0; + // used to show the list of possible additons to a target, returns a list of types virtual QStringList availableCreationIds(Project *parent) const = 0; // used to translate the types to names to display to the user diff --git a/src/plugins/qmlprojectmanager/qmlprojecttarget.cpp b/src/plugins/qmlprojectmanager/qmlprojecttarget.cpp index 429a65a9d83..c4f516beb06 100644 --- a/src/plugins/qmlprojectmanager/qmlprojecttarget.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojecttarget.cpp @@ -94,6 +94,11 @@ QmlProjectTargetFactory::~QmlProjectTargetFactory() { } +bool QmlProjectTargetFactory::supportsTargetId(const QString &id) const +{ + return id == QLatin1String(Constants::QML_VIEWER_TARGET_ID); +} + QStringList QmlProjectTargetFactory::availableCreationIds(ProjectExplorer::Project *parent) const { if (!qobject_cast(parent)) diff --git a/src/plugins/qmlprojectmanager/qmlprojecttarget.h b/src/plugins/qmlprojectmanager/qmlprojecttarget.h index 1722a1742b2..37971c316f8 100644 --- a/src/plugins/qmlprojectmanager/qmlprojecttarget.h +++ b/src/plugins/qmlprojectmanager/qmlprojecttarget.h @@ -69,6 +69,7 @@ public: explicit QmlProjectTargetFactory(QObject *parent = 0); ~QmlProjectTargetFactory(); + bool supportsTargetId(const QString &id) const; QStringList availableCreationIds(ProjectExplorer::Project *parent) const; QString displayNameForId(const QString &id) const; diff --git a/src/plugins/qt4projectmanager/qt4target.cpp b/src/plugins/qt4projectmanager/qt4target.cpp index ace56d03e77..d2d34cfb9d9 100644 --- a/src/plugins/qt4projectmanager/qt4target.cpp +++ b/src/plugins/qt4projectmanager/qt4target.cpp @@ -107,6 +107,17 @@ Qt4TargetFactory::~Qt4TargetFactory() { } +bool Qt4TargetFactory::supportsTargetId(const QString &id) const +{ + QSet ids; + ids << QLatin1String("Qt4ProjectManager.Target.DesktopTarget") + << QLatin1String("Qt4ProjectManager.Target.S60EmulatorTarget") + << QLatin1String("Qt4ProjectManager.Target.S60DeviceTarget") + << QLatin1String("Qt4ProjectManager.Target.MaemoDeviceTarget") + << QLatin1String("Qt4ProjectManager.Target.QtSimulatorTarget"); + return ids.contains(id); +} + QStringList Qt4TargetFactory::availableCreationIds(ProjectExplorer::Project *parent) const { if (!qobject_cast(parent)) diff --git a/src/plugins/qt4projectmanager/qt4target.h b/src/plugins/qt4projectmanager/qt4target.h index d6df4457c5a..265a4fdbb27 100644 --- a/src/plugins/qt4projectmanager/qt4target.h +++ b/src/plugins/qt4projectmanager/qt4target.h @@ -118,6 +118,8 @@ public: Qt4TargetFactory(QObject *parent = 0); ~Qt4TargetFactory(); + virtual bool supportsTargetId(const QString &id) const; + QStringList availableCreationIds(ProjectExplorer::Project *parent) const; QString displayNameForId(const QString &id) const;