forked from qt-creator/qt-creator
ProjectNodes: Add method to query FileType
Add methods to get the FileType based on filepath or mimetype. Use that method in treescanner. Change-Id: I3de50d7afd8262cc86ae722e7de4ca53921153d2 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -36,6 +36,8 @@
|
||||
#include <utils/algorithm.h>
|
||||
#include <utils/fileutils.h>
|
||||
#include <utils/hostosinfo.h>
|
||||
#include <utils/mimetypes/mimedatabase.h>
|
||||
#include <utils/mimetypes/mimetype.h>
|
||||
#include <utils/qtcassert.h>
|
||||
|
||||
#include <QFileInfo>
|
||||
@@ -233,6 +235,33 @@ void Node::setParentFolderNode(FolderNode *parentFolder)
|
||||
m_parentFolderNode = parentFolder;
|
||||
}
|
||||
|
||||
FileType Node::fileTypeForMimeType(const Utils::MimeType &mt)
|
||||
{
|
||||
FileType type = FileType::Source;
|
||||
if (mt.isValid()) {
|
||||
const QString mtName = mt.name();
|
||||
if (mtName == Constants::C_HEADER_MIMETYPE
|
||||
|| mtName == Constants::CPP_HEADER_MIMETYPE)
|
||||
type = FileType::Header;
|
||||
else if (mtName == Constants::FORM_MIMETYPE)
|
||||
type = FileType::Form;
|
||||
else if (mtName == Constants::RESOURCE_MIMETYPE)
|
||||
type = FileType::Resource;
|
||||
else if (mtName == Constants::SCXML_MIMETYPE)
|
||||
type = FileType::StateChart;
|
||||
else if (mtName == Constants::QML_MIMETYPE)
|
||||
type = FileType::QML;
|
||||
} else {
|
||||
type = FileType::Unknown;
|
||||
}
|
||||
return type;
|
||||
}
|
||||
|
||||
FileType Node::fileTypeForFileName(const Utils::FileName &file)
|
||||
{
|
||||
return fileTypeForMimeType(Utils::mimeTypeForFile(file.toString()));
|
||||
}
|
||||
|
||||
/*!
|
||||
\class ProjectExplorer::FileNode
|
||||
|
||||
|
||||
Reference in New Issue
Block a user