diff options
author | Eike Ziller <eike.ziller@theqtcompany.com> | 2015-02-04 09:32:46 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@theqtcompany.com> | 2015-02-17 13:00:07 +0000 |
commit | 5a3a940ad3b3984b308b539e7f0456ce11d4d90e (patch) | |
tree | 539ac730a9291e9630c5772d78e5de1d9d4ece1e /src/plugins/cpptools/cppprojectfile.cpp | |
parent | 365c1ddb903ebb8f183195244669499a300431d2 (diff) | |
download | qt-creator-5a3a940ad3b3984b308b539e7f0456ce11d4d90e.tar.gz |
Use new mime database
Change-Id: I4305872b6b11ef3e8a364280ffa5209a5a793600
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Diffstat (limited to 'src/plugins/cpptools/cppprojectfile.cpp')
-rw-r--r-- | src/plugins/cpptools/cppprojectfile.cpp | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/plugins/cpptools/cppprojectfile.cpp b/src/plugins/cpptools/cppprojectfile.cpp index 8936b2e240..56a035adc7 100644 --- a/src/plugins/cpptools/cppprojectfile.cpp +++ b/src/plugins/cpptools/cppprojectfile.cpp @@ -33,7 +33,8 @@ #include "cpptoolsconstants.h" #include <coreplugin/icore.h> - +#include <utils/mimetypes/mimedatabase.h> +# #include <QDebug> namespace CppTools { @@ -51,11 +52,11 @@ ProjectFile::ProjectFile(const QString &file, Kind kind) ProjectFile::Kind ProjectFile::classify(const QString &file) { - const QFileInfo fi(file); - const Core::MimeType mimeType = Core::MimeDatabase::findByFile(fi); - if (!mimeType) + Utils::MimeDatabase mdb; + const Utils::MimeType mimeType = mdb.mimeTypeForFile(file); + if (!mimeType.isValid()) return Unclassified; - const QString mt = mimeType.type(); + const QString mt = mimeType.name(); if (mt == QLatin1String(CppTools::Constants::C_SOURCE_MIMETYPE)) return CSource; if (mt == QLatin1String(CppTools::Constants::C_HEADER_MIMETYPE)) @@ -141,20 +142,22 @@ ProjectFileAdder::~ProjectFileAdder() bool ProjectFileAdder::maybeAdd(const QString &path) { - m_fileInfo.setFile(path); - foreach (const Pair &pair, m_mapping) - if (pair.first.matchesFile(path)) { - m_files << ProjectFile(path, pair.second); - return true; - } + const Utils::MimeType mt = Utils::MimeDatabase::bestMatch(path, m_mimeTypes); + if (mt.isValid()) { + m_files << ProjectFile(path, m_mimeNameMapping.value(mt.name())); + return true; + } return false; } void ProjectFileAdder::addMapping(const char *mimeName, ProjectFile::Kind kind) { - Core::MimeType mimeType = Core::MimeDatabase::findByType(QLatin1String(mimeName)); - if (!mimeType.isNull()) - m_mapping.append(Pair(mimeType, kind)); + Utils::MimeDatabase mdb; + Utils::MimeType mimeType = mdb.mimeTypeForName(QLatin1String(mimeName)); + if (mimeType.isValid()) { + m_mimeNameMapping.insert(mimeType.name(), kind); + m_mimeTypes.append(mimeType); + } } } // namespace Internal |