forked from qt-creator/qt-creator
Mimetypes v3: Re-add internal mime database
Qt Creator ships its own copy. With this change, Options > Environment > MIME Types shows the basic freedesktop types again. Change-Id: I420d9d034e31622d5ec7f2492baef5c3f1d93df0 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
@@ -617,7 +617,8 @@ void MimeBinaryProvider::loadGenericIcon(MimeTypePrivate &data)
|
||||
|
||||
////
|
||||
|
||||
#if 0 //QT_CONFIG(mimetype_database)
|
||||
#if 0
|
||||
#if QT_CONFIG(mimetype_database)
|
||||
static QString internalMimeFileName()
|
||||
{
|
||||
return QStringLiteral("<internal MIME data>");
|
||||
@@ -670,6 +671,16 @@ MimeXMLProvider::MimeXMLProvider(MimeDatabasePrivate *db, InternalDatabaseEnum)
|
||||
Q_UNREACHABLE();
|
||||
}
|
||||
#endif // QT_CONFIG(mimetype_database)
|
||||
#endif
|
||||
|
||||
static const char internalMimeFileName[] = ":/utils/mimetypes/freedesktop.org.xml";
|
||||
|
||||
// for Qt Creator: internal database from resources
|
||||
MimeXMLProvider::MimeXMLProvider(MimeDatabasePrivate *db, InternalDatabaseEnum)
|
||||
: MimeProviderBase(db, internalMimeFileName)
|
||||
{
|
||||
load(internalMimeFileName);
|
||||
}
|
||||
|
||||
MimeXMLProvider::MimeXMLProvider(MimeDatabasePrivate *db, const QString &directory)
|
||||
: MimeProviderBase(db, directory)
|
||||
@@ -690,8 +701,8 @@ bool MimeXMLProvider::isValid()
|
||||
|
||||
bool MimeXMLProvider::isInternalDatabase() const
|
||||
{
|
||||
#if 0 //QT_CONFIG(mimetype_database)
|
||||
return m_directory == internalMimeFileName();
|
||||
#if 1 //QT_CONFIG(mimetype_database)
|
||||
return m_directory == internalMimeFileName;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
|
@@ -139,7 +139,7 @@ class MimeXMLProvider : public MimeProviderBase
|
||||
{
|
||||
public:
|
||||
enum InternalDatabaseEnum { InternalDatabase };
|
||||
#if 0 // QT_CONFIG(mimetype_database)
|
||||
#if 1 // QT_CONFIG(mimetype_database)
|
||||
enum : bool { InternalDatabaseAvailable = true };
|
||||
#else
|
||||
enum : bool { InternalDatabaseAvailable = false };
|
||||
|
Reference in New Issue
Block a user