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))
|
||||
return QList<Core::Id>();
|
||||
|
||||
QmakeProject *project = static_cast<QmakeProject *>(parent->project());
|
||||
QList<QmakeProFile *> files = project->allProFiles({ProjectType::ApplicationTemplate,
|
||||
ProjectType::SharedLibraryTemplate,
|
||||
ProjectType::AuxTemplate});
|
||||
return QmakeProject::creationIds(IOS_RC_ID_PREFIX, files, mode);
|
||||
auto project = static_cast<QmakeProject *>(parent->project());
|
||||
return project->creationIds(IOS_RC_ID_PREFIX, mode, {ProjectType::ApplicationTemplate,
|
||||
ProjectType::SharedLibraryTemplate,
|
||||
ProjectType::AuxTemplate});
|
||||
}
|
||||
|
||||
QString IosRunConfigurationFactory::displayNameForId(Core::Id id) const
|
||||
|
@@ -83,10 +83,9 @@ QList<Core::Id> QmakeAndroidRunConfigurationFactory::availableCreationIds(Target
|
||||
if (!canHandle(parent))
|
||||
return QList<Core::Id>();
|
||||
|
||||
QmakeProject *project = static_cast<QmakeProject *>(parent->project());
|
||||
QList<QmakeProFile *> files = project->allProFiles({ProjectType::ApplicationTemplate,
|
||||
ProjectType::SharedLibraryTemplate});
|
||||
return QmakeProject::creationIds(ANDROID_RC_ID_PREFIX, files, mode);
|
||||
auto project = static_cast<QmakeProject *>(parent->project());
|
||||
return project->creationIds(ANDROID_RC_ID_PREFIX, mode,
|
||||
{ProjectType::ApplicationTemplate, ProjectType::SharedLibraryTemplate});
|
||||
}
|
||||
|
||||
RunConfiguration *QmakeAndroidRunConfigurationFactory::doCreate(Target *parent, Core::Id id)
|
||||
|
@@ -564,7 +564,7 @@ QList<Core::Id> DesktopQmakeRunConfigurationFactory::availableCreationIds(Target
|
||||
return QList<Core::Id>();
|
||||
|
||||
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
|
||||
|
@@ -902,9 +902,14 @@ bool QmakeProject::hasApplicationProFile(const FileName &path) const
|
||||
return Utils::contains(list, Utils::equal(&QmakeProFile::filePath, path));
|
||||
}
|
||||
|
||||
QList<Core::Id> QmakeProject::creationIds(Core::Id base, const QList<QmakeProFile *> &files,
|
||||
IRunConfigurationFactory::CreationMode mode)
|
||||
QList<Core::Id> QmakeProject::creationIds(Core::Id base,
|
||||
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;
|
||||
|
||||
if (mode == IRunConfigurationFactory::AutoCreate) {
|
||||
|
@@ -85,8 +85,9 @@ public:
|
||||
QList<QmakeProFile *> applicationProFiles(Parsing parse = ExactParse) const;
|
||||
bool hasApplicationProFile(const Utils::FileName &path) const;
|
||||
|
||||
static QList<Core::Id> creationIds(Core::Id base, const QList<QmakeProFile *> &files,
|
||||
ProjectExplorer::IRunConfigurationFactory::CreationMode mode);
|
||||
QList<Core::Id> creationIds(Core::Id base,
|
||||
ProjectExplorer::IRunConfigurationFactory::CreationMode mode,
|
||||
const QList<ProjectType> &projectTypes = {});
|
||||
|
||||
void notifyChanged(const Utils::FileName &name);
|
||||
|
||||
|
@@ -57,8 +57,7 @@ QList<Core::Id> QnxRunConfigurationFactory::availableCreationIds(ProjectExplorer
|
||||
if (!project)
|
||||
return QList<Core::Id>();
|
||||
|
||||
QList<QmakeProjectManager::QmakeProFile *> files = project->applicationProFiles();
|
||||
return QmakeProject::creationIds(Constants::QNX_QNX_RUNCONFIGURATION_PREFIX, files, mode);
|
||||
return project->creationIds(Constants::QNX_QNX_RUNCONFIGURATION_PREFIX, mode);
|
||||
}
|
||||
|
||||
QString QnxRunConfigurationFactory::displayNameForId(Core::Id id) const
|
||||
|
@@ -66,8 +66,7 @@ QList<Core::Id> WinRtRunConfigurationFactory::availableCreationIds(Target *paren
|
||||
return QList<Core::Id>();
|
||||
|
||||
QmakeProject *project = static_cast<QmakeProject *>(parent->project());
|
||||
QList<QmakeProFile *> files = project->applicationProFiles();
|
||||
return QmakeProject::creationIds(Constants::WINRT_RC_PREFIX, files, mode);
|
||||
return project->creationIds(Constants::WINRT_RC_PREFIX, mode);
|
||||
}
|
||||
|
||||
QString WinRtRunConfigurationFactory::displayNameForId(Core::Id id) const
|
||||
|
Reference in New Issue
Block a user