diff options
Diffstat (limited to 'src/corelib/mimetypes')
-rw-r--r-- | src/corelib/mimetypes/qmimedatabase.cpp | 1 | ||||
-rw-r--r-- | src/corelib/mimetypes/qmimedatabase_p.h | 1 | ||||
-rw-r--r-- | src/corelib/mimetypes/qmimeprovider.cpp | 1 | ||||
-rw-r--r-- | src/corelib/mimetypes/qmimetype.cpp | 13 | ||||
-rw-r--r-- | src/corelib/mimetypes/qmimetype.h | 13 |
5 files changed, 21 insertions, 8 deletions
diff --git a/src/corelib/mimetypes/qmimedatabase.cpp b/src/corelib/mimetypes/qmimedatabase.cpp index 1ef890c46a..c1e17b9fc4 100644 --- a/src/corelib/mimetypes/qmimedatabase.cpp +++ b/src/corelib/mimetypes/qmimedatabase.cpp @@ -435,6 +435,7 @@ QList<QMimeType> QMimeDatabase::mimeTypesForFileName(const QString &fileName) co QStringList matches = d->mimeTypeForFileName(fileName); QList<QMimeType> mimes; matches.sort(); // Make it deterministic + mimes.reserve(matches.count()); foreach (const QString &mime, matches) mimes.append(d->mimeTypeForName(mime)); return mimes; diff --git a/src/corelib/mimetypes/qmimedatabase_p.h b/src/corelib/mimetypes/qmimedatabase_p.h index aa86f607c6..1ac7264a9e 100644 --- a/src/corelib/mimetypes/qmimedatabase_p.h +++ b/src/corelib/mimetypes/qmimedatabase_p.h @@ -53,7 +53,6 @@ #include "qmimetype_p.h" #include "qmimeglobpattern_p.h" -#include <QtCore/qhash.h> #include <QtCore/qmutex.h> QT_BEGIN_NAMESPACE diff --git a/src/corelib/mimetypes/qmimeprovider.cpp b/src/corelib/mimetypes/qmimeprovider.cpp index d26bfd0848..a8a1331053 100644 --- a/src/corelib/mimetypes/qmimeprovider.cpp +++ b/src/corelib/mimetypes/qmimeprovider.cpp @@ -541,6 +541,7 @@ QList<QMimeType> QMimeBinaryProvider::allMimeTypes() { QList<QMimeType> result; loadMimeTypeList(); + result.reserve(m_mimetypeNames.count()); for (QSet<QString>::const_iterator it = m_mimetypeNames.constBegin(); it != m_mimetypeNames.constEnd(); ++it) diff --git a/src/corelib/mimetypes/qmimetype.cpp b/src/corelib/mimetypes/qmimetype.cpp index 5398f9358e..e3b01bbb89 100644 --- a/src/corelib/mimetypes/qmimetype.cpp +++ b/src/corelib/mimetypes/qmimetype.cpp @@ -44,6 +44,7 @@ #include <QtCore/QDebug> #include <QtCore/QLocale> +#include <QtCore/QHashFunctions> #include <memory> @@ -182,6 +183,18 @@ bool QMimeType::operator==(const QMimeType &other) const } /*! + \since 5.6 + \relates QMimeType + + Returns the hash value for \a key, using + \a seed to seed the calculation. + */ +uint qHash(const QMimeType &key, uint seed) Q_DECL_NOTHROW +{ + return qHash(key.d->name, seed); +} + +/*! \fn bool QMimeType::operator!=(const QMimeType &other) const; Returns \c true if \a other does not equal this QMimeType object, otherwise returns \c false. */ diff --git a/src/corelib/mimetypes/qmimetype.h b/src/corelib/mimetypes/qmimetype.h index 13184905b8..6a00541ebc 100644 --- a/src/corelib/mimetypes/qmimetype.h +++ b/src/corelib/mimetypes/qmimetype.h @@ -45,8 +45,10 @@ QT_BEGIN_NAMESPACE class QMimeTypePrivate; -class QFileinfo; class QStringList; +class QMimeType; + +Q_CORE_EXPORT uint qHash(const QMimeType &key, uint seed = 0) Q_DECL_NOTHROW; class Q_CORE_EXPORT QMimeType { @@ -55,13 +57,9 @@ public: QMimeType(const QMimeType &other); QMimeType &operator=(const QMimeType &other); #ifdef Q_COMPILER_RVALUE_REFS - QMimeType &operator=(QMimeType &&other) - { - qSwap(d, other.d); - return *this; - } + QMimeType &operator=(QMimeType &&other) Q_DECL_NOTHROW { swap(other); return *this; } #endif - void swap(QMimeType &other) + void swap(QMimeType &other) Q_DECL_NOTHROW { qSwap(d, other.d); } @@ -101,6 +99,7 @@ protected: friend class QMimeXMLProvider; friend class QMimeBinaryProvider; friend class QMimeTypePrivate; + friend Q_CORE_EXPORT uint qHash(const QMimeType &key, uint seed) Q_DECL_NOTHROW; QExplicitlySharedDataPointer<QMimeTypePrivate> d; }; |