summaryrefslogtreecommitdiffstats
path: root/src/corelib/mimetypes/qmimeprovider_p.h
diff options
context:
space:
mode:
authorAlexander Volkov <avolkov@astralinux.ru>2021-05-06 20:13:35 +0300
committerAlexander Volkov <avolkov@astralinux.ru>2021-06-17 17:36:29 +0300
commitd8dbc2b95aa89a9f2c8515bd12d2729a018dded4 (patch)
tree9decd7b10b2810fbfc4a7b40d7e49ee6337b6e1e /src/corelib/mimetypes/qmimeprovider_p.h
parentada29a19cd4b995dfd3e3059ccdf360ba13de08c (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.h9
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;
};
/*