QList<Core::Id> DesktopQmakeRunConfigurationFactory::availableCreationIds(Target *parent, CreationMode mode) const { if (!canHandle(parent)) return QList<Core::Id>(); QmakeProject *project = static_cast<QmakeProject *>(parent->project()); QList<QmakeProFileNode *> nodes = project->applicationProFiles(); if (mode == AutoCreate) nodes = QmakeProject::nodesWithQtcRunnable(nodes); return QmakeProject::idsForNodes(Core::Id(QMAKE_RC_PREFIX), nodes); }
// // CreateAndroidManifestWizard // CreateAndroidManifestWizard::CreateAndroidManifestWizard(ProjectExplorer::Target *target) : m_target(target), m_node(0) { setWindowTitle(tr("Create Android Manifest Wizard")); QmakeProject *project = static_cast<QmakeProject *>(target->project()); QList<QmakeProFileNode *> nodes = project->applicationProFiles(); if (nodes.isEmpty()) { // oh uhm can't create anything addPage(new NoApplicationProFilePage(this)); } else if (nodes.size() == 1) { setNode(nodes.first()); addPage(new ChooseDirectoryPage(this)); } else { addPage(new ChooseProFilePage(this, nodes)); addPage(new ChooseDirectoryPage(this)); } }
QStringList QmakeAndroidSupport::projectTargetApplications(const ProjectExplorer::Target *target) const { QStringList apps; QmakeProject *qmakeProject = qobject_cast<QmakeProject *>(target->project()); if (!qmakeProject) return apps; for (QmakeProFile *proFile : qmakeProject->applicationProFiles()) { if (proFile->projectType() == ProjectType::ApplicationTemplate) { if (proFile->targetInformation().target.startsWith(QLatin1String("lib")) && proFile->targetInformation().target.endsWith(QLatin1String(".so"))) apps << proFile->targetInformation().target.mid(3, proFile->targetInformation().target.lastIndexOf(QLatin1Char('.')) - 3); else apps << proFile->targetInformation().target; } } apps.sort(); return apps; }