diff --git a/src/plugins/autotoolsprojectmanager/autotoolstarget.cpp b/src/plugins/autotoolsprojectmanager/autotoolstarget.cpp index ea93603cb2395bf2813def2db65a3b441229be18..1ed7d5de700cf82e2cb8ba67716afa24a0b40775 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<AutotoolsProject *>(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 636a0983180b287f9b0f1303bf1e5982302fe1e9..55aa55fc844283976b6a7d5e882bedd98ced327c 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 36ccd1ca7e8cd374f0fa6a9586646c86eae6f7e8..31d47abbf2322ece7a732f60ae2b2aa37e02ee06 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<CMakeProject *>(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 799c62d102e6b1c284c5f5fadd4c1cdcea0388bd..51da026a6841d206acc221f3cd6a9351ed848530 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 617acd279fb642df988caefb330ab8b2ef8781b2..f3572ca5cec76b90a4c48b87bfd8852535a3704e 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<GenericProject *>(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 df2186a86ab6b42b92d521f9e7fe98788cabbaf7..7f4df5d3f358159f952cfd43ffba6bd6fa361aaa 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 34db48c66a501189e0967aab1c7eddf30331b854..6a2327a9ffdda407e6e4a36c707d6975adafa4bc 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<Qt4Project *>(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<Qt4Project *>(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<Qt4Project *>(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 a2e76b6d1c5a35ab5c728bd2cd18283e7de0c5fa..88b4a9dbec9952545ae1b0ea5bfd9e9f7c0c6313 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 4c2a93cfe40993ecb4bfa7437a9a263c64c1c172..f6684cd69d78abd361abbe417ebc53f7fb33e4ad 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<ITargetFactory>()) { - 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 f3cafe35728d5971679f6c6ab8f4df7494787a1a..e69f677722a3d91ef1a1f1189a876db5ea28c351 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 1f2db853b68471b7a0fc811f0ca40110b7568a10..0bce0538cd019c455ecbb490a7ac6476e8dcfe33 100644 --- a/src/plugins/projectexplorer/targetsettingspanel.cpp +++ b/src/plugins/projectexplorer/targetsettingspanel.cpp @@ -316,9 +316,11 @@ void TargetSettingsPanelWidget::updateTargetAddAndRemoveButtons() ExtensionSystem::PluginManager::instance()->getObjects<ITargetFactory>(); 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 1d4411b150c26ab3f4159655d9470b9a292296f6..68b874ba71112565a9424f36cb7f1145235e2ede 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<QmlProject *>(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 5e388d23e34bcc2922a2391c7f034cdda0e54b7c..fed3f969cca9af12017d54abc37fa709b5a525eb 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 dcc3724aa432337378ffae0f5c2ba830358347d9..d2e4c6e59a72c16b6cd093a3639a0acd9a290e58 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<Qt4Project *>(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<Qt4Project *>(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<Qt4Project *>(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 e389b65bbd0603991febd660ddaf7ebf74a452dd..4ad88fa13f30cc62934ff3263a2846138f8536d7 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 162038aafcf22fe966a1133e6fcee123561f7e4b..9cc4bb10b80197f2c25052dc1ff32a3479e865e1 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<Qt4Project *>(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<Qt4Project *>(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<Qt4Project *>(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 f2ffa33ecb47094b2c675ff071a13ce7d0e94c5e..200ea73c2ada0a0fe638f5b4ebb3c4dab8c5acaf 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 57a7abdf59dd10b09253a4f1cb983494ccc15d6e..e3d2c81366290e80cccafa0a34d26af48a2da513 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<Qt4Project *>(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<Qt4Project *>(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<Qt4Project *>(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 fc6c42c36f84867389d9be8cf889e29259069a20..b33b5b1611a1e6469db1f9272ae7bbf42806d503 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 8c58242179e45e3f9fdafc4337026f6c51905910..5f98f5a471547700ac6285460628a1ebeb8361b5 100644 --- a/src/plugins/qt4projectmanager/qt4target.cpp +++ b/src/plugins/qt4projectmanager/qt4target.cpp @@ -1251,7 +1251,7 @@ QList<BuildConfigurationInfo> BuildConfigurationInfo::importBuildConfigurations( QList<Qt4BaseTargetFactory *> factories = ExtensionSystem::PluginManager::instance()->getObjects<Qt4BaseTargetFactory>(); 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 76858f05d399d8478fa79ce73d57b21527e427fc..fe37d6b9e3842262ae044ab4ac8ae03b8532ae90 100644 --- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp +++ b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp @@ -152,7 +152,7 @@ void TargetSetupPage::setupWidgets() QList<Qt4BaseTargetFactory *> factories = ExtensionSystem::PluginManager::instance()->getObjects<Qt4BaseTargetFactory>(); 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 4d7488689c4ab6d2cc669f705e1ac41f103a454f..07b1894f2dbdb31c382b8daf2677e404a7e493ff 100644 --- a/src/plugins/remotelinux/embeddedlinuxtargetfactory.cpp +++ b/src/plugins/remotelinux/embeddedlinuxtargetfactory.cpp @@ -80,12 +80,9 @@ QSet<QString> 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<Qt4ProjectManager::Qt4Project *>(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 4b90b9dadf8ae1b83285977c289c5f7c2cac67c8..1f6709ced65762aa60457a5e96249417efd236f6 100644 --- a/src/plugins/remotelinux/embeddedlinuxtargetfactory.h +++ b/src/plugins/remotelinux/embeddedlinuxtargetfactory.h @@ -51,7 +51,7 @@ public: QSet<QString> 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;