diff --git a/src/plugins/autotoolsprojectmanager/autotoolstarget.cpp b/src/plugins/autotoolsprojectmanager/autotoolstarget.cpp index ea93603cb23..1ed7d5de700 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolstarget.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolstarget.cpp @@ -118,10 +118,8 @@ bool AutotoolsTargetFactory::supportsTargetId(const QString &id) const return id == QLatin1String(Constants::DEFAULT_AUTOTOOLS_TARGET_ID); } -QStringList AutotoolsTargetFactory::supportedTargetIds(Project *parent) const +QStringList AutotoolsTargetFactory::supportedTargetIds() const { - if (!qobject_cast(parent)) - return QStringList(); return QStringList() << QLatin1String(Constants::DEFAULT_AUTOTOOLS_TARGET_ID); } diff --git a/src/plugins/autotoolsprojectmanager/autotoolstarget.h b/src/plugins/autotoolsprojectmanager/autotoolstarget.h index 636a0983180..55aa55fc844 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolstarget.h +++ b/src/plugins/autotoolsprojectmanager/autotoolstarget.h @@ -84,7 +84,7 @@ public: bool supportsTargetId(const QString &id) const; - QStringList supportedTargetIds(ProjectExplorer::Project *parent) const; + QStringList supportedTargetIds() const; QString displayNameForId(const QString &id) const; bool canCreate(ProjectExplorer::Project *parent, const QString &id) const; diff --git a/src/plugins/cmakeprojectmanager/cmaketarget.cpp b/src/plugins/cmakeprojectmanager/cmaketarget.cpp index 36ccd1ca7e8..31d47abbf23 100644 --- a/src/plugins/cmakeprojectmanager/cmaketarget.cpp +++ b/src/plugins/cmakeprojectmanager/cmaketarget.cpp @@ -179,10 +179,8 @@ CMakeTargetFactory::~CMakeTargetFactory() { } -QStringList CMakeTargetFactory::supportedTargetIds(ProjectExplorer::Project *parent) const +QStringList CMakeTargetFactory::supportedTargetIds() const { - if (!qobject_cast(parent)) - return QStringList(); return QStringList() << QLatin1String(DEFAULT_CMAKE_TARGET_ID); } QString CMakeTargetFactory::displayNameForId(const QString &id) const diff --git a/src/plugins/cmakeprojectmanager/cmaketarget.h b/src/plugins/cmakeprojectmanager/cmaketarget.h index 799c62d102e..51da026a684 100644 --- a/src/plugins/cmakeprojectmanager/cmaketarget.h +++ b/src/plugins/cmakeprojectmanager/cmaketarget.h @@ -85,7 +85,7 @@ public: bool supportsTargetId(const QString &id) const; - QStringList supportedTargetIds(ProjectExplorer::Project *parent) const; + QStringList supportedTargetIds() const; QString displayNameForId(const QString &id) const; bool canCreate(ProjectExplorer::Project *parent, const QString &id) const; diff --git a/src/plugins/genericprojectmanager/generictarget.cpp b/src/plugins/genericprojectmanager/generictarget.cpp index 617acd279fb..f3572ca5cec 100644 --- a/src/plugins/genericprojectmanager/generictarget.cpp +++ b/src/plugins/genericprojectmanager/generictarget.cpp @@ -101,10 +101,8 @@ bool GenericTargetFactory::supportsTargetId(const QString &id) const return id == QLatin1String(GENERIC_DESKTOP_TARGET_ID); } -QStringList GenericTargetFactory::supportedTargetIds(ProjectExplorer::Project *parent) const +QStringList GenericTargetFactory::supportedTargetIds() const { - if (!qobject_cast(parent)) - return QStringList(); return QStringList() << QLatin1String(GENERIC_DESKTOP_TARGET_ID); } diff --git a/src/plugins/genericprojectmanager/generictarget.h b/src/plugins/genericprojectmanager/generictarget.h index df2186a86ab..7f4df5d3f35 100644 --- a/src/plugins/genericprojectmanager/generictarget.h +++ b/src/plugins/genericprojectmanager/generictarget.h @@ -85,7 +85,7 @@ public: bool supportsTargetId(const QString &id) const; - QStringList supportedTargetIds(ProjectExplorer::Project *parent) const; + QStringList supportedTargetIds() const; QString displayNameForId(const QString &id) const; bool canCreate(ProjectExplorer::Project *parent, const QString &id) const; diff --git a/src/plugins/madde/qt4maemotargetfactory.cpp b/src/plugins/madde/qt4maemotargetfactory.cpp index 34db48c66a5..6a2327a9ffd 100644 --- a/src/plugins/madde/qt4maemotargetfactory.cpp +++ b/src/plugins/madde/qt4maemotargetfactory.cpp @@ -71,17 +71,12 @@ bool Qt4MaemoTargetFactory::supportsTargetId(const QString &id) const return MaemoGlobal::isMaemoTargetId(id); } -QStringList Qt4MaemoTargetFactory::supportedTargetIds(ProjectExplorer::Project *parent) const +QStringList Qt4MaemoTargetFactory::supportedTargetIds() const { QStringList targetIds; - if (parent && !qobject_cast(parent)) - return targetIds; - if (!QtSupport::QtVersionManager::instance()->versionsForTargetId(QLatin1String(MAEMO5_DEVICE_TARGET_ID)).isEmpty()) - targetIds << QLatin1String(MAEMO5_DEVICE_TARGET_ID); - if (!QtSupport::QtVersionManager::instance()->versionsForTargetId(QLatin1String(HARMATTAN_DEVICE_TARGET_ID)).isEmpty()) - targetIds << QLatin1String(HARMATTAN_DEVICE_TARGET_ID); - if (!QtSupport::QtVersionManager::instance()->versionsForTargetId(QLatin1String(MEEGO_DEVICE_TARGET_ID)).isEmpty()) - targetIds << QLatin1String(MEEGO_DEVICE_TARGET_ID); + targetIds << QLatin1String(MAEMO5_DEVICE_TARGET_ID) + << QLatin1String(HARMATTAN_DEVICE_TARGET_ID) + << QLatin1String(MEEGO_DEVICE_TARGET_ID); return targetIds; } @@ -106,12 +101,15 @@ bool Qt4MaemoTargetFactory::canCreate(ProjectExplorer::Project *parent, const QS { if (!qobject_cast(parent)) return false; - return supportsTargetId(id); + if (!supportsTargetId(id)) + return false; + + return !QtSupport::QtVersionManager::instance()->versionsForTargetId(id).isEmpty(); } bool Qt4MaemoTargetFactory::canRestore(ProjectExplorer::Project *parent, const QVariantMap &map) const { - return canCreate(parent, idFromMap(map)); + return qobject_cast(parent) && supportsTargetId(idFromMap(map)); } ProjectExplorer::Target *Qt4MaemoTargetFactory::restore(ProjectExplorer::Project *parent, const QVariantMap &map) diff --git a/src/plugins/madde/qt4maemotargetfactory.h b/src/plugins/madde/qt4maemotargetfactory.h index a2e76b6d1c5..88b4a9dbec9 100644 --- a/src/plugins/madde/qt4maemotargetfactory.h +++ b/src/plugins/madde/qt4maemotargetfactory.h @@ -45,7 +45,7 @@ public: Qt4MaemoTargetFactory(QObject *parent = 0); ~Qt4MaemoTargetFactory(); - QStringList supportedTargetIds(ProjectExplorer::Project *parent) const; + QStringList supportedTargetIds() const; QString displayNameForId(const QString &id) const; QIcon iconForId(const QString &id) const; diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp index 4c2a93cfe40..f6684cd69d7 100644 --- a/src/plugins/projectexplorer/projectwindow.cpp +++ b/src/plugins/projectexplorer/projectwindow.cpp @@ -312,11 +312,14 @@ bool ProjectWindow::useTargetPage(ProjectExplorer::Project *project) return false; if (project->targets().size() > 1) return true; - QStringList tmp; + int count = 0; foreach (ITargetFactory *fac, ExtensionSystem::PluginManager::instance()->getObjects()) { - tmp.append(fac->supportedTargetIds(project)); - if (tmp.size() > 1) - return true; + foreach (const QString &targetId, fac->supportedTargetIds()) { + if (fac->canCreate(project, targetId)) + ++count; + if (count > 1) + return true; + } } return false; } diff --git a/src/plugins/projectexplorer/target.h b/src/plugins/projectexplorer/target.h index f3cafe35728..e69f677722a 100644 --- a/src/plugins/projectexplorer/target.h +++ b/src/plugins/projectexplorer/target.h @@ -168,7 +168,7 @@ class PROJECTEXPLORER_EXPORT ITargetFactory : public: explicit ITargetFactory(QObject *parent = 0); - virtual QStringList supportedTargetIds(ProjectExplorer::Project *project) const = 0; + virtual QStringList supportedTargetIds() const = 0; virtual bool supportsTargetId(const QString &id) const = 0; // used to translate the types to names to display to the user diff --git a/src/plugins/projectexplorer/targetsettingspanel.cpp b/src/plugins/projectexplorer/targetsettingspanel.cpp index 1f2db853b68..0bce0538cd0 100644 --- a/src/plugins/projectexplorer/targetsettingspanel.cpp +++ b/src/plugins/projectexplorer/targetsettingspanel.cpp @@ -316,9 +316,11 @@ void TargetSettingsPanelWidget::updateTargetAddAndRemoveButtons() ExtensionSystem::PluginManager::instance()->getObjects(); foreach (ITargetFactory *fac, factories) { - foreach (const QString &id, fac->supportedTargetIds(m_project)) { + foreach (const QString &id, fac->supportedTargetIds()) { if (m_project->target(id)) continue; + if (!fac->canCreate(m_project, id)) + continue; QString displayName = fac->displayNameForId(id); QAction *action = new QAction(displayName, m_addMenu); action->setData(QVariant(id)); diff --git a/src/plugins/qmlprojectmanager/qmlprojecttarget.cpp b/src/plugins/qmlprojectmanager/qmlprojecttarget.cpp index 1d4411b150c..68b874ba711 100644 --- a/src/plugins/qmlprojectmanager/qmlprojecttarget.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojecttarget.cpp @@ -102,10 +102,8 @@ bool QmlProjectTargetFactory::supportsTargetId(const QString &id) const return id == QLatin1String(Constants::QML_VIEWER_TARGET_ID); } -QStringList QmlProjectTargetFactory::supportedTargetIds(ProjectExplorer::Project *parent) const +QStringList QmlProjectTargetFactory::supportedTargetIds() const { - if (!qobject_cast(parent)) - return QStringList(); return QStringList() << QLatin1String(Constants::QML_VIEWER_TARGET_ID); } diff --git a/src/plugins/qmlprojectmanager/qmlprojecttarget.h b/src/plugins/qmlprojectmanager/qmlprojecttarget.h index 5e388d23e34..fed3f969cca 100644 --- a/src/plugins/qmlprojectmanager/qmlprojecttarget.h +++ b/src/plugins/qmlprojectmanager/qmlprojecttarget.h @@ -74,7 +74,7 @@ public: ~QmlProjectTargetFactory(); bool supportsTargetId(const QString &id) const; - QStringList supportedTargetIds(ProjectExplorer::Project *parent) const; + QStringList supportedTargetIds() const; QString displayNameForId(const QString &id) const; bool canCreate(ProjectExplorer::Project *parent, const QString &id) const; diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp index dcc3724aa43..d2e4c6e59a7 100644 --- a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp +++ b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp @@ -69,13 +69,9 @@ bool Qt4DesktopTargetFactory::supportsTargetId(const QString &id) const return id == QLatin1String(Constants::DESKTOP_TARGET_ID); } -QStringList Qt4DesktopTargetFactory::supportedTargetIds(ProjectExplorer::Project *parent) const +QStringList Qt4DesktopTargetFactory::supportedTargetIds() const { - if (parent && !qobject_cast(parent)) - return QStringList(); - const QString desktopId = QLatin1String(Constants::DESKTOP_TARGET_ID); - return QtSupport::QtVersionManager::instance()->supportsTargetId(desktopId) ? - QStringList(desktopId) : QStringList(); + return QStringList(QLatin1String(Constants::DESKTOP_TARGET_ID)); } QString Qt4DesktopTargetFactory::displayNameForId(const QString &id) const @@ -103,12 +99,14 @@ bool Qt4DesktopTargetFactory::canCreate(ProjectExplorer::Project *parent, const { if (!qobject_cast(parent)) return false; - return supportsTargetId(id); + if (!supportsTargetId(id)) + return false; + return QtSupport::QtVersionManager::instance()->supportsTargetId(id); } bool Qt4DesktopTargetFactory::canRestore(ProjectExplorer::Project *parent, const QVariantMap &map) const { - return canCreate(parent, idFromMap(map)); + return qobject_cast(parent) && supportsTargetId(idFromMap(map)); } ProjectExplorer::Target *Qt4DesktopTargetFactory::restore(ProjectExplorer::Project *parent, const QVariantMap &map) diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.h b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.h index e389b65bbd0..4ad88fa13f3 100644 --- a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.h +++ b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.h @@ -44,7 +44,7 @@ public: Qt4DesktopTargetFactory(QObject *parent = 0); ~Qt4DesktopTargetFactory(); - QStringList supportedTargetIds(ProjectExplorer::Project *parent) const; + QStringList supportedTargetIds() const; QString displayNameForId(const QString &id) const; QIcon iconForId(const QString &id) const; diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp index 162038aafcf..9cc4bb10b80 100644 --- a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp +++ b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp @@ -69,13 +69,9 @@ bool Qt4SimulatorTargetFactory::supportsTargetId(const QString &id) const return id == QLatin1String(Constants::QT_SIMULATOR_TARGET_ID); } -QStringList Qt4SimulatorTargetFactory::supportedTargetIds(ProjectExplorer::Project *parent) const +QStringList Qt4SimulatorTargetFactory::supportedTargetIds() const { - if (parent && !qobject_cast(parent)) - return QStringList(); - const QString simulatorId = QLatin1String(Constants::QT_SIMULATOR_TARGET_ID); - return QtSupport::QtVersionManager::instance()->supportsTargetId(simulatorId) ? - QStringList(simulatorId) : QStringList(); + return QStringList() << QLatin1String(Constants::QT_SIMULATOR_TARGET_ID); } QString Qt4SimulatorTargetFactory::displayNameForId(const QString &id) const @@ -103,12 +99,14 @@ bool Qt4SimulatorTargetFactory::canCreate(ProjectExplorer::Project *parent, cons { if (!qobject_cast(parent)) return false; - return supportsTargetId(id); + if (!supportsTargetId(id)) + return false; + return QtSupport::QtVersionManager::instance()->supportsTargetId(id); } bool Qt4SimulatorTargetFactory::canRestore(ProjectExplorer::Project *parent, const QVariantMap &map) const { - return canCreate(parent, idFromMap(map)); + return qobject_cast(parent) && supportsTargetId(idFromMap(map)); } ProjectExplorer::Target *Qt4SimulatorTargetFactory::restore(ProjectExplorer::Project *parent, const QVariantMap &map) diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.h b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.h index f2ffa33ecb4..200ea73c2ad 100644 --- a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.h +++ b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.h @@ -47,7 +47,7 @@ public: bool supportsTargetId(const QString &id); - QStringList supportedTargetIds(ProjectExplorer::Project *parent) const; + QStringList supportedTargetIds() const; QString displayNameForId(const QString &id) const; QIcon iconForId(const QString &id) const; diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp index 57a7abdf59d..e3d2c813662 100644 --- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp @@ -74,20 +74,11 @@ bool Qt4SymbianTargetFactory::supportsTargetId(const QString &id) const || id == QLatin1String(Constants::S60_EMULATOR_TARGET_ID); } -QStringList Qt4SymbianTargetFactory::supportedTargetIds(ProjectExplorer::Project *parent) const +QStringList Qt4SymbianTargetFactory::supportedTargetIds() const { - if (parent && !qobject_cast(parent)) - return QStringList(); - QStringList ids; - // The QtVersionManager will just check whether theres - const QString deviceId = QLatin1String(Constants::S60_DEVICE_TARGET_ID); - if (QtSupport::QtVersionManager::instance()->supportsTargetId(deviceId)) - ids << deviceId; - const QString emulatorId = QLatin1String(Constants::S60_EMULATOR_TARGET_ID); - if (QtSupport::QtVersionManager::instance()->supportsTargetId(emulatorId)) - ids << emulatorId; - + ids << QLatin1String(Constants::S60_DEVICE_TARGET_ID) + << QLatin1String(Constants::S60_EMULATOR_TARGET_ID); return ids; } @@ -109,12 +100,14 @@ bool Qt4SymbianTargetFactory::canCreate(ProjectExplorer::Project *parent, const { if (!qobject_cast(parent)) return false; - return supportsTargetId(id); + if (!supportsTargetId(id)) + return false; + return QtSupport::QtVersionManager::instance()->supportsTargetId(id); } bool Qt4SymbianTargetFactory::canRestore(ProjectExplorer::Project *parent, const QVariantMap &map) const { - return canCreate(parent, idFromMap(map)); + return qobject_cast(parent) && supportsTargetId(idFromMap(map)); } ProjectExplorer::Target *Qt4SymbianTargetFactory::restore(ProjectExplorer::Project *parent, const QVariantMap &map) diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.h b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.h index fc6c42c36f8..b33b5b1611a 100644 --- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.h +++ b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.h @@ -44,7 +44,7 @@ public: Qt4SymbianTargetFactory(QObject *parent = 0); ~Qt4SymbianTargetFactory(); - QStringList supportedTargetIds(ProjectExplorer::Project *parent) const; + QStringList supportedTargetIds() const; bool supportsTargetId(const QString &id) const; QString displayNameForId(const QString &id) const; QIcon iconForId(const QString &id) const; diff --git a/src/plugins/qt4projectmanager/qt4target.cpp b/src/plugins/qt4projectmanager/qt4target.cpp index 8c58242179e..5f98f5a4715 100644 --- a/src/plugins/qt4projectmanager/qt4target.cpp +++ b/src/plugins/qt4projectmanager/qt4target.cpp @@ -1251,7 +1251,7 @@ QList BuildConfigurationInfo::importBuildConfigurations( QList factories = ExtensionSystem::PluginManager::instance()->getObjects(); foreach (Qt4BaseTargetFactory *factory, factories) { - foreach (const QString &id, factory->supportedTargetIds(0)) { + foreach (const QString &id, factory->supportedTargetIds()) { QString expectedBuildprefix = factory->shadowBuildDirectory(proFilePath, id, QString()); QString baseDir = QFileInfo(expectedBuildprefix).absolutePath(); foreach (const QString &dir, QDir(baseDir).entryList()) { diff --git a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp index 76858f05d39..fe37d6b9e38 100644 --- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp +++ b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp @@ -152,7 +152,7 @@ void TargetSetupPage::setupWidgets() QList factories = ExtensionSystem::PluginManager::instance()->getObjects(); bool atLeastOneTargetSelected = false; foreach (Qt4BaseTargetFactory *factory, factories) { - QStringList ids = factory->supportedTargetIds(0); + QStringList ids = factory->supportedTargetIds(); foreach (const QString &id, ids) { if (!factory->targetFeatures(id).contains(m_requiredTargetFeatures)) continue; @@ -167,7 +167,6 @@ void TargetSetupPage::setupWidgets() m_selectedPlatform); - Qt4TargetSetupWidget *widget = factory->createTargetSetupWidget(id, m_proFilePath, m_minimumQtVersionNumber, diff --git a/src/plugins/remotelinux/embeddedlinuxtargetfactory.cpp b/src/plugins/remotelinux/embeddedlinuxtargetfactory.cpp index 4d7488689c4..07b1894f2db 100644 --- a/src/plugins/remotelinux/embeddedlinuxtargetfactory.cpp +++ b/src/plugins/remotelinux/embeddedlinuxtargetfactory.cpp @@ -80,12 +80,9 @@ QSet EmbeddedLinuxTargetFactory::targetFeatures(const QString & /*id*/) return features; } -QStringList EmbeddedLinuxTargetFactory::supportedTargetIds(ProjectExplorer::Project *project) const +QStringList EmbeddedLinuxTargetFactory::supportedTargetIds() const { - Q_UNUSED(project); - if (QtSupport::QtVersionManager::instance()->supportsTargetId(RemoteLinux::Constants::EMBEDDED_LINUX_TARGET_ID)) - return QStringList() << QLatin1String(RemoteLinux::Constants::EMBEDDED_LINUX_TARGET_ID); - return QStringList(); + return QStringList() << QLatin1String(RemoteLinux::Constants::EMBEDDED_LINUX_TARGET_ID); } bool EmbeddedLinuxTargetFactory::supportsTargetId(const QString &id) const @@ -102,7 +99,7 @@ QString EmbeddedLinuxTargetFactory::displayNameForId(const QString &id) const bool EmbeddedLinuxTargetFactory::canRestore(ProjectExplorer::Project *parent, const QVariantMap &map) const { - return canCreate(parent, ProjectExplorer::idFromMap(map)); + return qobject_cast(parent) && supportsTargetId(ProjectExplorer::idFromMap(map)); } ProjectExplorer::Target *EmbeddedLinuxTargetFactory::restore(ProjectExplorer::Project *parent, const QVariantMap &map) @@ -124,7 +121,10 @@ bool EmbeddedLinuxTargetFactory::canCreate(ProjectExplorer::Project *parent, con if (!project) return false; - return supportsTargetId(id); + if (!supportsTargetId(id)) + return false; + + return QtSupport::QtVersionManager::instance()->supportsTargetId(id); } ProjectExplorer::Target *EmbeddedLinuxTargetFactory::create(ProjectExplorer::Project *parent, diff --git a/src/plugins/remotelinux/embeddedlinuxtargetfactory.h b/src/plugins/remotelinux/embeddedlinuxtargetfactory.h index 4b90b9dadf8..1f6709ced65 100644 --- a/src/plugins/remotelinux/embeddedlinuxtargetfactory.h +++ b/src/plugins/remotelinux/embeddedlinuxtargetfactory.h @@ -51,7 +51,7 @@ public: QSet targetFeatures(const QString &id) const; - QStringList supportedTargetIds(ProjectExplorer::Project *project) const; + QStringList supportedTargetIds() const; bool supportsTargetId(const QString &id) const; QString displayNameForId(const QString &id) const;