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:
Eike Ziller
2022-02-24 11:47:07 +01:00
parent 53aa9daeba
commit 179f393f88
2 changed files with 15 additions and 4 deletions

View File

@@ -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() static QString internalMimeFileName()
{ {
return QStringLiteral("<internal MIME data>"); return QStringLiteral("<internal MIME data>");
@@ -670,6 +671,16 @@ MimeXMLProvider::MimeXMLProvider(MimeDatabasePrivate *db, InternalDatabaseEnum)
Q_UNREACHABLE(); Q_UNREACHABLE();
} }
#endif // QT_CONFIG(mimetype_database) #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) MimeXMLProvider::MimeXMLProvider(MimeDatabasePrivate *db, const QString &directory)
: MimeProviderBase(db, directory) : MimeProviderBase(db, directory)
@@ -690,8 +701,8 @@ bool MimeXMLProvider::isValid()
bool MimeXMLProvider::isInternalDatabase() const bool MimeXMLProvider::isInternalDatabase() const
{ {
#if 0 //QT_CONFIG(mimetype_database) #if 1 //QT_CONFIG(mimetype_database)
return m_directory == internalMimeFileName(); return m_directory == internalMimeFileName;
#else #else
return false; return false;
#endif #endif

View File

@@ -139,7 +139,7 @@ class MimeXMLProvider : public MimeProviderBase
{ {
public: public:
enum InternalDatabaseEnum { InternalDatabase }; enum InternalDatabaseEnum { InternalDatabase };
#if 0 // QT_CONFIG(mimetype_database) #if 1 // QT_CONFIG(mimetype_database)
enum : bool { InternalDatabaseAvailable = true }; enum : bool { InternalDatabaseAvailable = true };
#else #else
enum : bool { InternalDatabaseAvailable = false }; enum : bool { InternalDatabaseAvailable = false };