diff options
author | Alexander Volkov <avolkov@astralinux.ru> | 2021-05-06 20:13:35 +0300 |
---|---|---|
committer | Alexander Volkov <avolkov@astralinux.ru> | 2021-06-17 17:36:29 +0300 |
commit | d8dbc2b95aa89a9f2c8515bd12d2729a018dded4 (patch) | |
tree | 9decd7b10b2810fbfc4a7b40d7e49ee6337b6e1e /src/corelib/mimetypes/qmimeprovider_p.h | |
parent | ada29a19cd4b995dfd3e3059ccdf360ba13de08c (diff) |
QMimeBinaryProvider: cache comments and globPatterns
Avoid multiple re-reads of xml files, for example in dolphin,
which displays MIME type comments as file types.
Change-Id: Ia124930e2a1fdc99d8a4d160f2288a00f55e0e8e
Reviewed-by: David Faure <david.faure@kdab.com>
Diffstat (limited to 'src/corelib/mimetypes/qmimeprovider_p.h')
-rw-r--r-- | src/corelib/mimetypes/qmimeprovider_p.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/corelib/mimetypes/qmimeprovider_p.h b/src/corelib/mimetypes/qmimeprovider_p.h index f9c8ef384c..affc554698 100644 --- a/src/corelib/mimetypes/qmimeprovider_p.h +++ b/src/corelib/mimetypes/qmimeprovider_p.h @@ -79,6 +79,7 @@ public: virtual void addAliases(const QString &name, QStringList &result) = 0; virtual void findByMagic(const QByteArray &data, int *accuracyPtr, QMimeType &candidate) = 0; virtual void addAllMimeTypes(QList<QMimeType> &result) = 0; + virtual bool loadMimeTypePrivate(QMimeTypePrivate &) { return false; } virtual void loadIcon(QMimeTypePrivate &) {} virtual void loadGenericIcon(QMimeTypePrivate &) {} virtual void ensureLoaded() {} @@ -107,7 +108,7 @@ public: void addAliases(const QString &name, QStringList &result) override; void findByMagic(const QByteArray &data, int *accuracyPtr, QMimeType &candidate) override; void addAllMimeTypes(QList<QMimeType> &result) override; - static void loadMimeTypePrivate(QMimeTypePrivate &); + bool loadMimeTypePrivate(QMimeTypePrivate &) override; void loadIcon(QMimeTypePrivate &) override; void loadGenericIcon(QMimeTypePrivate &) override; void ensureLoaded() override; @@ -126,6 +127,12 @@ private: QStringList m_cacheFileNames; QSet<QString> m_mimetypeNames; bool m_mimetypeListLoaded; + struct MimeTypeExtra + { + QHash<QString, QString> localeComments; + QStringList globPatterns; + }; + QMap<QString, MimeTypeExtra> m_mimetypeExtra; }; /* |