forked from qt-creator/qt-creator
CppTools: Clean up ProjectFileCategorizer
Change-Id: Ia6954810ad49d43629be2db074d620ab71a09cee Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -27,21 +27,19 @@
|
||||
|
||||
namespace CppTools {
|
||||
|
||||
ProjectFileCategorizer::ProjectFileCategorizer(const QString &partName,
|
||||
const QStringList &files,
|
||||
ProjectFileCategorizer::ProjectFileCategorizer(const QString &projectPartName,
|
||||
const QStringList &filePaths,
|
||||
ProjectPartBuilder::FileClassifier fileClassifier)
|
||||
: m_partName(partName)
|
||||
: m_partName(projectPartName)
|
||||
{
|
||||
using CppTools::ProjectFile;
|
||||
ProjectFiles cHeaders;
|
||||
ProjectFiles cxxHeaders;
|
||||
|
||||
QVector<ProjectFile> cHeaders;
|
||||
QVector<ProjectFile> cxxHeaders;
|
||||
|
||||
foreach (const QString &file, files) {
|
||||
foreach (const QString &filePath, filePaths) {
|
||||
const ProjectFile::Kind kind = fileClassifier
|
||||
? fileClassifier(file)
|
||||
: ProjectFile::classify(file);
|
||||
const ProjectFile projectFile(file, kind);
|
||||
? fileClassifier(filePath)
|
||||
: ProjectFile::classify(filePath);
|
||||
const ProjectFile projectFile(filePath, kind);
|
||||
|
||||
switch (kind) {
|
||||
case ProjectFile::CSource: m_cSources += projectFile; break;
|
||||
@@ -71,11 +69,10 @@ ProjectFileCategorizer::ProjectFileCategorizer(const QString &partName,
|
||||
if (hasC || (!hasObjc && !hasObjcxx && !hasCxx))
|
||||
m_cSources += cHeaders;
|
||||
|
||||
m_partCount =
|
||||
(m_cSources.isEmpty() ? 0 : 1) +
|
||||
(m_cxxSources.isEmpty() ? 0 : 1) +
|
||||
(m_objcSources.isEmpty() ? 0 : 1) +
|
||||
(m_objcxxSources.isEmpty() ? 0 : 1);
|
||||
m_partCount = (m_cSources.isEmpty() ? 0 : 1)
|
||||
+ (m_cxxSources.isEmpty() ? 0 : 1)
|
||||
+ (m_objcSources.isEmpty() ? 0 : 1)
|
||||
+ (m_objcxxSources.isEmpty() ? 0 : 1);
|
||||
}
|
||||
|
||||
QString ProjectFileCategorizer::partName(const QString &languageName) const
|
||||
|
@@ -25,19 +25,19 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QString>
|
||||
#include <QVector>
|
||||
|
||||
#include "cppprojectfile.h"
|
||||
#include "projectpartbuilder.h"
|
||||
|
||||
#include <QString>
|
||||
#include <QVector>
|
||||
|
||||
namespace CppTools {
|
||||
|
||||
class ProjectFileCategorizer
|
||||
{
|
||||
public:
|
||||
ProjectFileCategorizer(const QString &partName,
|
||||
const QStringList &files,
|
||||
ProjectFileCategorizer(const QString &projectPartName,
|
||||
const QStringList &filePaths,
|
||||
ProjectPartBuilder::FileClassifier fileClassifier
|
||||
= ProjectPartBuilder::FileClassifier());
|
||||
|
||||
@@ -46,10 +46,10 @@ public:
|
||||
bool hasObjcSources() const { return !m_objcSources.isEmpty(); }
|
||||
bool hasObjcxxSources() const { return !m_objcxxSources.isEmpty(); }
|
||||
|
||||
QVector<ProjectFile> cSources() const { return m_cSources; }
|
||||
QVector<ProjectFile> cxxSources() const { return m_cxxSources; }
|
||||
QVector<ProjectFile> objcSources() const { return m_objcSources; }
|
||||
QVector<ProjectFile> objcxxSources() const { return m_objcxxSources; }
|
||||
ProjectFiles cSources() const { return m_cSources; }
|
||||
ProjectFiles cxxSources() const { return m_cxxSources; }
|
||||
ProjectFiles objcSources() const { return m_objcSources; }
|
||||
ProjectFiles objcxxSources() const { return m_objcxxSources; }
|
||||
|
||||
bool hasMultipleParts() const { return m_partCount > 1; }
|
||||
bool hasNoParts() const { return m_partCount == 0; }
|
||||
@@ -58,10 +58,10 @@ public:
|
||||
|
||||
private:
|
||||
QString m_partName;
|
||||
QVector<ProjectFile> m_cSources;
|
||||
QVector<ProjectFile> m_cxxSources;
|
||||
QVector<ProjectFile> m_objcSources;
|
||||
QVector<ProjectFile> m_objcxxSources;
|
||||
ProjectFiles m_cSources;
|
||||
ProjectFiles m_cxxSources;
|
||||
ProjectFiles m_objcSources;
|
||||
ProjectFiles m_objcxxSources;
|
||||
int m_partCount;
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user