diff options
Diffstat (limited to 'src/corelib/mimetypes')
-rw-r--r-- | src/corelib/mimetypes/qmimeglobpattern.cpp | 6 | ||||
-rw-r--r-- | src/corelib/mimetypes/qmimeglobpattern_p.h | 2 | ||||
-rw-r--r-- | src/corelib/mimetypes/qmimemagicrule_p.h | 2 | ||||
-rw-r--r-- | src/corelib/mimetypes/qmimemagicrulematcher_p.h | 2 | ||||
-rw-r--r-- | src/corelib/mimetypes/qmimeprovider.cpp | 3 | ||||
-rw-r--r-- | src/corelib/mimetypes/qmimetype.cpp | 28 | ||||
-rw-r--r-- | src/corelib/mimetypes/qmimetype.h | 12 | ||||
-rw-r--r-- | src/corelib/mimetypes/qmimetype_p.h | 21 | ||||
-rw-r--r-- | src/corelib/mimetypes/qmimetypeparser.cpp | 3 |
9 files changed, 34 insertions, 45 deletions
diff --git a/src/corelib/mimetypes/qmimeglobpattern.cpp b/src/corelib/mimetypes/qmimeglobpattern.cpp index e353ba10cc..ad78cd9ffa 100644 --- a/src/corelib/mimetypes/qmimeglobpattern.cpp +++ b/src/corelib/mimetypes/qmimeglobpattern.cpp @@ -39,7 +39,9 @@ #include "qmimeglobpattern_p.h" +#if QT_CONFIG(regularexpression) #include <QRegularExpression> +#endif #include <QStringList> #include <QDebug> @@ -142,8 +144,12 @@ bool QMimeGlobPattern::matchFileName(const QString &inputFilename) const return (m_pattern == filename); // Other (quite rare) patterns, like "*.anim[1-9j]": use slow but correct method +#if QT_CONFIG(regularexpression) QRegularExpression rx(QRegularExpression::wildcardToRegularExpression(m_pattern)); return rx.match(filename).hasMatch(); +#else + return false; +#endif } static bool isFastPattern(const QString &pattern) diff --git a/src/corelib/mimetypes/qmimeglobpattern_p.h b/src/corelib/mimetypes/qmimeglobpattern_p.h index bb6f64320b..cf27d6ab30 100644 --- a/src/corelib/mimetypes/qmimeglobpattern_p.h +++ b/src/corelib/mimetypes/qmimeglobpattern_p.h @@ -88,7 +88,7 @@ public: { } - void swap(QMimeGlobPattern &other) Q_DECL_NOTHROW + void swap(QMimeGlobPattern &other) noexcept { qSwap(m_pattern, other.m_pattern); qSwap(m_mimeType, other.m_mimeType); diff --git a/src/corelib/mimetypes/qmimemagicrule_p.h b/src/corelib/mimetypes/qmimemagicrule_p.h index 6962a6ca59..5091d483b6 100644 --- a/src/corelib/mimetypes/qmimemagicrule_p.h +++ b/src/corelib/mimetypes/qmimemagicrule_p.h @@ -69,7 +69,7 @@ public: QMimeMagicRule(const QString &typeStr, const QByteArray &value, const QString &offsets, const QByteArray &mask, QString *errorString); - void swap(QMimeMagicRule &other) Q_DECL_NOTHROW + void swap(QMimeMagicRule &other) noexcept { qSwap(m_type, other.m_type); qSwap(m_value, other.m_value); diff --git a/src/corelib/mimetypes/qmimemagicrulematcher_p.h b/src/corelib/mimetypes/qmimemagicrulematcher_p.h index 5e74e2e3fc..fe714987e6 100644 --- a/src/corelib/mimetypes/qmimemagicrulematcher_p.h +++ b/src/corelib/mimetypes/qmimemagicrulematcher_p.h @@ -66,7 +66,7 @@ class QMimeMagicRuleMatcher public: explicit QMimeMagicRuleMatcher(const QString &mime, unsigned priority = 65535); - void swap(QMimeMagicRuleMatcher &other) Q_DECL_NOTHROW + void swap(QMimeMagicRuleMatcher &other) noexcept { qSwap(m_list, other.m_list); qSwap(m_priority, other.m_priority); diff --git a/src/corelib/mimetypes/qmimeprovider.cpp b/src/corelib/mimetypes/qmimeprovider.cpp index 37c8e3b157..a3a6b9615c 100644 --- a/src/corelib/mimetypes/qmimeprovider.cpp +++ b/src/corelib/mimetypes/qmimeprovider.cpp @@ -460,6 +460,7 @@ void QMimeBinaryProvider::addAllMimeTypes(QList<QMimeType> &result) void QMimeBinaryProvider::loadMimeTypePrivate(QMimeTypePrivate &data) { #ifdef QT_NO_XMLSTREAMREADER + Q_UNUSED(data); qWarning("Cannot load mime type since QXmlStreamReader is not available."); return; #else @@ -672,7 +673,7 @@ void QMimeXMLProvider::load(const QString &fileName) { QString errorMessage; if (!load(fileName, &errorMessage)) - qWarning("QMimeDatabase: Error loading %s\n%s", qPrintable(fileName), qPrintable(errorMessage)); + qWarning("QMimeDatabase: Error loading %ls\n%ls", qUtf16Printable(fileName), qUtf16Printable(errorMessage)); } bool QMimeXMLProvider::load(const QString &fileName, QString *errorMessage) diff --git a/src/corelib/mimetypes/qmimetype.cpp b/src/corelib/mimetypes/qmimetype.cpp index 55c7de0c87..de450c68f4 100644 --- a/src/corelib/mimetypes/qmimetype.cpp +++ b/src/corelib/mimetypes/qmimetype.cpp @@ -192,7 +192,7 @@ bool QMimeType::operator==(const QMimeType &other) const Returns the hash value for \a key, using \a seed to seed the calculation. */ -uint qHash(const QMimeType &key, uint seed) Q_DECL_NOTHROW +uint qHash(const QMimeType &key, uint seed) noexcept { return qHash(key.d->name, seed); } @@ -253,7 +253,7 @@ QString QMimeType::name() const */ QString QMimeType::comment() const { - QMimeDatabasePrivate::instance()->loadMimeTypePrivate(*d); + QMimeDatabasePrivate::instance()->loadMimeTypePrivate(const_cast<QMimeTypePrivate&>(*d)); QStringList languageList; languageList << QLocale().name(); @@ -294,7 +294,7 @@ QString QMimeType::comment() const */ QString QMimeType::genericIconName() const { - QMimeDatabasePrivate::instance()->loadGenericIcon(*d); + QMimeDatabasePrivate::instance()->loadGenericIcon(const_cast<QMimeTypePrivate&>(*d)); if (d->genericIconName.isEmpty()) { // From the spec: // If the generic icon name is empty (not specified by the mimetype definition) @@ -311,6 +311,14 @@ QString QMimeType::genericIconName() const return d->genericIconName; } +static QString make_default_icon_name_from_mimetype_name(QString iconName) +{ + const int slashindex = iconName.indexOf(QLatin1Char('/')); + if (slashindex != -1) + iconName[slashindex] = QLatin1Char('-'); + return iconName; +} + /*! \property QMimeType::iconName \brief the file name of an icon image that represents the MIME type @@ -322,13 +330,9 @@ QString QMimeType::genericIconName() const */ QString QMimeType::iconName() const { - QMimeDatabasePrivate::instance()->loadIcon(*d); + QMimeDatabasePrivate::instance()->loadIcon(const_cast<QMimeTypePrivate&>(*d)); if (d->iconName.isEmpty()) { - // Make default icon name from the mimetype name - d->iconName = name(); - const int slashindex = d->iconName.indexOf(QLatin1Char('/')); - if (slashindex != -1) - d->iconName[slashindex] = QLatin1Char('-'); + return make_default_icon_name_from_mimetype_name(name()); } return d->iconName; } @@ -342,7 +346,7 @@ QString QMimeType::iconName() const */ QStringList QMimeType::globPatterns() const { - QMimeDatabasePrivate::instance()->loadMimeTypePrivate(*d); + QMimeDatabasePrivate::instance()->loadMimeTypePrivate(const_cast<QMimeTypePrivate&>(*d)); return d->globPatterns; } @@ -437,7 +441,7 @@ QStringList QMimeType::aliases() const */ QStringList QMimeType::suffixes() const { - QMimeDatabasePrivate::instance()->loadMimeTypePrivate(*d); + QMimeDatabasePrivate::instance()->loadMimeTypePrivate(const_cast<QMimeTypePrivate&>(*d)); QStringList result; for (const QString &pattern : qAsConst(d->globPatterns)) { @@ -480,7 +484,7 @@ QString QMimeType::preferredSuffix() const */ QString QMimeType::filterString() const { - QMimeDatabasePrivate::instance()->loadMimeTypePrivate(*d); + QMimeDatabasePrivate::instance()->loadMimeTypePrivate(const_cast<QMimeTypePrivate&>(*d)); QString filter; if (!d->globPatterns.empty()) { diff --git a/src/corelib/mimetypes/qmimetype.h b/src/corelib/mimetypes/qmimetype.h index 8287f1434b..df1b60f2ce 100644 --- a/src/corelib/mimetypes/qmimetype.h +++ b/src/corelib/mimetypes/qmimetype.h @@ -48,14 +48,14 @@ QT_REQUIRE_CONFIG(mimetype); #include <QtCore/qobjectdefs.h> #include <QtCore/qshareddata.h> #include <QtCore/qstring.h> +#include <QtCore/qstringlist.h> QT_BEGIN_NAMESPACE class QMimeTypePrivate; -class QStringList; class QMimeType; -Q_CORE_EXPORT uint qHash(const QMimeType &key, uint seed = 0) Q_DECL_NOTHROW; +Q_CORE_EXPORT uint qHash(const QMimeType &key, uint seed = 0) noexcept; class Q_CORE_EXPORT QMimeType { @@ -78,10 +78,8 @@ public: QMimeType(); QMimeType(const QMimeType &other); QMimeType &operator=(const QMimeType &other); -#ifdef Q_COMPILER_RVALUE_REFS - QMimeType &operator=(QMimeType &&other) Q_DECL_NOTHROW { swap(other); return *this; } -#endif - void swap(QMimeType &other) Q_DECL_NOTHROW + QMimeType &operator=(QMimeType &&other) noexcept { swap(other); return *this; } + void swap(QMimeType &other) noexcept { qSwap(d, other.d); } @@ -121,7 +119,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; + friend Q_CORE_EXPORT uint qHash(const QMimeType &key, uint seed) noexcept; QExplicitlySharedDataPointer<QMimeTypePrivate> d; }; diff --git a/src/corelib/mimetypes/qmimetype_p.h b/src/corelib/mimetypes/qmimetype_p.h index 5a36e6613c..0d6b4b4b12 100644 --- a/src/corelib/mimetypes/qmimetype_p.h +++ b/src/corelib/mimetypes/qmimetype_p.h @@ -84,26 +84,6 @@ public: QT_END_NAMESPACE -#define QMIMETYPE_BUILDER \ - QT_BEGIN_NAMESPACE \ - static QMimeType buildQMimeType ( \ - const QString &name, \ - const QString &genericIconName, \ - const QString &iconName, \ - const QStringList &globPatterns \ - ) \ - { \ - QMimeTypePrivate qMimeTypeData; \ - qMimeTypeData.name = name; \ - qMimeTypeData.loaded = true; \ - qMimeTypeData.genericIconName = genericIconName; \ - qMimeTypeData.iconName = iconName; \ - qMimeTypeData.globPatterns = globPatterns; \ - return QMimeType(qMimeTypeData); \ - } \ - QT_END_NAMESPACE - -#ifdef Q_COMPILER_RVALUE_REFS #define QMIMETYPE_BUILDER_FROM_RVALUE_REFS \ QT_BEGIN_NAMESPACE \ static QMimeType buildQMimeType ( \ @@ -122,6 +102,5 @@ QT_END_NAMESPACE return QMimeType(qMimeTypeData); \ } \ QT_END_NAMESPACE -#endif #endif // QMIMETYPE_P_H diff --git a/src/corelib/mimetypes/qmimetypeparser.cpp b/src/corelib/mimetypes/qmimetypeparser.cpp index d10575cfe9..815e0aa03b 100644 --- a/src/corelib/mimetypes/qmimetypeparser.cpp +++ b/src/corelib/mimetypes/qmimetypeparser.cpp @@ -194,8 +194,9 @@ static CreateMagicMatchRuleResult createMagicMatchRule(const QXmlStreamAttribute bool QMimeTypeParserBase::parse(QIODevice *dev, const QString &fileName, QString *errorMessage) { #ifdef QT_NO_XMLSTREAMREADER + Q_UNUSED(dev); if (errorMessage) - *errorMessage = QString::fromLatin1("QXmlStreamReader is not available, cannot parse."); + *errorMessage = QString::fromLatin1("QXmlStreamReader is not available, cannot parse '%1'.").arg(fileName); return false; #else QMimeTypePrivate data; |