forked from qt-creator/qt-creator
		
	CppTools: Remove dependency of RawProjectPart to ProjectFile
The feature to category files to ProjectFiles was used by the qmake project manager to specify if the file is "active", and by the Qbs project manager to avoid unnecessary MIME type checking. Make these two different use-cases explicit in the API. Change-Id: Ia5a7da37f100149366fc75060fe04687e15f2bd3 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
		@@ -47,30 +47,36 @@ bool ProjectFile::operator==(const ProjectFile &other) const
 | 
			
		||||
        && path == other.path;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ProjectFile::Kind ProjectFile::classifyByMimeType(const QString &mt)
 | 
			
		||||
{
 | 
			
		||||
    if (mt == CppTools::Constants::C_SOURCE_MIMETYPE)
 | 
			
		||||
        return CSource;
 | 
			
		||||
    if (mt == CppTools::Constants::C_HEADER_MIMETYPE)
 | 
			
		||||
        return CHeader;
 | 
			
		||||
    if (mt == CppTools::Constants::CPP_SOURCE_MIMETYPE)
 | 
			
		||||
        return CXXSource;
 | 
			
		||||
    if (mt == CppTools::Constants::CPP_HEADER_MIMETYPE)
 | 
			
		||||
        return CXXHeader;
 | 
			
		||||
    if (mt == CppTools::Constants::OBJECTIVE_C_SOURCE_MIMETYPE)
 | 
			
		||||
        return ObjCSource;
 | 
			
		||||
    if (mt == CppTools::Constants::OBJECTIVE_CPP_SOURCE_MIMETYPE)
 | 
			
		||||
        return ObjCXXSource;
 | 
			
		||||
    if (mt == CppTools::Constants::QDOC_MIMETYPE)
 | 
			
		||||
        return CXXSource;
 | 
			
		||||
    if (mt == CppTools::Constants::MOC_MIMETYPE)
 | 
			
		||||
        return CXXSource;
 | 
			
		||||
    if (mt == CppTools::Constants::AMBIGUOUS_HEADER_MIMETYPE)
 | 
			
		||||
        return AmbiguousHeader;
 | 
			
		||||
    return Unsupported;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ProjectFile::Kind ProjectFile::classify(const QString &filePath)
 | 
			
		||||
{
 | 
			
		||||
    if (isAmbiguousHeader(filePath))
 | 
			
		||||
        return AmbiguousHeader;
 | 
			
		||||
 | 
			
		||||
    const Utils::MimeType mimeType = Utils::mimeTypeForFile(filePath);
 | 
			
		||||
    const QString mt = mimeType.name();
 | 
			
		||||
    if (mt == QLatin1String(CppTools::Constants::C_SOURCE_MIMETYPE))
 | 
			
		||||
        return CSource;
 | 
			
		||||
    if (mt == QLatin1String(CppTools::Constants::C_HEADER_MIMETYPE))
 | 
			
		||||
        return CHeader;
 | 
			
		||||
    if (mt == QLatin1String(CppTools::Constants::CPP_SOURCE_MIMETYPE))
 | 
			
		||||
        return CXXSource;
 | 
			
		||||
    if (mt == QLatin1String(CppTools::Constants::CPP_HEADER_MIMETYPE))
 | 
			
		||||
        return CXXHeader;
 | 
			
		||||
    if (mt == QLatin1String(CppTools::Constants::OBJECTIVE_C_SOURCE_MIMETYPE))
 | 
			
		||||
        return ObjCSource;
 | 
			
		||||
    if (mt == QLatin1String(CppTools::Constants::OBJECTIVE_CPP_SOURCE_MIMETYPE))
 | 
			
		||||
        return ObjCXXSource;
 | 
			
		||||
    if (mt == QLatin1String(CppTools::Constants::QDOC_MIMETYPE))
 | 
			
		||||
        return CXXSource;
 | 
			
		||||
    if (mt == QLatin1String(CppTools::Constants::MOC_MIMETYPE))
 | 
			
		||||
        return CXXSource;
 | 
			
		||||
    return Unsupported;
 | 
			
		||||
    return classifyByMimeType(mimeType.name());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool ProjectFile::isAmbiguousHeader(const QString &filePath)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user