forked from qt-creator/qt-creator
Mimetypes v3: Add static wrappers for MimeDatabase
Avoids "MimeDatabase db; db...." everywhere in user code. Add overload for FilePath. Change-Id: I68d07f20159d970cd5ee2eab995bab46ef0da669 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
@@ -46,6 +46,8 @@
|
||||
#include "mimeprovider_p.h"
|
||||
#include "mimetype_p.h"
|
||||
|
||||
#include "filepath.h"
|
||||
|
||||
#include <QtCore/QFile>
|
||||
#include <QtCore/QFileInfo>
|
||||
#include <QtCore/QStandardPaths>
|
||||
@@ -827,4 +829,48 @@ QList<MimeType> MimeDatabase::allMimeTypes() const
|
||||
\value MatchContent The file content is used to look for a match
|
||||
*/
|
||||
|
||||
MimeType mimeTypeForName(const QString &nameOrAlias)
|
||||
{
|
||||
MimeDatabase mdb;
|
||||
return mdb.mimeTypeForName(nameOrAlias);
|
||||
}
|
||||
|
||||
MimeType mimeTypeForFile(const QString &fileName, MimeMatchMode mode)
|
||||
{
|
||||
MimeDatabase mdb;
|
||||
return mdb.mimeTypeForFile(fileName, MimeDatabase::MatchMode(mode));
|
||||
}
|
||||
|
||||
MimeType mimeTypeForFile(const QFileInfo &fileInfo, MimeMatchMode mode)
|
||||
{
|
||||
MimeDatabase mdb;
|
||||
return mdb.mimeTypeForFile(fileInfo, MimeDatabase::MatchMode(mode));
|
||||
}
|
||||
|
||||
MimeType mimeTypeForFile(const FilePath &filePath, MimeMatchMode mode)
|
||||
{
|
||||
MimeDatabase mdb;
|
||||
if (filePath.needsDevice())
|
||||
return mdb.mimeTypeForUrl(filePath.toUrl());
|
||||
return mdb.mimeTypeForFile(filePath.toString(), MimeDatabase::MatchMode(mode));
|
||||
}
|
||||
|
||||
QList<MimeType> mimeTypesForFileName(const QString &fileName)
|
||||
{
|
||||
MimeDatabase mdb;
|
||||
return mdb.mimeTypesForFileName(fileName);
|
||||
}
|
||||
|
||||
MimeType mimeTypeForData(const QByteArray &data)
|
||||
{
|
||||
MimeDatabase mdb;
|
||||
return mdb.mimeTypeForData(data);
|
||||
}
|
||||
|
||||
QList<MimeType> allMimeTypes()
|
||||
{
|
||||
MimeDatabase mdb;
|
||||
return mdb.allMimeTypes();
|
||||
}
|
||||
|
||||
} // namespace Utils
|
||||
|
@@ -55,6 +55,24 @@ QT_END_NAMESPACE
|
||||
|
||||
namespace Utils {
|
||||
|
||||
class FilePath;
|
||||
|
||||
// Wrapped QMimeDataBase functions
|
||||
QTCREATOR_UTILS_EXPORT MimeType mimeTypeForName(const QString &nameOrAlias);
|
||||
|
||||
enum class MimeMatchMode {
|
||||
MatchDefault = 0x0,
|
||||
MatchExtension = 0x1,
|
||||
MatchContent = 0x2
|
||||
};
|
||||
|
||||
QTCREATOR_UTILS_EXPORT MimeType mimeTypeForFile(const QString &fileName, MimeMatchMode mode = MimeMatchMode::MatchDefault);
|
||||
QTCREATOR_UTILS_EXPORT MimeType mimeTypeForFile(const QFileInfo &fileInfo, MimeMatchMode mode = MimeMatchMode::MatchDefault);
|
||||
QTCREATOR_UTILS_EXPORT MimeType mimeTypeForFile(const FilePath &filePath, MimeMatchMode mode = MimeMatchMode::MatchDefault);
|
||||
QTCREATOR_UTILS_EXPORT QList<MimeType> mimeTypesForFileName(const QString &fileName);
|
||||
QTCREATOR_UTILS_EXPORT MimeType mimeTypeForData(const QByteArray &data);
|
||||
QTCREATOR_UTILS_EXPORT QList<MimeType> allMimeTypes();
|
||||
|
||||
class MimeDatabasePrivate;
|
||||
class QTCREATOR_UTILS_EXPORT MimeDatabase
|
||||
{
|
||||
|
Reference in New Issue
Block a user