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 "mimeprovider_p.h"
|
||||||
#include "mimetype_p.h"
|
#include "mimetype_p.h"
|
||||||
|
|
||||||
|
#include "filepath.h"
|
||||||
|
|
||||||
#include <QtCore/QFile>
|
#include <QtCore/QFile>
|
||||||
#include <QtCore/QFileInfo>
|
#include <QtCore/QFileInfo>
|
||||||
#include <QtCore/QStandardPaths>
|
#include <QtCore/QStandardPaths>
|
||||||
@@ -827,4 +829,48 @@ QList<MimeType> MimeDatabase::allMimeTypes() const
|
|||||||
\value MatchContent The file content is used to look for a match
|
\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
|
} // namespace Utils
|
||||||
|
@@ -55,6 +55,24 @@ QT_END_NAMESPACE
|
|||||||
|
|
||||||
namespace Utils {
|
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 MimeDatabasePrivate;
|
||||||
class QTCREATOR_UTILS_EXPORT MimeDatabase
|
class QTCREATOR_UTILS_EXPORT MimeDatabase
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user