forked from qt-creator/qt-creator
QMake: Simplify QmakeProject::creationIds use further
We always operate on specific types of proFiles, knowing the types suffices as interface. Change-Id: I5ffe8862ae31234843a71bdae537825b37ccd311 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
@@ -98,11 +98,10 @@ QList<Core::Id> IosRunConfigurationFactory::availableCreationIds(Target *parent,
|
|||||||
if (!IosManager::supportsIos(parent))
|
if (!IosManager::supportsIos(parent))
|
||||||
return QList<Core::Id>();
|
return QList<Core::Id>();
|
||||||
|
|
||||||
QmakeProject *project = static_cast<QmakeProject *>(parent->project());
|
auto project = static_cast<QmakeProject *>(parent->project());
|
||||||
QList<QmakeProFile *> files = project->allProFiles({ProjectType::ApplicationTemplate,
|
return project->creationIds(IOS_RC_ID_PREFIX, mode, {ProjectType::ApplicationTemplate,
|
||||||
ProjectType::SharedLibraryTemplate,
|
ProjectType::SharedLibraryTemplate,
|
||||||
ProjectType::AuxTemplate});
|
ProjectType::AuxTemplate});
|
||||||
return QmakeProject::creationIds(IOS_RC_ID_PREFIX, files, mode);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QString IosRunConfigurationFactory::displayNameForId(Core::Id id) const
|
QString IosRunConfigurationFactory::displayNameForId(Core::Id id) const
|
||||||
|
@@ -83,10 +83,9 @@ QList<Core::Id> QmakeAndroidRunConfigurationFactory::availableCreationIds(Target
|
|||||||
if (!canHandle(parent))
|
if (!canHandle(parent))
|
||||||
return QList<Core::Id>();
|
return QList<Core::Id>();
|
||||||
|
|
||||||
QmakeProject *project = static_cast<QmakeProject *>(parent->project());
|
auto project = static_cast<QmakeProject *>(parent->project());
|
||||||
QList<QmakeProFile *> files = project->allProFiles({ProjectType::ApplicationTemplate,
|
return project->creationIds(ANDROID_RC_ID_PREFIX, mode,
|
||||||
ProjectType::SharedLibraryTemplate});
|
{ProjectType::ApplicationTemplate, ProjectType::SharedLibraryTemplate});
|
||||||
return QmakeProject::creationIds(ANDROID_RC_ID_PREFIX, files, mode);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
RunConfiguration *QmakeAndroidRunConfigurationFactory::doCreate(Target *parent, Core::Id id)
|
RunConfiguration *QmakeAndroidRunConfigurationFactory::doCreate(Target *parent, Core::Id id)
|
||||||
|
@@ -564,7 +564,7 @@ QList<Core::Id> DesktopQmakeRunConfigurationFactory::availableCreationIds(Target
|
|||||||
return QList<Core::Id>();
|
return QList<Core::Id>();
|
||||||
|
|
||||||
QmakeProject *project = static_cast<QmakeProject *>(parent->project());
|
QmakeProject *project = static_cast<QmakeProject *>(parent->project());
|
||||||
return QmakeProject::creationIds(QMAKE_RC_PREFIX, project->applicationProFiles(), mode);
|
return project->creationIds(QMAKE_RC_PREFIX, mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString DesktopQmakeRunConfigurationFactory::displayNameForId(Core::Id id) const
|
QString DesktopQmakeRunConfigurationFactory::displayNameForId(Core::Id id) const
|
||||||
|
@@ -902,9 +902,14 @@ bool QmakeProject::hasApplicationProFile(const FileName &path) const
|
|||||||
return Utils::contains(list, Utils::equal(&QmakeProFile::filePath, path));
|
return Utils::contains(list, Utils::equal(&QmakeProFile::filePath, path));
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<Core::Id> QmakeProject::creationIds(Core::Id base, const QList<QmakeProFile *> &files,
|
QList<Core::Id> QmakeProject::creationIds(Core::Id base,
|
||||||
IRunConfigurationFactory::CreationMode mode)
|
IRunConfigurationFactory::CreationMode mode,
|
||||||
|
const QList<ProjectType> &projectTypes)
|
||||||
{
|
{
|
||||||
|
QList<ProjectType> realTypes = projectTypes;
|
||||||
|
if (realTypes.isEmpty())
|
||||||
|
realTypes = {ProjectType::ApplicationTemplate, ProjectType::ScriptTemplate};
|
||||||
|
QList<QmakeProFile *> files = allProFiles(realTypes);
|
||||||
QList<QmakeProFile *> temp = files;
|
QList<QmakeProFile *> temp = files;
|
||||||
|
|
||||||
if (mode == IRunConfigurationFactory::AutoCreate) {
|
if (mode == IRunConfigurationFactory::AutoCreate) {
|
||||||
|
@@ -85,8 +85,9 @@ public:
|
|||||||
QList<QmakeProFile *> applicationProFiles(Parsing parse = ExactParse) const;
|
QList<QmakeProFile *> applicationProFiles(Parsing parse = ExactParse) const;
|
||||||
bool hasApplicationProFile(const Utils::FileName &path) const;
|
bool hasApplicationProFile(const Utils::FileName &path) const;
|
||||||
|
|
||||||
static QList<Core::Id> creationIds(Core::Id base, const QList<QmakeProFile *> &files,
|
QList<Core::Id> creationIds(Core::Id base,
|
||||||
ProjectExplorer::IRunConfigurationFactory::CreationMode mode);
|
ProjectExplorer::IRunConfigurationFactory::CreationMode mode,
|
||||||
|
const QList<ProjectType> &projectTypes = {});
|
||||||
|
|
||||||
void notifyChanged(const Utils::FileName &name);
|
void notifyChanged(const Utils::FileName &name);
|
||||||
|
|
||||||
|
@@ -57,8 +57,7 @@ QList<Core::Id> QnxRunConfigurationFactory::availableCreationIds(ProjectExplorer
|
|||||||
if (!project)
|
if (!project)
|
||||||
return QList<Core::Id>();
|
return QList<Core::Id>();
|
||||||
|
|
||||||
QList<QmakeProjectManager::QmakeProFile *> files = project->applicationProFiles();
|
return project->creationIds(Constants::QNX_QNX_RUNCONFIGURATION_PREFIX, mode);
|
||||||
return QmakeProject::creationIds(Constants::QNX_QNX_RUNCONFIGURATION_PREFIX, files, mode);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QString QnxRunConfigurationFactory::displayNameForId(Core::Id id) const
|
QString QnxRunConfigurationFactory::displayNameForId(Core::Id id) const
|
||||||
|
@@ -66,8 +66,7 @@ QList<Core::Id> WinRtRunConfigurationFactory::availableCreationIds(Target *paren
|
|||||||
return QList<Core::Id>();
|
return QList<Core::Id>();
|
||||||
|
|
||||||
QmakeProject *project = static_cast<QmakeProject *>(parent->project());
|
QmakeProject *project = static_cast<QmakeProject *>(parent->project());
|
||||||
QList<QmakeProFile *> files = project->applicationProFiles();
|
return project->creationIds(Constants::WINRT_RC_PREFIX, mode);
|
||||||
return QmakeProject::creationIds(Constants::WINRT_RC_PREFIX, files, mode);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QString WinRtRunConfigurationFactory::displayNameForId(Core::Id id) const
|
QString WinRtRunConfigurationFactory::displayNameForId(Core::Id id) const
|
||||||
|
Reference in New Issue
Block a user