diff options
author | Eike Ziller <eike.ziller@qt.io> | 2022-02-23 17:11:20 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2022-02-25 07:19:58 +0000 |
commit | f562ebf2396eb21f323d22778436fc9c75ce75e2 (patch) | |
tree | f6d09a04b56b26ab30563b68ff8553612abe0fcd | |
parent | 343a567e0776f7a96fd60410207d80effd61d479 (diff) | |
download | qt-creator-f562ebf2396eb21f323d22778436fc9c75ce75e2.tar.gz |
Mimetypes: Make implementation switchable between new and old
- configure with QTC_USE_NEW_MIMEDATABASE to switch to the new one in
utils/mimetypes2/
- added utils/mimeutils.h header for the Qt Creator specific static
wrappers, that also includes the "public" headers for MimeType et al
from the new or old implementation, depending on configuration
- change all utils/mimetypes/ includes to utils/mimeutils.h
- move the implementation for the wrappers to
utils/mimetypes(2)/mimeutils.cpp
- also move the MimeDatabase declaration in the "old" implementation
back to utils/mimetypes/mimedatabase.h
Change-Id: Ie8de229c035d6cd9a5e4739dc0fa78d9c17228e3
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
92 files changed, 558 insertions, 441 deletions
diff --git a/src/libs/extensionsystem/pluginmanager.cpp b/src/libs/extensionsystem/pluginmanager.cpp index 46dff4d78a..3b32f85774 100644 --- a/src/libs/extensionsystem/pluginmanager.cpp +++ b/src/libs/extensionsystem/pluginmanager.cpp @@ -53,7 +53,7 @@ #include <utils/executeondestruction.h> #include <utils/fileutils.h> #include <utils/hostosinfo.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <utils/qtcprocess.h> #include <utils/qtcsettings.h> diff --git a/src/libs/languageserverprotocol/basemessage.cpp b/src/libs/languageserverprotocol/basemessage.cpp index 8c1d4c1a2f..f4a34a6178 100644 --- a/src/libs/languageserverprotocol/basemessage.cpp +++ b/src/libs/languageserverprotocol/basemessage.cpp @@ -27,8 +27,6 @@ #include "jsonrpcmessages.h" -#include <utils/mimetypes/mimedatabase.h> - #include <QBuffer> #include <QTextCodec> diff --git a/src/libs/languageserverprotocol/basemessage.h b/src/libs/languageserverprotocol/basemessage.h index b2835aa7d7..db3014f012 100644 --- a/src/libs/languageserverprotocol/basemessage.h +++ b/src/libs/languageserverprotocol/basemessage.h @@ -27,8 +27,6 @@ #include "languageserverprotocol_global.h" -#include <utils/mimetypes/mimetype.h> - #include <QByteArray> #include <QCoreApplication> #include <QLoggingCategory> diff --git a/src/libs/languageserverprotocol/icontent.h b/src/libs/languageserverprotocol/icontent.h index 35cc84382a..9173bda66e 100644 --- a/src/libs/languageserverprotocol/icontent.h +++ b/src/libs/languageserverprotocol/icontent.h @@ -28,7 +28,6 @@ #include "basemessage.h" #include "lsputils.h" -#include <utils/mimetypes/mimetype.h> #include <utils/qtcassert.h> #include <utils/variant.h> diff --git a/src/libs/languageserverprotocol/jsonrpcmessages.cpp b/src/libs/languageserverprotocol/jsonrpcmessages.cpp index 2b71d34a75..abd19f4b68 100644 --- a/src/libs/languageserverprotocol/jsonrpcmessages.cpp +++ b/src/libs/languageserverprotocol/jsonrpcmessages.cpp @@ -28,7 +28,6 @@ #include "lsputils.h" #include "initializemessages.h" -#include <utils/mimetypes/mimedatabase.h> #include <utils/qtcassert.h> #include <QCoreApplication> diff --git a/src/libs/languageserverprotocol/lsptypes.cpp b/src/libs/languageserverprotocol/lsptypes.cpp index 92e04f655c..196f4f4375 100644 --- a/src/libs/languageserverprotocol/lsptypes.cpp +++ b/src/libs/languageserverprotocol/lsptypes.cpp @@ -26,7 +26,6 @@ #include "lsptypes.h" #include "lsputils.h" -#include <utils/mimetypes/mimedatabase.h> #include <utils/textutils.h> #include <QFile> diff --git a/src/libs/languageserverprotocol/lsptypes.h b/src/libs/languageserverprotocol/lsptypes.h index 7bd004ca6c..dbec3b96de 100644 --- a/src/libs/languageserverprotocol/lsptypes.h +++ b/src/libs/languageserverprotocol/lsptypes.h @@ -31,6 +31,7 @@ #include <utils/fileutils.h> #include <utils/link.h> +#include <utils/mimeutils.h> #include <utils/optional.h> #include <utils/textutils.h> #include <utils/variant.h> diff --git a/src/libs/languageserverprotocol/lsputils.cpp b/src/libs/languageserverprotocol/lsputils.cpp index fdac50c3d1..2762e60eac 100644 --- a/src/libs/languageserverprotocol/lsputils.cpp +++ b/src/libs/languageserverprotocol/lsputils.cpp @@ -25,8 +25,6 @@ #include "lsputils.h" -#include <utils/mimetypes/mimedatabase.h> - #include <QHash> #include <QLoggingCategory> #include <QVector> diff --git a/src/libs/languageserverprotocol/lsputils.h b/src/libs/languageserverprotocol/lsputils.h index 08d5e1e3ec..47352ff6bb 100644 --- a/src/libs/languageserverprotocol/lsputils.h +++ b/src/libs/languageserverprotocol/lsputils.h @@ -28,7 +28,6 @@ #include "languageserverprotocol_global.h" #include <utils/algorithm.h> -#include <utils/mimetypes/mimetype.h> #include <utils/optional.h> #include <utils/qtcassert.h> #include <utils/variant.h> diff --git a/src/libs/utils/CMakeLists.txt b/src/libs/utils/CMakeLists.txt index 652ec459cf..a13a53888b 100644 --- a/src/libs/utils/CMakeLists.txt +++ b/src/libs/utils/CMakeLists.txt @@ -86,13 +86,7 @@ add_qtc_library(Utils listutils.h macroexpander.cpp macroexpander.h mapreduce.h - mimetypes/mimedatabase.cpp mimetypes/mimedatabase.h mimetypes/mimedatabase_p.h - mimetypes/mimeglobpattern.cpp mimetypes/mimeglobpattern_p.h - mimetypes/mimemagicrule.cpp mimetypes/mimemagicrule_p.h - mimetypes/mimemagicrulematcher.cpp mimetypes/mimemagicrulematcher_p.h - mimetypes/mimeprovider.cpp mimetypes/mimeprovider_p.h - mimetypes/mimetype.cpp mimetypes/mimetype.h mimetypes/mimetype_p.h - mimetypes/mimetypeparser.cpp mimetypes/mimetypeparser_p.h + mimeutils.h multitextcursor.cpp multitextcursor.h namevaluedictionary.cpp namevaluedictionary.h namevaluedictionary.cpp namevaluedictionary.h @@ -192,6 +186,37 @@ add_qtc_library(Utils wizardpage.cpp wizardpage.h ) +option(QTC_USE_NEW_MIMEDATABASE "Use updated MIME database implementation" NO) + +if(QTC_USE_NEW_MIMEDATABASE) + set(mime_prefix "mimetypes2") +else() + set(mime_prefix "mimetypes") +endif() + +extend_qtc_library(Utils + SOURCES_PREFIX ${mime_prefix} + PUBLIC_INCLUDES ${mime_prefix} + SOURCES + mimedatabase.cpp + mimedatabase.h + mimedatabase_p.h + mimeglobpattern.cpp + mimeglobpattern_p.h + mimemagicrule.cpp + mimemagicrule_p.h + mimemagicrulematcher.cpp + mimemagicrulematcher_p.h + mimeprovider.cpp + mimeprovider_p.h + mimetype.cpp + mimetype.h + mimetype_p.h + mimetypeparser.cpp + mimetypeparser_p.h + mimeutils.cpp +) + extend_qtc_library(Utils CONDITION WIN32 SOURCES touchbar/touchbar.cpp diff --git a/src/libs/utils/archive.cpp b/src/libs/utils/archive.cpp index d05b49eb6f..8117e64a92 100644 --- a/src/libs/utils/archive.cpp +++ b/src/libs/utils/archive.cpp @@ -28,7 +28,7 @@ #include "algorithm.h" #include "checkablemessagebox.h" #include "environment.h" -#include "mimetypes/mimedatabase.h" +#include "mimeutils.h" #include "qtcassert.h" #include "qtcprocess.h" diff --git a/src/libs/utils/mimetypes/mimedatabase.cpp b/src/libs/utils/mimetypes/mimedatabase.cpp index c24dd91d00..7bf0a4c8fc 100644 --- a/src/libs/utils/mimetypes/mimedatabase.cpp +++ b/src/libs/utils/mimetypes/mimedatabase.cpp @@ -328,19 +328,6 @@ MimeDatabase::~MimeDatabase() d = nullptr; } -void Utils::addMimeTypes(const QString &fileName, const QByteArray &data) -{ - auto d = MimeDatabasePrivate::instance(); - QMutexLocker locker(&d->mutex); - - if (d->m_startupPhase >= MimeDatabase::PluginsDelayedInitializing) - qWarning("Adding items from %s to MimeDatabase after initialization time", - qPrintable(fileName)); - - auto xmlProvider = static_cast<MimeXMLProvider *>(d->provider()); - xmlProvider->addData(fileName, data); -} - /*! \fn MimeType MimeDatabase::mimeTypeForName(const QString &nameOrAlias) const; Returns a MIME type for \a nameOrAlias or an invalid one if none found. @@ -633,77 +620,3 @@ QList<MimeType> MimeDatabase::allMimeTypes() const \value MatchContent The file content is used to look for a match */ - -QMap<int, QList<MimeMagicRule> > Utils::magicRulesForMimeType(const MimeType &mimeType) -{ - auto d = MimeDatabasePrivate::instance(); - QMutexLocker locker(&d->mutex); - return d->provider()->magicRulesForMimeType(mimeType); -} - -void Utils::setGlobPatternsForMimeType(const MimeType &mimeType, const QStringList &patterns) -{ - auto d = MimeDatabasePrivate::instance(); - QMutexLocker locker(&d->mutex); - d->provider()->setGlobPatternsForMimeType(mimeType, patterns); -} - -void Utils::setMagicRulesForMimeType(const MimeType &mimeType, const QMap<int, QList<MimeMagicRule> > &rules) -{ - auto d = MimeDatabasePrivate::instance(); - QMutexLocker locker(&d->mutex); - d->provider()->setMagicRulesForMimeType(mimeType, rules); -} - -void Utils::setMimeStartupPhase(MimeStartupPhase phase) -{ - auto d = MimeDatabasePrivate::instance(); - QMutexLocker locker(&d->mutex); - if (int(phase) != d->m_startupPhase + 1) - qWarning("Unexpected jump in MimedDatabase lifetime from %d to %d", d->m_startupPhase, int(phase)); - d->m_startupPhase = int(phase); -} - -MimeType Utils::mimeTypeForName(const QString &nameOrAlias) -{ - MimeDatabase mdb; - return mdb.mimeTypeForName(nameOrAlias); -} - -MimeType Utils::mimeTypeForFile(const QString &fileName, MimeMatchMode mode) -{ - MimeDatabase mdb; - return mdb.mimeTypeForFile(fileName, MimeDatabase::MatchMode(mode)); -} - -MimeType Utils::mimeTypeForFile(const QFileInfo &fileInfo, MimeMatchMode mode) -{ - MimeDatabase mdb; - return mdb.mimeTypeForFile(fileInfo, MimeDatabase::MatchMode(mode)); -} - -MimeType Utils::mimeTypeForFile(const FilePath &filePath, MimeMatchMode mode) -{ - MimeDatabase mdb; - if (filePath.needsDevice()) - return mdb.mimeTypeForUrl(filePath.toUrl()); - return mdb.mimeTypeForFile(filePath.toString(), MimeDatabase::MatchMode(mode)); -} - -QList<MimeType> Utils::mimeTypesForFileName(const QString &fileName) -{ - MimeDatabase mdb; - return mdb.mimeTypesForFileName(fileName); -} - -MimeType Utils::mimeTypeForData(const QByteArray &data) -{ - MimeDatabase mdb; - return mdb.mimeTypeForData(data); -} - -QList<MimeType> Utils::allMimeTypes() -{ - MimeDatabase mdb; - return mdb.allMimeTypes(); -} diff --git a/src/libs/utils/mimetypes/mimedatabase.h b/src/libs/utils/mimetypes/mimedatabase.h index 47a9a74036..4808d96a47 100644 --- a/src/libs/utils/mimetypes/mimedatabase.h +++ b/src/libs/utils/mimetypes/mimedatabase.h @@ -40,49 +40,54 @@ #pragma once #include "mimetype.h" -#include "mimemagicrule_p.h" - -#include <utils/utils_global.h> QT_BEGIN_NAMESPACE class QFileInfo; +class QIODevice; +class QUrl; QT_END_NAMESPACE namespace Utils { -class FilePath; +class MimeDatabase +{ + Q_DISABLE_COPY(MimeDatabase) -// Wrapped QMimeDataBase functions -QTCREATOR_UTILS_EXPORT MimeType mimeTypeForName(const QString &nameOrAlias); +public: + MimeDatabase(); + ~MimeDatabase(); -enum class MimeMatchMode { - MatchDefault = 0x0, - MatchExtension = 0x1, - MatchContent = 0x2 -}; + MimeType mimeTypeForName(const QString &nameOrAlias) const; -QTCREATOR_UTILS_EXPORT MimeType mimeTypeForFile(const QString &fileName, MimeMatchMode mode = MimeMatchMode::MatchDefault); -QTCREATOR_UTILS_EXPORT MimeType mimeTypeForFile(const QFileInfo &fileInfo, MimeMatchMode mode = MimeMatchMode::MatchDefault); -QTCREATOR_UTILS_EXPORT MimeType mimeTypeForFile(const FilePath &filePath, MimeMatchMode mode = MimeMatchMode::MatchDefault); -QTCREATOR_UTILS_EXPORT QList<MimeType> mimeTypesForFileName(const QString &fileName); -QTCREATOR_UTILS_EXPORT MimeType mimeTypeForData(const QByteArray &data); -QTCREATOR_UTILS_EXPORT QList<MimeType> allMimeTypes(); - -// Qt Creator additions -// For debugging purposes. -enum class MimeStartupPhase { - BeforeInitialize, - PluginsLoading, - PluginsInitializing, // Register up to here. - PluginsDelayedInitializing, // Use from here on. - UpAndRunning -}; + enum MatchMode { MatchDefault = 0x0, MatchExtension = 0x1, MatchContent = 0x2 }; + + MimeType mimeTypeForFile(const QString &fileName, MatchMode mode = MatchDefault) const; + MimeType mimeTypeForFile(const QFileInfo &fileInfo, MatchMode mode = MatchDefault) const; + QList<MimeType> mimeTypesForFileName(const QString &fileName) const; + + MimeType mimeTypeForData(const QByteArray &data) const; + MimeType mimeTypeForData(QIODevice *device) const; -QTCREATOR_UTILS_EXPORT void setMimeStartupPhase(MimeStartupPhase); -QTCREATOR_UTILS_EXPORT void addMimeTypes(const QString &id, const QByteArray &data); -QTCREATOR_UTILS_EXPORT QMap<int, QList<Internal::MimeMagicRule> > magicRulesForMimeType(const MimeType &mimeType); // priority -> rules -QTCREATOR_UTILS_EXPORT void setGlobPatternsForMimeType(const MimeType &mimeType, const QStringList &patterns); -QTCREATOR_UTILS_EXPORT void setMagicRulesForMimeType(const MimeType &mimeType, - const QMap<int, QList<Internal::MimeMagicRule> > &rules); // priority -> rules + MimeType mimeTypeForUrl(const QUrl &url) const; + MimeType mimeTypeForFileNameAndData(const QString &fileName, QIODevice *device) const; + MimeType mimeTypeForFileNameAndData(const QString &fileName, const QByteArray &data) const; + + QString suffixForFileName(const QString &fileName) const; + + QList<MimeType> allMimeTypes() const; + + // For debugging purposes. + enum StartupPhase { + BeforeInitialize, + PluginsLoading, + PluginsInitializing, // Register up to here. + PluginsDelayedInitializing, // Use from here on. + UpAndRunning + }; + static void setStartupPhase(StartupPhase); + +private: + Internal::MimeDatabasePrivate *d; +}; } // Utils diff --git a/src/libs/utils/mimetypes/mimedatabase_p.h b/src/libs/utils/mimetypes/mimedatabase_p.h index 6f87b213f3..4621112600 100644 --- a/src/libs/utils/mimetypes/mimedatabase_p.h +++ b/src/libs/utils/mimetypes/mimedatabase_p.h @@ -62,9 +62,7 @@ #include <QtCore/qhash.h> #include <QtCore/qmutex.h> QT_BEGIN_NAMESPACE -class QFileInfo; class QIODevice; -class QUrl; QT_END_NAMESPACE #include "mimetype.h" @@ -108,50 +106,5 @@ public: int m_startupPhase = 0; }; -class MimeDatabase -{ - Q_DISABLE_COPY(MimeDatabase) - -public: - MimeDatabase(); - ~MimeDatabase(); - - MimeType mimeTypeForName(const QString &nameOrAlias) const; - - enum MatchMode { - MatchDefault = 0x0, - MatchExtension = 0x1, - MatchContent = 0x2 - }; - - MimeType mimeTypeForFile(const QString &fileName, MatchMode mode = MatchDefault) const; - MimeType mimeTypeForFile(const QFileInfo &fileInfo, MatchMode mode = MatchDefault) const; - QList<MimeType> mimeTypesForFileName(const QString &fileName) const; - - MimeType mimeTypeForData(const QByteArray &data) const; - MimeType mimeTypeForData(QIODevice *device) const; - - MimeType mimeTypeForUrl(const QUrl &url) const; - MimeType mimeTypeForFileNameAndData(const QString &fileName, QIODevice *device) const; - MimeType mimeTypeForFileNameAndData(const QString &fileName, const QByteArray &data) const; - - QString suffixForFileName(const QString &fileName) const; - - QList<MimeType> allMimeTypes() const; - - // For debugging purposes. - enum StartupPhase { - BeforeInitialize, - PluginsLoading, - PluginsInitializing, // Register up to here. - PluginsDelayedInitializing, // Use from here on. - UpAndRunning - }; - static void setStartupPhase(StartupPhase); - -private: - Internal::MimeDatabasePrivate *d; -}; - } // Internal } // Utils diff --git a/src/libs/utils/mimetypes/mimemagicrule_p.h b/src/libs/utils/mimetypes/mimemagicrule_p.h index 1513750a29..14fdbf9b48 100644 --- a/src/libs/utils/mimetypes/mimemagicrule_p.h +++ b/src/libs/utils/mimetypes/mimemagicrule_p.h @@ -62,8 +62,8 @@ namespace Utils { class MimeType; namespace Internal { - class MimeMagicRulePrivate; +} class QTCREATOR_UTILS_EXPORT MimeMagicRule { @@ -97,12 +97,11 @@ public: static bool matchSubstring(const char *dataPtr, int dataSize, int rangeStart, int rangeLength, int valueLength, const char *valueData, const char *mask); private: - const QScopedPointer<MimeMagicRulePrivate> d; + const QScopedPointer<Internal::MimeMagicRulePrivate> d; }; -} // Internal } // Utils QT_BEGIN_NAMESPACE -Q_DECLARE_TYPEINFO(Utils::Internal::MimeMagicRule, Q_MOVABLE_TYPE); +Q_DECLARE_TYPEINFO(Utils::MimeMagicRule, Q_MOVABLE_TYPE); QT_END_NAMESPACE diff --git a/src/libs/utils/mimetypes/mimeutils.cpp b/src/libs/utils/mimetypes/mimeutils.cpp new file mode 100644 index 0000000000..cd618daeea --- /dev/null +++ b/src/libs/utils/mimetypes/mimeutils.cpp @@ -0,0 +1,140 @@ +/**************************************************************************** +** +** Copyright (C) 2022 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtCore module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "mimeutils.h" + +#include "mimedatabase.h" +#include "mimedatabase_p.h" +#include "mimemagicrule_p.h" +#include "mimeprovider_p.h" + +#include "filepath.h" + +using namespace Utils; +using namespace Utils::Internal; + +void Utils::addMimeTypes(const QString &fileName, const QByteArray &data) +{ + auto d = MimeDatabasePrivate::instance(); + QMutexLocker locker(&d->mutex); + + if (d->m_startupPhase >= MimeDatabase::PluginsDelayedInitializing) + qWarning("Adding items from %s to MimeDatabase after initialization time", + qPrintable(fileName)); + + auto xmlProvider = static_cast<MimeXMLProvider *>(d->provider()); + xmlProvider->addData(fileName, data); +} + +QMap<int, QList<MimeMagicRule>> Utils::magicRulesForMimeType(const MimeType &mimeType) +{ + auto d = MimeDatabasePrivate::instance(); + QMutexLocker locker(&d->mutex); + return d->provider()->magicRulesForMimeType(mimeType); +} + +void Utils::setGlobPatternsForMimeType(const MimeType &mimeType, const QStringList &patterns) +{ + auto d = MimeDatabasePrivate::instance(); + QMutexLocker locker(&d->mutex); + d->provider()->setGlobPatternsForMimeType(mimeType, patterns); +} + +void Utils::setMagicRulesForMimeType(const MimeType &mimeType, + const QMap<int, QList<MimeMagicRule>> &rules) +{ + auto d = MimeDatabasePrivate::instance(); + QMutexLocker locker(&d->mutex); + d->provider()->setMagicRulesForMimeType(mimeType, rules); +} + +void Utils::setMimeStartupPhase(MimeStartupPhase phase) +{ + auto d = MimeDatabasePrivate::instance(); + QMutexLocker locker(&d->mutex); + if (int(phase) != d->m_startupPhase + 1) + qWarning("Unexpected jump in MimedDatabase lifetime from %d to %d", + d->m_startupPhase, + int(phase)); + d->m_startupPhase = int(phase); +} + +MimeType Utils::mimeTypeForName(const QString &nameOrAlias) +{ + MimeDatabase mdb; + return mdb.mimeTypeForName(nameOrAlias); +} + +MimeType Utils::mimeTypeForFile(const QString &fileName, MimeMatchMode mode) +{ + MimeDatabase mdb; + return mdb.mimeTypeForFile(fileName, MimeDatabase::MatchMode(mode)); +} + +MimeType Utils::mimeTypeForFile(const QFileInfo &fileInfo, MimeMatchMode mode) +{ + MimeDatabase mdb; + return mdb.mimeTypeForFile(fileInfo, MimeDatabase::MatchMode(mode)); +} + +MimeType Utils::mimeTypeForFile(const FilePath &filePath, MimeMatchMode mode) +{ + MimeDatabase mdb; + if (filePath.needsDevice()) + return mdb.mimeTypeForUrl(filePath.toUrl()); + return mdb.mimeTypeForFile(filePath.toString(), MimeDatabase::MatchMode(mode)); +} + +QList<MimeType> Utils::mimeTypesForFileName(const QString &fileName) +{ + MimeDatabase mdb; + return mdb.mimeTypesForFileName(fileName); +} + +MimeType Utils::mimeTypeForData(const QByteArray &data) +{ + MimeDatabase mdb; + return mdb.mimeTypeForData(data); +} + +QList<MimeType> Utils::allMimeTypes() +{ + MimeDatabase mdb; + return mdb.allMimeTypes(); +} diff --git a/src/libs/utils/mimetypes2/mimedatabase.cpp b/src/libs/utils/mimetypes2/mimedatabase.cpp index 068f0ec2f8..8d9fd8a65c 100644 --- a/src/libs/utils/mimetypes2/mimedatabase.cpp +++ b/src/libs/utils/mimetypes2/mimedatabase.cpp @@ -46,8 +46,6 @@ #include "mimeprovider_p.h" #include "mimetype_p.h" -#include "filepath.h" - #include <QtCore/QFile> #include <QtCore/QFileInfo> #include <QtCore/QStandardPaths> @@ -829,94 +827,4 @@ QList<MimeType> MimeDatabase::allMimeTypes() const \value MatchContent The file content is used to look for a match */ -MimeType mimeTypeForName(const QString &nameOrAlias) -{ - MimeDatabase mdb; - return mdb.mimeTypeForName(nameOrAlias); -} - -MimeType mimeTypeForFile(const QString &fileName, MimeMatchMode mode) -{ - MimeDatabase mdb; - return mdb.mimeTypeForFile(fileName, MimeDatabase::MatchMode(mode)); -} - -MimeType mimeTypeForFile(const QFileInfo &fileInfo, MimeMatchMode mode) -{ - MimeDatabase mdb; - return mdb.mimeTypeForFile(fileInfo, MimeDatabase::MatchMode(mode)); -} - -MimeType mimeTypeForFile(const FilePath &filePath, MimeMatchMode mode) -{ - MimeDatabase mdb; - if (filePath.needsDevice()) - return mdb.mimeTypeForUrl(filePath.toUrl()); - return mdb.mimeTypeForFile(filePath.toString(), MimeDatabase::MatchMode(mode)); -} - -QList<MimeType> mimeTypesForFileName(const QString &fileName) -{ - MimeDatabase mdb; - return mdb.mimeTypesForFileName(fileName); -} - -MimeType mimeTypeForData(const QByteArray &data) -{ - MimeDatabase mdb; - return mdb.mimeTypeForData(data); -} - -QList<MimeType> allMimeTypes() -{ - MimeDatabase mdb; - return mdb.allMimeTypes(); -} - -void setMimeStartupPhase(MimeStartupPhase phase) -{ -// auto d = MimeDatabasePrivate::instance(); -// QMutexLocker locker(&d->mutex); -// if (int(phase) != d->m_startupPhase + 1) -// qWarning("Unexpected jump in MimedDatabase lifetime from %d to %d", d->m_startupPhase, int(phase)); -// d->m_startupPhase = int(phase); -} - -void addMimeTypes(const QString &fileName, const QByteArray &data) -{ -// auto d = MimeDatabasePrivate::instance(); -// QMutexLocker locker(&d->mutex); - -// if (d->m_startupPhase >= MimeDatabase::PluginsDelayedInitializing) -// qWarning("Adding items from %s to MimeDatabase after initialization time", -// qPrintable(fileName)); - -// auto xmlProvider = static_cast<MimeXMLProvider *>(d->provider()); -// xmlProvider->addData(fileName, data); -} - -QMap<int, QList<MimeMagicRule> > magicRulesForMimeType(const MimeType &mimeType) -{ -// auto d = MimeDatabasePrivate::instance(); -// QMutexLocker locker(&d->mutex); -// return d->provider()->magicRulesForMimeType(mimeType); - return {}; -} - -void setGlobPatternsForMimeType(const MimeType &mimeType, const QStringList &patterns) -{ -// auto d = MimeDatabasePrivate::instance(); -// QMutexLocker locker(&d->mutex); -// d->provider()->setGlobPatternsForMimeType(mimeType, patterns); -} - -void setMagicRulesForMimeType(const MimeType &mimeType, const QMap<int, QList<MimeMagicRule> > &rules) -{ -// auto d = MimeDatabasePrivate::instance(); -// QMutexLocker locker(&d->mutex); -// d->provider()->setMagicRulesForMimeType(mimeType, rules); -} - - - } // namespace Utils diff --git a/src/libs/utils/mimetypes2/mimedatabase.h b/src/libs/utils/mimetypes2/mimedatabase.h index b8fc86fc3c..7516c467dd 100644 --- a/src/libs/utils/mimetypes2/mimedatabase.h +++ b/src/libs/utils/mimetypes2/mimedatabase.h @@ -57,45 +57,9 @@ QT_END_NAMESPACE namespace Utils { -class FilePath; - -// Wrapped QMimeDataBase functions -QTCREATOR_UTILS_EXPORT MimeType mimeTypeForName(const QString &nameOrAlias); - -enum class MimeMatchMode { - MatchDefault = 0x0, - MatchExtension = 0x1, - MatchContent = 0x2 -}; - -QTCREATOR_UTILS_EXPORT MimeType mimeTypeForFile(const QString &fileName, MimeMatchMode mode = MimeMatchMode::MatchDefault); -QTCREATOR_UTILS_EXPORT MimeType mimeTypeForFile(const QFileInfo &fileInfo, MimeMatchMode mode = MimeMatchMode::MatchDefault); -QTCREATOR_UTILS_EXPORT MimeType mimeTypeForFile(const FilePath &filePath, MimeMatchMode mode = MimeMatchMode::MatchDefault); -QTCREATOR_UTILS_EXPORT QList<MimeType> mimeTypesForFileName(const QString &fileName); -QTCREATOR_UTILS_EXPORT MimeType mimeTypeForData(const QByteArray &data); -QTCREATOR_UTILS_EXPORT QList<MimeType> allMimeTypes(); - -// Qt Creator additions -// For debugging purposes. -enum class MimeStartupPhase { - BeforeInitialize, - PluginsLoading, - PluginsInitializing, // Register up to here. - PluginsDelayedInitializing, // Use from here on. - UpAndRunning -}; - -QTCREATOR_UTILS_EXPORT void setMimeStartupPhase(MimeStartupPhase); -QTCREATOR_UTILS_EXPORT void addMimeTypes(const QString &id, const QByteArray &data); -QTCREATOR_UTILS_EXPORT QMap<int, QList<MimeMagicRule> > magicRulesForMimeType(const MimeType &mimeType); // priority -> rules -QTCREATOR_UTILS_EXPORT void setGlobPatternsForMimeType(const MimeType &mimeType, const QStringList &patterns); -QTCREATOR_UTILS_EXPORT void setMagicRulesForMimeType(const MimeType &mimeType, - const QMap<int, QList<MimeMagicRule> > &rules); // priority -> rules - -// Original - class MimeDatabasePrivate; -class QTCREATOR_UTILS_EXPORT MimeDatabase + +class MimeDatabase { Q_DISABLE_COPY(MimeDatabase) diff --git a/src/libs/utils/mimetypes2/mimeutils.cpp b/src/libs/utils/mimetypes2/mimeutils.cpp new file mode 100644 index 0000000000..56a2d93477 --- /dev/null +++ b/src/libs/utils/mimetypes2/mimeutils.cpp @@ -0,0 +1,139 @@ +/**************************************************************************** +** +** Copyright (C) 2022 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtCore module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "mimeutils.h" + +#include "mimedatabase.h" +#include "mimedatabase_p.h" +#include "mimemagicrule_p.h" +#include "mimeprovider_p.h" + +#include "filepath.h" + +namespace Utils { + +MimeType mimeTypeForName(const QString &nameOrAlias) +{ + MimeDatabase mdb; + return mdb.mimeTypeForName(nameOrAlias); +} + +MimeType mimeTypeForFile(const QString &fileName, MimeMatchMode mode) +{ + MimeDatabase mdb; + return mdb.mimeTypeForFile(fileName, MimeDatabase::MatchMode(mode)); +} + +MimeType mimeTypeForFile(const QFileInfo &fileInfo, MimeMatchMode mode) +{ + MimeDatabase mdb; + return mdb.mimeTypeForFile(fileInfo, MimeDatabase::MatchMode(mode)); +} + +MimeType mimeTypeForFile(const FilePath &filePath, MimeMatchMode mode) +{ + MimeDatabase mdb; + if (filePath.needsDevice()) + return mdb.mimeTypeForUrl(filePath.toUrl()); + return mdb.mimeTypeForFile(filePath.toString(), MimeDatabase::MatchMode(mode)); +} + +QList<MimeType> mimeTypesForFileName(const QString &fileName) +{ + MimeDatabase mdb; + return mdb.mimeTypesForFileName(fileName); +} + +MimeType mimeTypeForData(const QByteArray &data) +{ + MimeDatabase mdb; + return mdb.mimeTypeForData(data); +} + +QList<MimeType> allMimeTypes() +{ + MimeDatabase mdb; + return mdb.allMimeTypes(); +} + +void setMimeStartupPhase(MimeStartupPhase phase) +{ + // auto d = MimeDatabasePrivate::instance(); + // QMutexLocker locker(&d->mutex); + // if (int(phase) != d->m_startupPhase + 1) + // qWarning("Unexpected jump in MimedDatabase lifetime from %d to %d", d->m_startupPhase, int(phase)); + // d->m_startupPhase = int(phase); +} + +void addMimeTypes(const QString &fileName, const QByteArray &data) +{ + // auto d = MimeDatabasePrivate::instance(); + // QMutexLocker locker(&d->mutex); + + // if (d->m_startupPhase >= MimeDatabase::PluginsDelayedInitializing) + // qWarning("Adding items from %s to MimeDatabase after initialization time", + // qPrintable(fileName)); + + // auto xmlProvider = static_cast<MimeXMLProvider *>(d->provider()); + // xmlProvider->addData(fileName, data); +} + +QMap<int, QList<MimeMagicRule>> magicRulesForMimeType(const MimeType &mimeType) +{ + // auto d = MimeDatabasePrivate::instance(); + // QMutexLocker locker(&d->mutex); + // return d->provider()->magicRulesForMimeType(mimeType); + return {}; +} + +void setGlobPatternsForMimeType(const MimeType &mimeType, const QStringList &patterns) +{ + // auto d = MimeDatabasePrivate::instance(); + // QMutexLocker locker(&d->mutex); + // d->provider()->setGlobPatternsForMimeType(mimeType, patterns); +} + +void setMagicRulesForMimeType(const MimeType &mimeType, const QMap<int, QList<MimeMagicRule>> &rules) +{ + // auto d = MimeDatabasePrivate::instance(); + // QMutexLocker locker(&d->mutex); + // d->provider()->setMagicRulesForMimeType(mimeType, rules); +} + +} // namespace Utils diff --git a/src/libs/utils/mimeutils.h b/src/libs/utils/mimeutils.h new file mode 100644 index 0000000000..ceb05180c4 --- /dev/null +++ b/src/libs/utils/mimeutils.h @@ -0,0 +1,89 @@ +/**************************************************************************** +** +** Copyright (C) 2022 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtCore module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#pragma once + +#include <mimemagicrule_p.h> +#include <mimetype.h> + +#include <utils/utils_global.h> + +QT_BEGIN_NAMESPACE +class QFileInfo; +QT_END_NAMESPACE + +namespace Utils { + +class FilePath; + +// Wrapped QMimeDataBase functions +QTCREATOR_UTILS_EXPORT MimeType mimeTypeForName(const QString &nameOrAlias); + +enum class MimeMatchMode { MatchDefault = 0x0, MatchExtension = 0x1, MatchContent = 0x2 }; + +QTCREATOR_UTILS_EXPORT MimeType mimeTypeForFile(const QString &fileName, + MimeMatchMode mode = MimeMatchMode::MatchDefault); +QTCREATOR_UTILS_EXPORT MimeType mimeTypeForFile(const QFileInfo &fileInfo, + MimeMatchMode mode = MimeMatchMode::MatchDefault); +QTCREATOR_UTILS_EXPORT MimeType mimeTypeForFile(const FilePath &filePath, + MimeMatchMode mode = MimeMatchMode::MatchDefault); +QTCREATOR_UTILS_EXPORT QList<MimeType> mimeTypesForFileName(const QString &fileName); +QTCREATOR_UTILS_EXPORT MimeType mimeTypeForData(const QByteArray &data); +QTCREATOR_UTILS_EXPORT QList<MimeType> allMimeTypes(); + +// Qt Creator additions +// For debugging purposes. +enum class MimeStartupPhase { + BeforeInitialize, + PluginsLoading, + PluginsInitializing, // Register up to here. + PluginsDelayedInitializing, // Use from here on. + UpAndRunning +}; + +QTCREATOR_UTILS_EXPORT void setMimeStartupPhase(MimeStartupPhase); +QTCREATOR_UTILS_EXPORT void addMimeTypes(const QString &id, const QByteArray &data); +QTCREATOR_UTILS_EXPORT QMap<int, QList<MimeMagicRule>> magicRulesForMimeType( + const MimeType &mimeType); // priority -> rules +QTCREATOR_UTILS_EXPORT void setGlobPatternsForMimeType(const MimeType &mimeType, + const QStringList &patterns); +QTCREATOR_UTILS_EXPORT void setMagicRulesForMimeType( + const MimeType &mimeType, const QMap<int, QList<MimeMagicRule>> &rules); // priority -> rules + +} // namespace Utils diff --git a/src/libs/utils/utils.qbs b/src/libs/utils/utils.qbs index 1d2523e3a0..11493fb4b0 100644 --- a/src/libs/utils/utils.qbs +++ b/src/libs/utils/utils.qbs @@ -5,7 +5,7 @@ Project { name: "Utils" QtcLibrary { - + cpp.includePaths: base.concat("mimetypes", ".") cpp.defines: base.concat([ "UTILS_LIBRARY" ]) @@ -179,6 +179,7 @@ Project { "macroexpander.cpp", "macroexpander.h", "mapreduce.h", + "mimeutils.h", "multitextcursor.cpp", "multitextcursor.h", "namevaluedictionary.cpp", @@ -404,6 +405,7 @@ Project { "mimetype_p.h", "mimetypeparser.cpp", "mimetypeparser_p.h", + "mimeutils.cpp" ] } @@ -430,6 +432,7 @@ Project { Export { Depends { name: "Qt"; submodules: ["concurrent", "widgets" ] } + cpp.includePaths: base.concat("mimetypes") } } } diff --git a/src/plugins/beautifier/abstractsettings.cpp b/src/plugins/beautifier/abstractsettings.cpp index 28d8ac6b04..d691984d62 100644 --- a/src/plugins/beautifier/abstractsettings.cpp +++ b/src/plugins/beautifier/abstractsettings.cpp @@ -33,7 +33,7 @@ #include <utils/algorithm.h> #include <utils/fileutils.h> #include <utils/genericconstants.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <QFile> #include <QFileInfo> diff --git a/src/plugins/beautifier/beautifierplugin.cpp b/src/plugins/beautifier/beautifierplugin.cpp index aa2f8e4532..c1abcdd7bc 100644 --- a/src/plugins/beautifier/beautifierplugin.cpp +++ b/src/plugins/beautifier/beautifierplugin.cpp @@ -51,7 +51,7 @@ #include <texteditor/texteditorconstants.h> #include <utils/algorithm.h> #include <utils/fileutils.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <utils/qtcprocess.h> #include <utils/runextensions.h> diff --git a/src/plugins/beautifier/generalsettings.cpp b/src/plugins/beautifier/generalsettings.cpp index df16001aa0..b90ab0a133 100644 --- a/src/plugins/beautifier/generalsettings.cpp +++ b/src/plugins/beautifier/generalsettings.cpp @@ -30,7 +30,7 @@ #include <coreplugin/icore.h> #include <utils/algorithm.h> #include <utils/genericconstants.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> namespace Beautifier { namespace Internal { diff --git a/src/plugins/beautifier/generalsettings.h b/src/plugins/beautifier/generalsettings.h index 254a13c7c2..ae3d49734d 100644 --- a/src/plugins/beautifier/generalsettings.h +++ b/src/plugins/beautifier/generalsettings.h @@ -25,7 +25,7 @@ #pragma once -#include <utils/mimetypes/mimetype.h> +#include <utils/mimeutils.h> #include <QList> diff --git a/src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp b/src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp index ac8f686910..db70275ead 100644 --- a/src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp +++ b/src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp @@ -50,7 +50,7 @@ #include <clangsupport/filecontainer.h> #include <utils/algorithm.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/optional.h> #include <utils/porting.h> #include <utils/qtcassert.h> diff --git a/src/plugins/clangtools/clangtoolsplugin.cpp b/src/plugins/clangtools/clangtoolsplugin.cpp index 82806284e7..310d64a6ba 100644 --- a/src/plugins/clangtools/clangtoolsplugin.cpp +++ b/src/plugins/clangtools/clangtoolsplugin.cpp @@ -38,8 +38,7 @@ #include "clangtoolsunittests.h" #endif -#include <utils/mimetypes/mimedatabase.h> -#include <utils/mimetypes/mimetype.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <coreplugin/actionmanager/actioncontainer.h> diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp index c4d2127573..f3255f6462 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp @@ -59,7 +59,7 @@ #include <utils/checkablemessagebox.h> #include <utils/fileutils.h> #include <utils/macroexpander.h> -#include <utils/mimetypes/mimetype.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <utils/qtcprocess.h> #include <utils/runextensions.h> diff --git a/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp b/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp index d5836605f4..a381fecd69 100644 --- a/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp +++ b/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp @@ -31,7 +31,7 @@ #include <cppeditor/cppeditorconstants.h> #include <utils/algorithm.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <utils/qtcprocess.h> #include <utils/utilsicons.h> diff --git a/src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp b/src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp index 37216a4887..caeeddded9 100644 --- a/src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp +++ b/src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp @@ -28,7 +28,7 @@ #include <coreplugin/progressmanager/progressmanager.h> #include <projectexplorer/task.h> #include <projectexplorer/treescanner.h> -#include <utils/mimetypes/mimetype.h> +#include <utils/mimeutils.h> #include <utils/runextensions.h> #include <QCryptographicHash> diff --git a/src/plugins/coreplugin/basefilewizardfactory.cpp b/src/plugins/coreplugin/basefilewizardfactory.cpp index 83d9721bce..e272acd92a 100644 --- a/src/plugins/coreplugin/basefilewizardfactory.cpp +++ b/src/plugins/coreplugin/basefilewizardfactory.cpp @@ -26,14 +26,14 @@ #include "basefilewizardfactory.h" #include "basefilewizard.h" +#include "dialogs/promptoverwritedialog.h" +#include "editormanager/editormanager.h" #include "icontext.h" #include "icore.h" #include "ifilewizardextension.h" -#include "editormanager/editormanager.h" -#include "dialogs/promptoverwritedialog.h" #include <extensionsystem/pluginmanager.h> #include <utils/filewizardpage.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <utils/stringutils.h> #include <utils/wizard.h> diff --git a/src/plugins/coreplugin/corejsextensions.cpp b/src/plugins/coreplugin/corejsextensions.cpp index 6b6a380108..b73534b25b 100644 --- a/src/plugins/coreplugin/corejsextensions.cpp +++ b/src/plugins/coreplugin/corejsextensions.cpp @@ -28,7 +28,7 @@ #include <app/app_version.h> #include <utils/fileutils.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <QDir> diff --git a/src/plugins/coreplugin/coreplugin.cpp b/src/plugins/coreplugin/coreplugin.cpp index 483c8c3c2b..a6cccc3d09 100644 --- a/src/plugins/coreplugin/coreplugin.cpp +++ b/src/plugins/coreplugin/coreplugin.cpp @@ -53,7 +53,7 @@ #include <utils/commandline.h> #include <utils/infobar.h> #include <utils/macroexpander.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/pathchooser.h> #include <utils/savefile.h> #include <utils/stringutils.h> diff --git a/src/plugins/coreplugin/dialogs/filepropertiesdialog.cpp b/src/plugins/coreplugin/dialogs/filepropertiesdialog.cpp index 8901ee109e..18e13f3531 100644 --- a/src/plugins/coreplugin/dialogs/filepropertiesdialog.cpp +++ b/src/plugins/coreplugin/dialogs/filepropertiesdialog.cpp @@ -29,7 +29,7 @@ #include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/ieditorfactory.h> #include <utils/fileutils.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <QDateTime> #include <QDebug> diff --git a/src/plugins/coreplugin/documentmanager.cpp b/src/plugins/coreplugin/documentmanager.cpp index 4b9190a45a..640b2dffa9 100644 --- a/src/plugins/coreplugin/documentmanager.cpp +++ b/src/plugins/coreplugin/documentmanager.cpp @@ -50,7 +50,7 @@ #include <utils/fileutils.h> #include <utils/globalfilechangeblocker.h> #include <utils/hostosinfo.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/optional.h> #include <utils/pathchooser.h> #include <utils/qtcassert.h> diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index 150d5d957b..d40c3b049a 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -72,8 +72,7 @@ #include <utils/infobar.h> #include <utils/link.h> #include <utils/macroexpander.h> -#include <utils/mimetypes/mimedatabase.h> -#include <utils/mimetypes/mimetype.h> +#include <utils/mimeutils.h> #include <utils/overridecursor.h> #include <utils/qtcassert.h> #include <utils/stringutils.h> diff --git a/src/plugins/coreplugin/editormanager/ieditorfactory.cpp b/src/plugins/coreplugin/editormanager/ieditorfactory.cpp index a4e323b8d2..af7627a0c2 100644 --- a/src/plugins/coreplugin/editormanager/ieditorfactory.cpp +++ b/src/plugins/coreplugin/editormanager/ieditorfactory.cpp @@ -28,7 +28,7 @@ #include "editormanager.h" #include <utils/algorithm.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <QFileInfo> diff --git a/src/plugins/coreplugin/editormanager/ieditorfactory.h b/src/plugins/coreplugin/editormanager/ieditorfactory.h index 20787c2915..dfefb53c18 100644 --- a/src/plugins/coreplugin/editormanager/ieditorfactory.h +++ b/src/plugins/coreplugin/editormanager/ieditorfactory.h @@ -28,14 +28,16 @@ #include <coreplugin/core_global.h> #include <utils/id.h> -#include <utils/mimetypes/mimetype.h> #include <QObject> #include <QStringList> #include <functional> -namespace Utils { class FilePath; } +namespace Utils { +class FilePath; +class MimeType; +} namespace Core { diff --git a/src/plugins/coreplugin/editormanager/ieditorfactory_p.h b/src/plugins/coreplugin/editormanager/ieditorfactory_p.h index 842772c2e5..9a05d2fdf6 100644 --- a/src/plugins/coreplugin/editormanager/ieditorfactory_p.h +++ b/src/plugins/coreplugin/editormanager/ieditorfactory_p.h @@ -25,8 +25,7 @@ #pragma once -#include <utils/mimetypes/mimetype.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <QHash> #include <QSet> diff --git a/src/plugins/coreplugin/editormanager/iexternaleditor.h b/src/plugins/coreplugin/editormanager/iexternaleditor.h index d37fc9fd12..a3ed21c64a 100644 --- a/src/plugins/coreplugin/editormanager/iexternaleditor.h +++ b/src/plugins/coreplugin/editormanager/iexternaleditor.h @@ -30,11 +30,13 @@ #include <coreplugin/core_global.h> #include <utils/id.h> -#include <utils/mimetypes/mimetype.h> #include <QObject> -namespace Utils { class FilePath; } +namespace Utils { +class FilePath; +class MimeType; +} namespace Core { diff --git a/src/plugins/coreplugin/fileiconprovider.cpp b/src/plugins/coreplugin/fileiconprovider.cpp index e2149ce35a..bf4109953c 100644 --- a/src/plugins/coreplugin/fileiconprovider.cpp +++ b/src/plugins/coreplugin/fileiconprovider.cpp @@ -27,7 +27,7 @@ #include <utils/fileutils.h> #include <utils/hostosinfo.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/optional.h> #include <utils/qtcassert.h> #include <utils/variant.h> diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp index 145244f7d8..f032f2cc42 100644 --- a/src/plugins/coreplugin/mainwindow.cpp +++ b/src/plugins/coreplugin/mainwindow.cpp @@ -56,13 +56,13 @@ #include <coreplugin/actionmanager/actionmanager_p.h> #include <coreplugin/actionmanager/command.h> #include <coreplugin/dialogs/externaltoolconfig.h> -#include <coreplugin/iwizardfactory.h> #include <coreplugin/dialogs/shortcutsettings.h> #include <coreplugin/editormanager/documentmodel_p.h> #include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager_p.h> #include <coreplugin/editormanager/ieditor.h> #include <coreplugin/inavigationwidgetfactory.h> +#include <coreplugin/iwizardfactory.h> #include <coreplugin/progressmanager/progressmanager_p.h> #include <coreplugin/progressmanager/progressview.h> #include <coreplugin/settingsdatabase.h> @@ -70,11 +70,11 @@ #include <utils/algorithm.h> #include <utils/historycompleter.h> #include <utils/hostosinfo.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> +#include <utils/stringutils.h> #include <utils/stylehelper.h> #include <utils/theme/theme.h> -#include <utils/stringutils.h> #include <utils/utilsicons.h> #include <QActionGroup> diff --git a/src/plugins/coreplugin/mimetypemagicdialog.cpp b/src/plugins/coreplugin/mimetypemagicdialog.cpp index 18bd851673..633977638f 100644 --- a/src/plugins/coreplugin/mimetypemagicdialog.cpp +++ b/src/plugins/coreplugin/mimetypemagicdialog.cpp @@ -37,11 +37,11 @@ using namespace Core; using namespace Internal; -static Utils::Internal::MimeMagicRule::Type typeValue(int i) +static Utils::MimeMagicRule::Type typeValue(int i) { - QTC_ASSERT(i < Utils::Internal::MimeMagicRule::Byte, - return Utils::Internal::MimeMagicRule::Invalid); - return Utils::Internal::MimeMagicRule::Type(i + 1/*0==invalid*/); + QTC_ASSERT(i < Utils::MimeMagicRule::Byte, + return Utils::MimeMagicRule::Invalid); + return Utils::MimeMagicRule::Type(i + 1/*0==invalid*/); } MimeTypeMagicDialog::MimeTypeMagicDialog(QWidget *parent) : @@ -96,7 +96,7 @@ void MimeTypeMagicDialog::applyRecommended(bool checked) void MimeTypeMagicDialog::validateAccept() { QString errorMessage; - Utils::Internal::MimeMagicRule rule = createRule(&errorMessage); + Utils::MimeMagicRule rule = createRule(&errorMessage); if (rule.isValid()) accept(); else @@ -130,12 +130,12 @@ bool MagicData::operator==(const MagicData &other) const Returns the mask, or an empty string if the mask is the default mask which is set by MimeMagicRule when setting an empty mask for string patterns. */ -QByteArray MagicData::normalizedMask(const Utils::Internal::MimeMagicRule &rule) +QByteArray MagicData::normalizedMask(const Utils::MimeMagicRule &rule) { // convert mask and see if it is the "default" one (which corresponds to "empty" mask) // see MimeMagicRule constructor QByteArray mask = rule.mask(); - if (rule.type() == Utils::Internal::MimeMagicRule::String) { + if (rule.type() == Utils::MimeMagicRule::String) { QByteArray actualMask = QByteArray::fromHex(QByteArray::fromRawData(mask.constData() + 2, mask.size() - 2)); if (actualMask.count(char(-1)) == actualMask.size()) { @@ -146,16 +146,16 @@ QByteArray MagicData::normalizedMask(const Utils::Internal::MimeMagicRule &rule) return mask; } -Utils::Internal::MimeMagicRule MimeTypeMagicDialog::createRule(QString *errorMessage) const +Utils::MimeMagicRule MimeTypeMagicDialog::createRule(QString *errorMessage) const { - Utils::Internal::MimeMagicRule::Type type = typeValue(ui.typeSelector->currentIndex()); - Utils::Internal::MimeMagicRule rule(type, + Utils::MimeMagicRule::Type type = typeValue(ui.typeSelector->currentIndex()); + Utils::MimeMagicRule rule(type, ui.valueLineEdit->text().toUtf8(), ui.startRangeSpinBox->value(), ui.endRangeSpinBox->value(), ui.maskLineEdit->text().toLatin1(), errorMessage); - if (type == Utils::Internal::MimeMagicRule::Invalid) { + if (type == Utils::MimeMagicRule::Invalid) { if (errorMessage) *errorMessage = tr("Internal error: Type is invalid"); } diff --git a/src/plugins/coreplugin/mimetypemagicdialog.h b/src/plugins/coreplugin/mimetypemagicdialog.h index 9480369e2e..06868ff1d8 100644 --- a/src/plugins/coreplugin/mimetypemagicdialog.h +++ b/src/plugins/coreplugin/mimetypemagicdialog.h @@ -27,7 +27,7 @@ #include "ui_mimetypemagicdialog.h" -#include <utils/mimetypes/mimemagicrule_p.h> +#include <utils/mimeutils.h> namespace Core { namespace Internal { @@ -36,11 +36,11 @@ class MagicData { public: MagicData() - : m_rule(Utils::Internal::MimeMagicRule::String, QByteArray(" "), 0, 0) + : m_rule(Utils::MimeMagicRule::String, QByteArray(" "), 0, 0) { } - MagicData(Utils::Internal::MimeMagicRule rule, int priority) + MagicData(Utils::MimeMagicRule rule, int priority) : m_rule(rule) , m_priority(priority) { @@ -49,9 +49,9 @@ public: bool operator==(const MagicData &other) const; bool operator!=(const MagicData &other) { return !(*this == other); } - static QByteArray normalizedMask(const Utils::Internal::MimeMagicRule &rule); + static QByteArray normalizedMask(const Utils::MimeMagicRule &rule); - Utils::Internal::MimeMagicRule m_rule; + Utils::MimeMagicRule m_rule; int m_priority = 0; }; @@ -68,7 +68,7 @@ private: void setToRecommendedValues(); void applyRecommended(bool checked); void validateAccept(); - Utils::Internal::MimeMagicRule createRule(QString *errorMessage = nullptr) const; + Utils::MimeMagicRule createRule(QString *errorMessage = nullptr) const; Ui::MimeTypeMagicDialog ui; int m_customRangeStart = 0; diff --git a/src/plugins/coreplugin/mimetypesettings.cpp b/src/plugins/coreplugin/mimetypesettings.cpp index d8f3b9ca64..55fb49cb90 100644 --- a/src/plugins/coreplugin/mimetypesettings.cpp +++ b/src/plugins/coreplugin/mimetypesettings.cpp @@ -35,7 +35,7 @@ #include <utils/algorithm.h> #include <utils/headerviewstretcher.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <utils/stringutils.h> @@ -87,7 +87,7 @@ public: bool isValid() const { return !name.isEmpty(); } QString name; QStringList globPatterns; - QMap<int, QList<Utils::Internal::MimeMagicRule> > rules; + QMap<int, QList<Utils::MimeMagicRule> > rules; }; // MimeTypeSettingsModel @@ -346,12 +346,12 @@ void MimeTypeSettingsPrivate::syncData(const QModelIndex ¤t, modifiedType.isValid() ? modifiedType.globPatterns.join(kSemiColon) : currentMimeType.globPatterns().join(kSemiColon)); - QMap<int, QList<Utils::Internal::MimeMagicRule> > rules = + QMap<int, QList<Utils::MimeMagicRule> > rules = modifiedType.isValid() ? modifiedType.rules : Utils::magicRulesForMimeType(currentMimeType); for (auto it = rules.constBegin(); it != rules.constEnd(); ++it) { int priority = it.key(); - foreach (const Utils::Internal::MimeMagicRule &rule, it.value()) { + foreach (const Utils::MimeMagicRule &rule, it.value()) { addMagicHeaderRow(MagicData(rule, priority)); } } @@ -394,7 +394,7 @@ void MimeTypeSettingsPrivate::editMagicHeaderRowData(const int row, const MagicD { auto item = new QTreeWidgetItem; item->setText(0, QString::fromUtf8(data.m_rule.value())); - item->setText(1, QString::fromLatin1(Utils::Internal::MimeMagicRule::typeName(data.m_rule.type()))); + item->setText(1, QString::fromLatin1(Utils::MimeMagicRule::typeName(data.m_rule.type()))); item->setText(2, QString::fromLatin1("%1:%2").arg(data.m_rule.startPos()).arg(data.m_rule.endPos())); item->setText(3, QString::number(data.m_priority)); item->setData(0, Qt::UserRole, QVariant::fromValue(data)); @@ -522,12 +522,12 @@ void MimeTypeSettingsPrivate::writeUserModifiedMimeTypes() mt.globPatterns.join(kSemiColon)); for (auto prioIt = mt.rules.constBegin(); prioIt != mt.rules.constEnd(); ++prioIt) { const QString priorityString = QString::number(prioIt.key()); - foreach (const Utils::Internal::MimeMagicRule &rule, prioIt.value()) { + foreach (const Utils::MimeMagicRule &rule, prioIt.value()) { writer.writeStartElement(QLatin1String(matchTagC)); writer.writeAttribute(QLatin1String(matchValueAttributeC), QString::fromUtf8(rule.value())); writer.writeAttribute(QLatin1String(matchTypeAttributeC), - QString::fromUtf8(Utils::Internal::MimeMagicRule::typeName(rule.type()))); + QString::fromUtf8(Utils::MimeMagicRule::typeName(rule.type()))); writer.writeAttribute(QLatin1String(matchOffsetAttributeC), QString::fromLatin1("%1:%2").arg(rule.startPos()) .arg(rule.endPos())); @@ -585,7 +585,7 @@ MimeTypeSettingsPrivate::UserMimeTypeHash MimeTypeSettingsPrivate::readUserModif int priority = atts.value(QLatin1String(priorityAttributeC)).toString().toInt(); QByteArray mask = atts.value(QLatin1String(matchMaskAttributeC)).toLatin1(); QString errorMessage; - Utils::Internal::MimeMagicRule rule(Utils::Internal::MimeMagicRule::type(typeName), + Utils::MimeMagicRule rule(Utils::MimeMagicRule::type(typeName), value, range.first, range.second, mask, &errorMessage); if (rule.isValid()) { diff --git a/src/plugins/cpaster/cpasterplugin.cpp b/src/plugins/cpaster/cpasterplugin.cpp index 825cacd4a4..3cf987e1ef 100644 --- a/src/plugins/cpaster/cpasterplugin.cpp +++ b/src/plugins/cpaster/cpasterplugin.cpp @@ -43,7 +43,7 @@ #include <utils/algorithm.h> #include <utils/fileutils.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <utils/temporarydirectory.h> diff --git a/src/plugins/cppeditor/cppcompletionassist.cpp b/src/plugins/cppeditor/cppcompletionassist.cpp index ee04a15957..ab7524f0fa 100644 --- a/src/plugins/cppeditor/cppcompletionassist.cpp +++ b/src/plugins/cppeditor/cppcompletionassist.cpp @@ -42,9 +42,9 @@ #include <texteditor/texteditorsettings.h> #include <texteditor/completionsettings.h> -#include <utils/textutils.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> +#include <utils/textutils.h> #include <cplusplus/BackwardsScanner.h> #include <cplusplus/CppRewriter.h> diff --git a/src/plugins/cppeditor/cppeditordocument.cpp b/src/plugins/cppeditor/cppeditordocument.cpp index a79e26802d..29e7d90257 100644 --- a/src/plugins/cppeditor/cppeditordocument.cpp +++ b/src/plugins/cppeditor/cppeditordocument.cpp @@ -49,7 +49,7 @@ #include <utils/executeondestruction.h> #include <utils/infobar.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <utils/runextensions.h> diff --git a/src/plugins/cppeditor/cppeditorplugin.cpp b/src/plugins/cppeditor/cppeditorplugin.cpp index 0bc90d1f1f..a6baee1fef 100644 --- a/src/plugins/cppeditor/cppeditorplugin.cpp +++ b/src/plugins/cppeditor/cppeditorplugin.cpp @@ -107,7 +107,7 @@ #include <utils/fileutils.h> #include <utils/hostosinfo.h> #include <utils/macroexpander.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <utils/theme/theme.h> diff --git a/src/plugins/cppeditor/cppfilesettingspage.cpp b/src/plugins/cppeditor/cppfilesettingspage.cpp index d6abddffc4..3521211b11 100644 --- a/src/plugins/cppeditor/cppfilesettingspage.cpp +++ b/src/plugins/cppeditor/cppfilesettingspage.cpp @@ -37,7 +37,7 @@ #include <utils/environment.h> #include <utils/fileutils.h> #include <utils/hostosinfo.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/stringutils.h> #include <QCoreApplication> diff --git a/src/plugins/cppeditor/cppprojectfile.cpp b/src/plugins/cppeditor/cppprojectfile.cpp index 58196521ca..c565df9bb4 100644 --- a/src/plugins/cppeditor/cppprojectfile.cpp +++ b/src/plugins/cppeditor/cppprojectfile.cpp @@ -28,7 +28,7 @@ #include "cppeditorconstants.h" #include <coreplugin/icore.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <QDebug> diff --git a/src/plugins/cppeditor/resourcepreviewhoverhandler.cpp b/src/plugins/cppeditor/resourcepreviewhoverhandler.cpp index 8ebb0339a8..238464619a 100644 --- a/src/plugins/cppeditor/resourcepreviewhoverhandler.cpp +++ b/src/plugins/cppeditor/resourcepreviewhoverhandler.cpp @@ -32,7 +32,7 @@ #include <texteditor/texteditor.h> #include <utils/executeondestruction.h> #include <utils/fileutils.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <utils/tooltip/tooltip.h> diff --git a/src/plugins/debugger/disassembleragent.cpp b/src/plugins/debugger/disassembleragent.cpp index 1b313efaea..d56bac0c9d 100644 --- a/src/plugins/debugger/disassembleragent.cpp +++ b/src/plugins/debugger/disassembleragent.cpp @@ -43,7 +43,7 @@ #include <texteditor/texteditor.h> #include <utils/aspects.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <QTextBlock> diff --git a/src/plugins/designer/cpp/formclasswizardpage.cpp b/src/plugins/designer/cpp/formclasswizardpage.cpp index 6f7e244eb5..52bdfe7ccb 100644 --- a/src/plugins/designer/cpp/formclasswizardpage.cpp +++ b/src/plugins/designer/cpp/formclasswizardpage.cpp @@ -31,7 +31,7 @@ #include <coreplugin/icore.h> #include <cppeditor/cppeditorconstants.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <QDebug> #include <QMessageBox> diff --git a/src/plugins/designer/formeditorplugin.cpp b/src/plugins/designer/formeditorplugin.cpp index eafddea3e3..ebe2f7cad3 100644 --- a/src/plugins/designer/formeditorplugin.cpp +++ b/src/plugins/designer/formeditorplugin.cpp @@ -39,14 +39,14 @@ #include <coreplugin/actionmanager/actioncontainer.h> #include <coreplugin/actionmanager/actionmanager.h> #include <coreplugin/actionmanager/command.h> +#include <coreplugin/coreconstants.h> +#include <coreplugin/designmode.h> #include <coreplugin/editormanager/editormanager.h> #include <coreplugin/icore.h> #include <coreplugin/idocument.h> -#include <coreplugin/coreconstants.h> -#include <coreplugin/designmode.h> #include <cppeditor/cppeditorconstants.h> #include <projectexplorer/jsonwizard/jsonwizardfactory.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <QAction> #include <QCoreApplication> diff --git a/src/plugins/designer/qtcreatorintegration.cpp b/src/plugins/designer/qtcreatorintegration.cpp index 4559c1df99..00df6f19b8 100644 --- a/src/plugins/designer/qtcreatorintegration.cpp +++ b/src/plugins/designer/qtcreatorintegration.cpp @@ -46,7 +46,7 @@ #include <projectexplorer/projecttree.h> #include <projectexplorer/session.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <utils/stringutils.h> diff --git a/src/plugins/genericprojectmanager/genericprojectwizard.cpp b/src/plugins/genericprojectmanager/genericprojectwizard.cpp index af9b4343d4..23020b9776 100644 --- a/src/plugins/genericprojectmanager/genericprojectwizard.cpp +++ b/src/plugins/genericprojectmanager/genericprojectwizard.cpp @@ -36,7 +36,7 @@ #include <utils/algorithm.h> #include <utils/fileutils.h> #include <utils/filewizardpage.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <QApplication> #include <QDebug> diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index 3a51e2c043..febceadd34 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -47,7 +47,7 @@ #include <utils/commandline.h> #include <utils/fileutils.h> #include <utils/hostosinfo.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <utils/qtcprocess.h> #include <utils/stringutils.h> diff --git a/src/plugins/imageviewer/imageviewerfile.cpp b/src/plugins/imageviewer/imageviewerfile.cpp index 3fe26890d0..0fb4e22a10 100644 --- a/src/plugins/imageviewer/imageviewerfile.cpp +++ b/src/plugins/imageviewer/imageviewerfile.cpp @@ -30,7 +30,7 @@ #include <coreplugin/editormanager/documentmodel.h> #include <utils/fileutils.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <QFileInfo> diff --git a/src/plugins/languageclient/client.cpp b/src/plugins/languageclient/client.cpp index f4d8974f20..a8ec473fc3 100644 --- a/src/plugins/languageclient/client.cpp +++ b/src/plugins/languageclient/client.cpp @@ -57,7 +57,7 @@ #include <texteditor/texteditoractionhandler.h> #include <texteditor/texteditorsettings.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcprocess.h> diff --git a/src/plugins/languageclient/languageclientformatter.cpp b/src/plugins/languageclient/languageclientformatter.cpp index 6dcd1a06e4..cfb4fd4fac 100644 --- a/src/plugins/languageclient/languageclientformatter.cpp +++ b/src/plugins/languageclient/languageclientformatter.cpp @@ -30,7 +30,7 @@ #include <texteditor/tabsettings.h> #include <texteditor/textdocument.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <QTextDocument> diff --git a/src/plugins/languageclient/languageclienthoverhandler.cpp b/src/plugins/languageclient/languageclienthoverhandler.cpp index 147abd4566..6cb306fe43 100644 --- a/src/plugins/languageclient/languageclienthoverhandler.cpp +++ b/src/plugins/languageclient/languageclienthoverhandler.cpp @@ -29,7 +29,7 @@ #include <texteditor/textdocument.h> #include <texteditor/texteditor.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <utils/tooltip/tooltip.h> diff --git a/src/plugins/languageclient/languageclientmanager.cpp b/src/plugins/languageclient/languageclientmanager.cpp index 992138f06a..762bac6e49 100644 --- a/src/plugins/languageclient/languageclientmanager.cpp +++ b/src/plugins/languageclient/languageclientmanager.cpp @@ -42,7 +42,6 @@ #include <texteditor/textmark.h> #include <utils/algorithm.h> #include <utils/executeondestruction.h> -#include <utils/mimetypes/mimedatabase.h> #include <utils/theme/theme.h> #include <utils/utilsicons.h> diff --git a/src/plugins/languageclient/languageclientoutline.cpp b/src/plugins/languageclient/languageclientoutline.cpp index 3881e5d722..f4ebb0ecf0 100644 --- a/src/plugins/languageclient/languageclientoutline.cpp +++ b/src/plugins/languageclient/languageclientoutline.cpp @@ -28,13 +28,12 @@ #include "languageclientmanager.h" #include "languageclientutils.h" -#include <coreplugin/find/itemviewfind.h> #include <coreplugin/editormanager/ieditor.h> +#include <coreplugin/find/itemviewfind.h> #include <languageserverprotocol/languagefeatures.h> #include <texteditor/textdocument.h> #include <texteditor/texteditor.h> #include <utils/itemviews.h> -#include <utils/mimetypes/mimedatabase.h> #include <utils/treemodel.h> #include <utils/treeviewcombobox.h> #include <utils/utilsicons.h> diff --git a/src/plugins/languageclient/languageclientsettings.cpp b/src/plugins/languageclient/languageclientsettings.cpp index 9a43eca7f9..09fa2d7a1c 100644 --- a/src/plugins/languageclient/languageclientsettings.cpp +++ b/src/plugins/languageclient/languageclientsettings.cpp @@ -41,12 +41,11 @@ #include <texteditor/textmark.h> #include <utils/algorithm.h> -#include <utils/utilsicons.h> #include <utils/delegates.h> #include <utils/fancylineedit.h> -#include <utils/mimetypes/mimedatabase.h> #include <utils/jsontreeitem.h> #include <utils/stringutils.h> +#include <utils/utilsicons.h> #include <utils/variablechooser.h> #include <QBoxLayout> diff --git a/src/plugins/languageclient/languageclientsymbolsupport.cpp b/src/plugins/languageclient/languageclientsymbolsupport.cpp index 10e2d23019..447577d6a8 100644 --- a/src/plugins/languageclient/languageclientsymbolsupport.cpp +++ b/src/plugins/languageclient/languageclientsymbolsupport.cpp @@ -31,7 +31,7 @@ #include <coreplugin/editormanager/editormanager.h> #include <coreplugin/find/searchresultwindow.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <QFile> diff --git a/src/plugins/languageclient/semantichighlightsupport.cpp b/src/plugins/languageclient/semantichighlightsupport.cpp index 41e88e9228..031794e8ec 100644 --- a/src/plugins/languageclient/semantichighlightsupport.cpp +++ b/src/plugins/languageclient/semantichighlightsupport.cpp @@ -32,7 +32,7 @@ #include <texteditor/syntaxhighlighter.h> #include <texteditor/texteditor.h> #include <texteditor/texteditorsettings.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <QTextDocument> diff --git a/src/plugins/modeleditor/modelindexer.cpp b/src/plugins/modeleditor/modelindexer.cpp index d05cf9ecb3..622e7204cb 100644 --- a/src/plugins/modeleditor/modelindexer.cpp +++ b/src/plugins/modeleditor/modelindexer.cpp @@ -43,10 +43,9 @@ #include <projectexplorer/session.h> #include <projectexplorer/projectnodes.h> -#include <utils/mimetypes/mimetype.h> -#include <utils/mimetypes/mimedatabase.h> -#include <utils/qtcassert.h> +#include <utils/mimeutils.h> #include <utils/porting.h> +#include <utils/qtcassert.h> #include <QQueue> #include <QMutex> diff --git a/src/plugins/nim/project/nimbuildconfiguration.cpp b/src/plugins/nim/project/nimbuildconfiguration.cpp index e27b1374f2..48d91b40a4 100644 --- a/src/plugins/nim/project/nimbuildconfiguration.cpp +++ b/src/plugins/nim/project/nimbuildconfiguration.cpp @@ -39,7 +39,6 @@ #include <projectexplorer/target.h> #include <utils/aspects.h> -#include <utils/mimetypes/mimedatabase.h> #include <utils/qtcassert.h> using namespace ProjectExplorer; diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index f5aec089ce..c0907d6d73 100644 --- a/src/plugins/projectexplorer/buildconfiguration.cpp +++ b/src/plugins/projectexplorer/buildconfiguration.cpp @@ -49,10 +49,9 @@ #include <utils/algorithm.h> #include <utils/detailswidget.h> -#include <utils/macroexpander.h> -#include <utils/mimetypes/mimedatabase.h> -#include <utils/mimetypes/mimetype.h> #include <utils/layoutbuilder.h> +#include <utils/macroexpander.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <utils/variablechooser.h> diff --git a/src/plugins/projectexplorer/customwizard/customwizardparameters.cpp b/src/plugins/projectexplorer/customwizard/customwizardparameters.cpp index 5edaf05919..93b38e0584 100644 --- a/src/plugins/projectexplorer/customwizard/customwizardparameters.cpp +++ b/src/plugins/projectexplorer/customwizard/customwizardparameters.cpp @@ -30,7 +30,7 @@ #include <cppeditor/cppeditorconstants.h> #include <utils/macroexpander.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <utils/stringutils.h> #include <utils/templateengine.h> diff --git a/src/plugins/projectexplorer/jsonwizard/jsonkitspage.cpp b/src/plugins/projectexplorer/jsonwizard/jsonkitspage.cpp index 75c2daf716..8a34a1bb22 100644 --- a/src/plugins/projectexplorer/jsonwizard/jsonkitspage.cpp +++ b/src/plugins/projectexplorer/jsonwizard/jsonkitspage.cpp @@ -35,7 +35,7 @@ #include <utils/algorithm.h> #include <utils/macroexpander.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> using namespace Core; diff --git a/src/plugins/projectexplorer/jsonwizard/jsonwizardgeneratorfactory.cpp b/src/plugins/projectexplorer/jsonwizard/jsonwizardgeneratorfactory.cpp index a49b01fd48..999ba78a16 100644 --- a/src/plugins/projectexplorer/jsonwizard/jsonwizardgeneratorfactory.cpp +++ b/src/plugins/projectexplorer/jsonwizard/jsonwizardgeneratorfactory.cpp @@ -42,9 +42,9 @@ #include <texteditor/textindenter.h> #include <utils/algorithm.h> -#include <utils/mimetypes/mimedatabase.h> -#include <utils/stringutils.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> +#include <utils/stringutils.h> #include <QCoreApplication> #include <QDebug> diff --git a/src/plugins/projectexplorer/jsonwizard/jsonwizardscannergenerator.cpp b/src/plugins/projectexplorer/jsonwizard/jsonwizardscannergenerator.cpp index 51ffd37b91..6fa6e42298 100644 --- a/src/plugins/projectexplorer/jsonwizard/jsonwizardscannergenerator.cpp +++ b/src/plugins/projectexplorer/jsonwizard/jsonwizardscannergenerator.cpp @@ -34,9 +34,9 @@ #include <utils/algorithm.h> #include <utils/fileutils.h> -#include <utils/qtcassert.h> #include <utils/macroexpander.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> +#include <utils/qtcassert.h> #include <QCoreApplication> #include <QDir> diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 6bdbd0b6d9..863630f4d9 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -139,7 +139,7 @@ #include <utils/algorithm.h> #include <utils/fileutils.h> #include <utils/macroexpander.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/parameteraction.h> #include <utils/processhandle.h> #include <utils/proxyaction.h> diff --git a/src/plugins/projectexplorer/projectfilewizardextension.cpp b/src/plugins/projectexplorer/projectfilewizardextension.cpp index 52b20b3ad0..fc3fb6ec5f 100644 --- a/src/plugins/projectexplorer/projectfilewizardextension.cpp +++ b/src/plugins/projectexplorer/projectfilewizardextension.cpp @@ -44,7 +44,7 @@ #include <texteditor/tabsettings.h> #include <texteditor/texteditorsettings.h> #include <texteditor/textindenter.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <QPointer> #include <QDebug> diff --git a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp index 7b6866f92a..3915a733ec 100644 --- a/src/plugins/projectexplorer/projectnodes.cpp +++ b/src/plugins/projectexplorer/projectnodes.cpp @@ -39,8 +39,7 @@ #include <utils/fileutils.h> #include <utils/hostosinfo.h> -#include <utils/mimetypes/mimedatabase.h> -#include <utils/mimetypes/mimetype.h> +#include <utils/mimeutils.h> #include <utils/pointeralgorithm.h> #include <utils/qtcassert.h> #include <utils/stringutils.h> diff --git a/src/plugins/projectexplorer/simpleprojectwizard.cpp b/src/plugins/projectexplorer/simpleprojectwizard.cpp index 82a30658aa..6d7b2e2884 100644 --- a/src/plugins/projectexplorer/simpleprojectwizard.cpp +++ b/src/plugins/projectexplorer/simpleprojectwizard.cpp @@ -42,7 +42,7 @@ #include <utils/algorithm.h> #include <utils/fileutils.h> #include <utils/filewizardpage.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/wizard.h> #include <QApplication> diff --git a/src/plugins/projectexplorer/treescanner.h b/src/plugins/projectexplorer/treescanner.h index 2699244892..ff73e8e563 100644 --- a/src/plugins/projectexplorer/treescanner.h +++ b/src/plugins/projectexplorer/treescanner.h @@ -28,8 +28,8 @@ #include "projectexplorer_export.h" #include "projectnodes.h" -#include <utils/mimetypes/mimedatabase.h> #include <utils/fileutils.h> +#include <utils/mimeutils.h> #include <QObject> #include <QFuture> diff --git a/src/plugins/python/pythonutils.cpp b/src/plugins/python/pythonutils.cpp index eb1247dd72..aff91c7098 100644 --- a/src/plugins/python/pythonutils.cpp +++ b/src/plugins/python/pythonutils.cpp @@ -36,7 +36,7 @@ #include <projectexplorer/target.h> #include <utils/algorithm.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcprocess.h> using namespace Utils; diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp index be80dfcb7f..2e242fa126 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp +++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp @@ -46,7 +46,6 @@ #include <qtsupport/qtkitinformation.h> -#include <utils/mimetypes/mimedatabase.h> #include <utils/qtcassert.h> #include <utils/qtcprocess.h> diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp index 018b4c339f..d3683127ad 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp @@ -56,10 +56,8 @@ #include <qtsupport/qtkitinformation.h> #include <qtsupport/qtversionmanager.h> -#include <utils/mimetypes/mimedatabase.h> #include <utils/qtcassert.h> #include <utils/qtcprocess.h> -#include <utils/qtcassert.h> #include <QDebug> #include <QInputDialog> diff --git a/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp b/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp index 0931743f9b..de37451d5d 100644 --- a/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp @@ -46,13 +46,13 @@ #include <texteditor/tabsettings.h> #include <texteditor/texteditorsettings.h> +#include <utils/QtConcurrentTools> #include <utils/algorithm.h> #include <utils/filesystemwatcher.h> +#include <utils/mimeutils.h> #include <utils/qtcprocess.h> -#include <utils/mimetypes/mimedatabase.h> #include <utils/stringutils.h> #include <utils/temporarydirectory.h> -#include <utils/QtConcurrentTools> #include <QLoggingCategory> #include <QMessageBox> diff --git a/src/plugins/qmljstools/qmljsmodelmanager.cpp b/src/plugins/qmljstools/qmljsmodelmanager.cpp index 5d60d88b97..dffea44be2 100644 --- a/src/plugins/qmljstools/qmljsmodelmanager.cpp +++ b/src/plugins/qmljstools/qmljsmodelmanager.cpp @@ -55,7 +55,7 @@ #include <utils/algorithm.h> #include <utils/hostosinfo.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <QDir> #include <QFile> diff --git a/src/plugins/qmlprojectmanager/qmlmainfileaspect.cpp b/src/plugins/qmlprojectmanager/qmlmainfileaspect.cpp index 2667fcb66b..602a880fad 100644 --- a/src/plugins/qmlprojectmanager/qmlmainfileaspect.cpp +++ b/src/plugins/qmlprojectmanager/qmlmainfileaspect.cpp @@ -37,7 +37,7 @@ #include <projectexplorer/projectexplorer.h> #include <projectexplorer/target.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <QComboBox> diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp index f4363afe93..0c2a8f1530 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp @@ -49,7 +49,6 @@ #include <utils/aspects.h> #include <utils/environment.h> #include <utils/fileutils.h> -#include <utils/mimetypes/mimedatabase.h> #include <utils/qtcprocess.h> #include <utils/winutils.h> diff --git a/src/plugins/resourceeditor/resourcenode.cpp b/src/plugins/resourceeditor/resourcenode.cpp index 75f35da4d8..30070e7ec7 100644 --- a/src/plugins/resourceeditor/resourcenode.cpp +++ b/src/plugins/resourceeditor/resourcenode.cpp @@ -34,7 +34,7 @@ #include <utils/algorithm.h> #include <utils/fileutils.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <utils/threadutils.h> diff --git a/src/plugins/studiowelcome/studiowelcomeplugin.cpp b/src/plugins/studiowelcome/studiowelcomeplugin.cpp index 86dcc2314e..5e54868411 100644 --- a/src/plugins/studiowelcome/studiowelcomeplugin.cpp +++ b/src/plugins/studiowelcome/studiowelcomeplugin.cpp @@ -51,10 +51,10 @@ #include <qmldesigner/qmldesignerplugin.h> #include <utils/checkablemessagebox.h> +#include <utils/dynamiclicensecheck.h> #include <utils/hostosinfo.h> #include <utils/icon.h> #include <utils/infobar.h> -#include <utils/mimetypes/mimedatabase.h> #include <utils/stringutils.h> #include <utils/theme/theme.h> diff --git a/src/plugins/texteditor/highlighter.cpp b/src/plugins/texteditor/highlighter.cpp index 5a7cb01705..47204ab890 100644 --- a/src/plugins/texteditor/highlighter.cpp +++ b/src/plugins/texteditor/highlighter.cpp @@ -34,7 +34,7 @@ #include <coreplugin/editormanager/documentmodel.h> #include <coreplugin/icore.h> #include <coreplugin/messagemanager.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/qtcassert.h> #include <utils/stylehelper.h> diff --git a/src/plugins/texteditor/textdocument.cpp b/src/plugins/texteditor/textdocument.cpp index 696e4caf0a..e31f9044fb 100644 --- a/src/plugins/texteditor/textdocument.cpp +++ b/src/plugins/texteditor/textdocument.cpp @@ -27,21 +27,21 @@ #include "extraencodingsettings.h" #include "fontsettings.h" -#include "textindenter.h" #include "storagesettings.h" #include "syntaxhighlighter.h" #include "tabsettings.h" #include "textdocumentlayout.h" #include "texteditor.h" #include "texteditorconstants.h" +#include "textindenter.h" #include "typingsettings.h" #include <coreplugin/diffservice.h> -#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/documentmodel.h> +#include <coreplugin/editormanager/editormanager.h> #include <extensionsystem/pluginmanager.h> -#include <utils/textutils.h> #include <utils/guard.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> +#include <utils/textutils.h> #include <QAction> #include <QApplication> diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index 2560f58e93..890e8f5fcb 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -79,7 +79,7 @@ #include <utils/fixedsizeclicklabel.h> #include <utils/hostosinfo.h> #include <utils/infobar.h> -#include <utils/mimetypes/mimedatabase.h> +#include <utils/mimeutils.h> #include <utils/multitextcursor.h> #include <utils/qtcassert.h> #include <utils/styledbar.h> diff --git a/tests/auto/languageserverprotocol/tst_languageserverprotocol.cpp b/tests/auto/languageserverprotocol/tst_languageserverprotocol.cpp index 20fb60cd53..406718ac27 100644 --- a/tests/auto/languageserverprotocol/tst_languageserverprotocol.cpp +++ b/tests/auto/languageserverprotocol/tst_languageserverprotocol.cpp @@ -26,8 +26,6 @@ #include <languageserverprotocol/basemessage.h> #include <languageserverprotocol/jsonobject.h> #include <languageserverprotocol/jsonrpcmessages.h> -#include <utils/mimetypes/mimetype.h> -#include <utils/mimetypes/mimedatabase.h> #include <QTextCodec> #include <QtTest> |