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>
This commit is contained in:
Eike Ziller
2022-02-23 17:11:20 +01:00
parent 343a567e07
commit f562ebf239
92 changed files with 559 additions and 442 deletions

View File

@@ -53,7 +53,7 @@
#include <utils/executeondestruction.h> #include <utils/executeondestruction.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/qtcprocess.h> #include <utils/qtcprocess.h>
#include <utils/qtcsettings.h> #include <utils/qtcsettings.h>

View File

@@ -27,8 +27,6 @@
#include "jsonrpcmessages.h" #include "jsonrpcmessages.h"
#include <utils/mimetypes/mimedatabase.h>
#include <QBuffer> #include <QBuffer>
#include <QTextCodec> #include <QTextCodec>

View File

@@ -27,8 +27,6 @@
#include "languageserverprotocol_global.h" #include "languageserverprotocol_global.h"
#include <utils/mimetypes/mimetype.h>
#include <QByteArray> #include <QByteArray>
#include <QCoreApplication> #include <QCoreApplication>
#include <QLoggingCategory> #include <QLoggingCategory>

View File

@@ -28,7 +28,6 @@
#include "basemessage.h" #include "basemessage.h"
#include "lsputils.h" #include "lsputils.h"
#include <utils/mimetypes/mimetype.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/variant.h> #include <utils/variant.h>

View File

@@ -28,7 +28,6 @@
#include "lsputils.h" #include "lsputils.h"
#include "initializemessages.h" #include "initializemessages.h"
#include <utils/mimetypes/mimedatabase.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QCoreApplication> #include <QCoreApplication>

View File

@@ -26,7 +26,6 @@
#include "lsptypes.h" #include "lsptypes.h"
#include "lsputils.h" #include "lsputils.h"
#include <utils/mimetypes/mimedatabase.h>
#include <utils/textutils.h> #include <utils/textutils.h>
#include <QFile> #include <QFile>

View File

@@ -31,6 +31,7 @@
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/link.h> #include <utils/link.h>
#include <utils/mimeutils.h>
#include <utils/optional.h> #include <utils/optional.h>
#include <utils/textutils.h> #include <utils/textutils.h>
#include <utils/variant.h> #include <utils/variant.h>

View File

@@ -25,8 +25,6 @@
#include "lsputils.h" #include "lsputils.h"
#include <utils/mimetypes/mimedatabase.h>
#include <QHash> #include <QHash>
#include <QLoggingCategory> #include <QLoggingCategory>
#include <QVector> #include <QVector>

View File

@@ -28,7 +28,6 @@
#include "languageserverprotocol_global.h" #include "languageserverprotocol_global.h"
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/mimetypes/mimetype.h>
#include <utils/optional.h> #include <utils/optional.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/variant.h> #include <utils/variant.h>

View File

@@ -86,13 +86,7 @@ add_qtc_library(Utils
listutils.h listutils.h
macroexpander.cpp macroexpander.h macroexpander.cpp macroexpander.h
mapreduce.h mapreduce.h
mimetypes/mimedatabase.cpp mimetypes/mimedatabase.h mimetypes/mimedatabase_p.h mimeutils.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
multitextcursor.cpp multitextcursor.h multitextcursor.cpp multitextcursor.h
namevaluedictionary.cpp namevaluedictionary.h namevaluedictionary.cpp namevaluedictionary.h
namevaluedictionary.cpp namevaluedictionary.h namevaluedictionary.cpp namevaluedictionary.h
@@ -192,6 +186,37 @@ add_qtc_library(Utils
wizardpage.cpp wizardpage.h 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 extend_qtc_library(Utils CONDITION WIN32
SOURCES SOURCES
touchbar/touchbar.cpp touchbar/touchbar.cpp

View File

@@ -28,7 +28,7 @@
#include "algorithm.h" #include "algorithm.h"
#include "checkablemessagebox.h" #include "checkablemessagebox.h"
#include "environment.h" #include "environment.h"
#include "mimetypes/mimedatabase.h" #include "mimeutils.h"
#include "qtcassert.h" #include "qtcassert.h"
#include "qtcprocess.h" #include "qtcprocess.h"

View File

@@ -328,19 +328,6 @@ MimeDatabase::~MimeDatabase()
d = nullptr; 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; \fn MimeType MimeDatabase::mimeTypeForName(const QString &nameOrAlias) const;
Returns a MIME type for \a nameOrAlias or an invalid one if none found. 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 \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();
}

View File

@@ -40,49 +40,54 @@
#pragma once #pragma once
#include "mimetype.h" #include "mimetype.h"
#include "mimemagicrule_p.h"
#include <utils/utils_global.h>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QFileInfo; class QFileInfo;
class QIODevice;
class QUrl;
QT_END_NAMESPACE QT_END_NAMESPACE
namespace Utils { namespace Utils {
class FilePath; class MimeDatabase
{
Q_DISABLE_COPY(MimeDatabase)
// Wrapped QMimeDataBase functions public:
QTCREATOR_UTILS_EXPORT MimeType mimeTypeForName(const QString &nameOrAlias); MimeDatabase();
~MimeDatabase();
enum class MimeMatchMode { MimeType mimeTypeForName(const QString &nameOrAlias) const;
MatchDefault = 0x0,
MatchExtension = 0x1, enum MatchMode { MatchDefault = 0x0, MatchExtension = 0x1, MatchContent = 0x2 };
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;
}; };
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<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
} // Utils } // Utils

View File

@@ -62,9 +62,7 @@
#include <QtCore/qhash.h> #include <QtCore/qhash.h>
#include <QtCore/qmutex.h> #include <QtCore/qmutex.h>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QFileInfo;
class QIODevice; class QIODevice;
class QUrl;
QT_END_NAMESPACE QT_END_NAMESPACE
#include "mimetype.h" #include "mimetype.h"
@@ -108,50 +106,5 @@ public:
int m_startupPhase = 0; 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 } // Internal
} // Utils } // Utils

View File

@@ -62,8 +62,8 @@ namespace Utils {
class MimeType; class MimeType;
namespace Internal { namespace Internal {
class MimeMagicRulePrivate; class MimeMagicRulePrivate;
}
class QTCREATOR_UTILS_EXPORT MimeMagicRule 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); static bool matchSubstring(const char *dataPtr, int dataSize, int rangeStart, int rangeLength, int valueLength, const char *valueData, const char *mask);
private: private:
const QScopedPointer<MimeMagicRulePrivate> d; const QScopedPointer<Internal::MimeMagicRulePrivate> d;
}; };
} // Internal
} // Utils } // Utils
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
Q_DECLARE_TYPEINFO(Utils::Internal::MimeMagicRule, Q_MOVABLE_TYPE); Q_DECLARE_TYPEINFO(Utils::MimeMagicRule, Q_MOVABLE_TYPE);
QT_END_NAMESPACE QT_END_NAMESPACE

View File

@@ -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();
}

View File

@@ -46,8 +46,6 @@
#include "mimeprovider_p.h" #include "mimeprovider_p.h"
#include "mimetype_p.h" #include "mimetype_p.h"
#include "filepath.h"
#include <QtCore/QFile> #include <QtCore/QFile>
#include <QtCore/QFileInfo> #include <QtCore/QFileInfo>
#include <QtCore/QStandardPaths> #include <QtCore/QStandardPaths>
@@ -829,94 +827,4 @@ QList<MimeType> MimeDatabase::allMimeTypes() const
\value MatchContent The file content is used to look for a match \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 } // namespace Utils

View File

@@ -57,45 +57,9 @@ QT_END_NAMESPACE
namespace Utils { 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 MimeDatabasePrivate;
class QTCREATOR_UTILS_EXPORT MimeDatabase
class MimeDatabase
{ {
Q_DISABLE_COPY(MimeDatabase) Q_DISABLE_COPY(MimeDatabase)

View File

@@ -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

View File

@@ -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

View File

@@ -5,7 +5,7 @@ Project {
name: "Utils" name: "Utils"
QtcLibrary { QtcLibrary {
cpp.includePaths: base.concat("mimetypes", ".")
cpp.defines: base.concat([ cpp.defines: base.concat([
"UTILS_LIBRARY" "UTILS_LIBRARY"
]) ])
@@ -179,6 +179,7 @@ Project {
"macroexpander.cpp", "macroexpander.cpp",
"macroexpander.h", "macroexpander.h",
"mapreduce.h", "mapreduce.h",
"mimeutils.h",
"multitextcursor.cpp", "multitextcursor.cpp",
"multitextcursor.h", "multitextcursor.h",
"namevaluedictionary.cpp", "namevaluedictionary.cpp",
@@ -404,6 +405,7 @@ Project {
"mimetype_p.h", "mimetype_p.h",
"mimetypeparser.cpp", "mimetypeparser.cpp",
"mimetypeparser_p.h", "mimetypeparser_p.h",
"mimeutils.cpp"
] ]
} }
@@ -430,6 +432,7 @@ Project {
Export { Export {
Depends { name: "Qt"; submodules: ["concurrent", "widgets" ] } Depends { name: "Qt"; submodules: ["concurrent", "widgets" ] }
cpp.includePaths: base.concat("mimetypes")
} }
} }
} }

View File

@@ -33,7 +33,7 @@
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/genericconstants.h> #include <utils/genericconstants.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <QFile> #include <QFile>
#include <QFileInfo> #include <QFileInfo>

View File

@@ -51,7 +51,7 @@
#include <texteditor/texteditorconstants.h> #include <texteditor/texteditorconstants.h>
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/qtcprocess.h> #include <utils/qtcprocess.h>
#include <utils/runextensions.h> #include <utils/runextensions.h>

View File

@@ -30,7 +30,7 @@
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/genericconstants.h> #include <utils/genericconstants.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
namespace Beautifier { namespace Beautifier {
namespace Internal { namespace Internal {

View File

@@ -25,7 +25,7 @@
#pragma once #pragma once
#include <utils/mimetypes/mimetype.h> #include <utils/mimeutils.h>
#include <QList> #include <QList>

View File

@@ -50,7 +50,7 @@
#include <clangsupport/filecontainer.h> #include <clangsupport/filecontainer.h>
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/optional.h> #include <utils/optional.h>
#include <utils/porting.h> #include <utils/porting.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>

View File

@@ -38,8 +38,7 @@
#include "clangtoolsunittests.h" #include "clangtoolsunittests.h"
#endif #endif
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/mimetypes/mimetype.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <coreplugin/actionmanager/actioncontainer.h> #include <coreplugin/actionmanager/actioncontainer.h>

View File

@@ -59,7 +59,7 @@
#include <utils/checkablemessagebox.h> #include <utils/checkablemessagebox.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/macroexpander.h> #include <utils/macroexpander.h>
#include <utils/mimetypes/mimetype.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/qtcprocess.h> #include <utils/qtcprocess.h>
#include <utils/runextensions.h> #include <utils/runextensions.h>

View File

@@ -31,7 +31,7 @@
#include <cppeditor/cppeditorconstants.h> #include <cppeditor/cppeditorconstants.h>
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/qtcprocess.h> #include <utils/qtcprocess.h>
#include <utils/utilsicons.h> #include <utils/utilsicons.h>

View File

@@ -28,7 +28,7 @@
#include <coreplugin/progressmanager/progressmanager.h> #include <coreplugin/progressmanager/progressmanager.h>
#include <projectexplorer/task.h> #include <projectexplorer/task.h>
#include <projectexplorer/treescanner.h> #include <projectexplorer/treescanner.h>
#include <utils/mimetypes/mimetype.h> #include <utils/mimeutils.h>
#include <utils/runextensions.h> #include <utils/runextensions.h>
#include <QCryptographicHash> #include <QCryptographicHash>

View File

@@ -26,14 +26,14 @@
#include "basefilewizardfactory.h" #include "basefilewizardfactory.h"
#include "basefilewizard.h" #include "basefilewizard.h"
#include "dialogs/promptoverwritedialog.h"
#include "editormanager/editormanager.h"
#include "icontext.h" #include "icontext.h"
#include "icore.h" #include "icore.h"
#include "ifilewizardextension.h" #include "ifilewizardextension.h"
#include "editormanager/editormanager.h"
#include "dialogs/promptoverwritedialog.h"
#include <extensionsystem/pluginmanager.h> #include <extensionsystem/pluginmanager.h>
#include <utils/filewizardpage.h> #include <utils/filewizardpage.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/stringutils.h> #include <utils/stringutils.h>
#include <utils/wizard.h> #include <utils/wizard.h>

View File

@@ -28,7 +28,7 @@
#include <app/app_version.h> #include <app/app_version.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QDir> #include <QDir>

View File

@@ -53,7 +53,7 @@
#include <utils/commandline.h> #include <utils/commandline.h>
#include <utils/infobar.h> #include <utils/infobar.h>
#include <utils/macroexpander.h> #include <utils/macroexpander.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/pathchooser.h> #include <utils/pathchooser.h>
#include <utils/savefile.h> #include <utils/savefile.h>
#include <utils/stringutils.h> #include <utils/stringutils.h>

View File

@@ -29,7 +29,7 @@
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/editormanager/ieditorfactory.h> #include <coreplugin/editormanager/ieditorfactory.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <QDateTime> #include <QDateTime>
#include <QDebug> #include <QDebug>

View File

@@ -50,7 +50,7 @@
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/globalfilechangeblocker.h> #include <utils/globalfilechangeblocker.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/optional.h> #include <utils/optional.h>
#include <utils/pathchooser.h> #include <utils/pathchooser.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>

View File

@@ -72,8 +72,7 @@
#include <utils/infobar.h> #include <utils/infobar.h>
#include <utils/link.h> #include <utils/link.h>
#include <utils/macroexpander.h> #include <utils/macroexpander.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/mimetypes/mimetype.h>
#include <utils/overridecursor.h> #include <utils/overridecursor.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/stringutils.h> #include <utils/stringutils.h>

View File

@@ -28,7 +28,7 @@
#include "editormanager.h" #include "editormanager.h"
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QFileInfo> #include <QFileInfo>

View File

@@ -28,14 +28,16 @@
#include <coreplugin/core_global.h> #include <coreplugin/core_global.h>
#include <utils/id.h> #include <utils/id.h>
#include <utils/mimetypes/mimetype.h>
#include <QObject> #include <QObject>
#include <QStringList> #include <QStringList>
#include <functional> #include <functional>
namespace Utils { class FilePath; } namespace Utils {
class FilePath;
class MimeType;
}
namespace Core { namespace Core {

View File

@@ -25,8 +25,7 @@
#pragma once #pragma once
#include <utils/mimetypes/mimetype.h> #include <utils/mimeutils.h>
#include <utils/mimetypes/mimedatabase.h>
#include <QHash> #include <QHash>
#include <QSet> #include <QSet>

View File

@@ -30,11 +30,13 @@
#include <coreplugin/core_global.h> #include <coreplugin/core_global.h>
#include <utils/id.h> #include <utils/id.h>
#include <utils/mimetypes/mimetype.h>
#include <QObject> #include <QObject>
namespace Utils { class FilePath; } namespace Utils {
class FilePath;
class MimeType;
}
namespace Core { namespace Core {

View File

@@ -27,7 +27,7 @@
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/optional.h> #include <utils/optional.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/variant.h> #include <utils/variant.h>

View File

@@ -56,13 +56,13 @@
#include <coreplugin/actionmanager/actionmanager_p.h> #include <coreplugin/actionmanager/actionmanager_p.h>
#include <coreplugin/actionmanager/command.h> #include <coreplugin/actionmanager/command.h>
#include <coreplugin/dialogs/externaltoolconfig.h> #include <coreplugin/dialogs/externaltoolconfig.h>
#include <coreplugin/iwizardfactory.h>
#include <coreplugin/dialogs/shortcutsettings.h> #include <coreplugin/dialogs/shortcutsettings.h>
#include <coreplugin/editormanager/documentmodel_p.h> #include <coreplugin/editormanager/documentmodel_p.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/editormanager/editormanager_p.h> #include <coreplugin/editormanager/editormanager_p.h>
#include <coreplugin/editormanager/ieditor.h> #include <coreplugin/editormanager/ieditor.h>
#include <coreplugin/inavigationwidgetfactory.h> #include <coreplugin/inavigationwidgetfactory.h>
#include <coreplugin/iwizardfactory.h>
#include <coreplugin/progressmanager/progressmanager_p.h> #include <coreplugin/progressmanager/progressmanager_p.h>
#include <coreplugin/progressmanager/progressview.h> #include <coreplugin/progressmanager/progressview.h>
#include <coreplugin/settingsdatabase.h> #include <coreplugin/settingsdatabase.h>
@@ -70,11 +70,11 @@
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/historycompleter.h> #include <utils/historycompleter.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/stringutils.h>
#include <utils/stylehelper.h> #include <utils/stylehelper.h>
#include <utils/theme/theme.h> #include <utils/theme/theme.h>
#include <utils/stringutils.h>
#include <utils/utilsicons.h> #include <utils/utilsicons.h>
#include <QActionGroup> #include <QActionGroup>

View File

@@ -37,11 +37,11 @@
using namespace Core; using namespace Core;
using namespace Internal; 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, QTC_ASSERT(i < Utils::MimeMagicRule::Byte,
return Utils::Internal::MimeMagicRule::Invalid); return Utils::MimeMagicRule::Invalid);
return Utils::Internal::MimeMagicRule::Type(i + 1/*0==invalid*/); return Utils::MimeMagicRule::Type(i + 1/*0==invalid*/);
} }
MimeTypeMagicDialog::MimeTypeMagicDialog(QWidget *parent) : MimeTypeMagicDialog::MimeTypeMagicDialog(QWidget *parent) :
@@ -96,7 +96,7 @@ void MimeTypeMagicDialog::applyRecommended(bool checked)
void MimeTypeMagicDialog::validateAccept() void MimeTypeMagicDialog::validateAccept()
{ {
QString errorMessage; QString errorMessage;
Utils::Internal::MimeMagicRule rule = createRule(&errorMessage); Utils::MimeMagicRule rule = createRule(&errorMessage);
if (rule.isValid()) if (rule.isValid())
accept(); accept();
else 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 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. 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) // convert mask and see if it is the "default" one (which corresponds to "empty" mask)
// see MimeMagicRule constructor // see MimeMagicRule constructor
QByteArray mask = rule.mask(); 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, QByteArray actualMask = QByteArray::fromHex(QByteArray::fromRawData(mask.constData() + 2,
mask.size() - 2)); mask.size() - 2));
if (actualMask.count(char(-1)) == actualMask.size()) { if (actualMask.count(char(-1)) == actualMask.size()) {
@@ -146,16 +146,16 @@ QByteArray MagicData::normalizedMask(const Utils::Internal::MimeMagicRule &rule)
return mask; 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::MimeMagicRule::Type type = typeValue(ui.typeSelector->currentIndex());
Utils::Internal::MimeMagicRule rule(type, Utils::MimeMagicRule rule(type,
ui.valueLineEdit->text().toUtf8(), ui.valueLineEdit->text().toUtf8(),
ui.startRangeSpinBox->value(), ui.startRangeSpinBox->value(),
ui.endRangeSpinBox->value(), ui.endRangeSpinBox->value(),
ui.maskLineEdit->text().toLatin1(), ui.maskLineEdit->text().toLatin1(),
errorMessage); errorMessage);
if (type == Utils::Internal::MimeMagicRule::Invalid) { if (type == Utils::MimeMagicRule::Invalid) {
if (errorMessage) if (errorMessage)
*errorMessage = tr("Internal error: Type is invalid"); *errorMessage = tr("Internal error: Type is invalid");
} }

View File

@@ -27,7 +27,7 @@
#include "ui_mimetypemagicdialog.h" #include "ui_mimetypemagicdialog.h"
#include <utils/mimetypes/mimemagicrule_p.h> #include <utils/mimeutils.h>
namespace Core { namespace Core {
namespace Internal { namespace Internal {
@@ -36,11 +36,11 @@ class MagicData
{ {
public: public:
MagicData() 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_rule(rule)
, m_priority(priority) , m_priority(priority)
{ {
@@ -49,9 +49,9 @@ public:
bool operator==(const MagicData &other) const; bool operator==(const MagicData &other) const;
bool operator!=(const MagicData &other) { return !(*this == other); } 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; int m_priority = 0;
}; };
@@ -68,7 +68,7 @@ private:
void setToRecommendedValues(); void setToRecommendedValues();
void applyRecommended(bool checked); void applyRecommended(bool checked);
void validateAccept(); void validateAccept();
Utils::Internal::MimeMagicRule createRule(QString *errorMessage = nullptr) const; Utils::MimeMagicRule createRule(QString *errorMessage = nullptr) const;
Ui::MimeTypeMagicDialog ui; Ui::MimeTypeMagicDialog ui;
int m_customRangeStart = 0; int m_customRangeStart = 0;

View File

@@ -35,7 +35,7 @@
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/headerviewstretcher.h> #include <utils/headerviewstretcher.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/stringutils.h> #include <utils/stringutils.h>
@@ -87,7 +87,7 @@ public:
bool isValid() const { return !name.isEmpty(); } bool isValid() const { return !name.isEmpty(); }
QString name; QString name;
QStringList globPatterns; QStringList globPatterns;
QMap<int, QList<Utils::Internal::MimeMagicRule> > rules; QMap<int, QList<Utils::MimeMagicRule> > rules;
}; };
// MimeTypeSettingsModel // MimeTypeSettingsModel
@@ -346,12 +346,12 @@ void MimeTypeSettingsPrivate::syncData(const QModelIndex &current,
modifiedType.isValid() ? modifiedType.globPatterns.join(kSemiColon) modifiedType.isValid() ? modifiedType.globPatterns.join(kSemiColon)
: currentMimeType.globPatterns().join(kSemiColon)); : currentMimeType.globPatterns().join(kSemiColon));
QMap<int, QList<Utils::Internal::MimeMagicRule> > rules = QMap<int, QList<Utils::MimeMagicRule> > rules =
modifiedType.isValid() ? modifiedType.rules modifiedType.isValid() ? modifiedType.rules
: Utils::magicRulesForMimeType(currentMimeType); : Utils::magicRulesForMimeType(currentMimeType);
for (auto it = rules.constBegin(); it != rules.constEnd(); ++it) { for (auto it = rules.constBegin(); it != rules.constEnd(); ++it) {
int priority = it.key(); int priority = it.key();
foreach (const Utils::Internal::MimeMagicRule &rule, it.value()) { foreach (const Utils::MimeMagicRule &rule, it.value()) {
addMagicHeaderRow(MagicData(rule, priority)); addMagicHeaderRow(MagicData(rule, priority));
} }
} }
@@ -394,7 +394,7 @@ void MimeTypeSettingsPrivate::editMagicHeaderRowData(const int row, const MagicD
{ {
auto item = new QTreeWidgetItem; auto item = new QTreeWidgetItem;
item->setText(0, QString::fromUtf8(data.m_rule.value())); 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(2, QString::fromLatin1("%1:%2").arg(data.m_rule.startPos()).arg(data.m_rule.endPos()));
item->setText(3, QString::number(data.m_priority)); item->setText(3, QString::number(data.m_priority));
item->setData(0, Qt::UserRole, QVariant::fromValue(data)); item->setData(0, Qt::UserRole, QVariant::fromValue(data));
@@ -522,12 +522,12 @@ void MimeTypeSettingsPrivate::writeUserModifiedMimeTypes()
mt.globPatterns.join(kSemiColon)); mt.globPatterns.join(kSemiColon));
for (auto prioIt = mt.rules.constBegin(); prioIt != mt.rules.constEnd(); ++prioIt) { for (auto prioIt = mt.rules.constBegin(); prioIt != mt.rules.constEnd(); ++prioIt) {
const QString priorityString = QString::number(prioIt.key()); 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.writeStartElement(QLatin1String(matchTagC));
writer.writeAttribute(QLatin1String(matchValueAttributeC), writer.writeAttribute(QLatin1String(matchValueAttributeC),
QString::fromUtf8(rule.value())); QString::fromUtf8(rule.value()));
writer.writeAttribute(QLatin1String(matchTypeAttributeC), writer.writeAttribute(QLatin1String(matchTypeAttributeC),
QString::fromUtf8(Utils::Internal::MimeMagicRule::typeName(rule.type()))); QString::fromUtf8(Utils::MimeMagicRule::typeName(rule.type())));
writer.writeAttribute(QLatin1String(matchOffsetAttributeC), writer.writeAttribute(QLatin1String(matchOffsetAttributeC),
QString::fromLatin1("%1:%2").arg(rule.startPos()) QString::fromLatin1("%1:%2").arg(rule.startPos())
.arg(rule.endPos())); .arg(rule.endPos()));
@@ -585,7 +585,7 @@ MimeTypeSettingsPrivate::UserMimeTypeHash MimeTypeSettingsPrivate::readUserModif
int priority = atts.value(QLatin1String(priorityAttributeC)).toString().toInt(); int priority = atts.value(QLatin1String(priorityAttributeC)).toString().toInt();
QByteArray mask = atts.value(QLatin1String(matchMaskAttributeC)).toLatin1(); QByteArray mask = atts.value(QLatin1String(matchMaskAttributeC)).toLatin1();
QString errorMessage; QString errorMessage;
Utils::Internal::MimeMagicRule rule(Utils::Internal::MimeMagicRule::type(typeName), Utils::MimeMagicRule rule(Utils::MimeMagicRule::type(typeName),
value, range.first, range.second, mask, value, range.first, range.second, mask,
&errorMessage); &errorMessage);
if (rule.isValid()) { if (rule.isValid()) {

View File

@@ -43,7 +43,7 @@
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/temporarydirectory.h> #include <utils/temporarydirectory.h>

View File

@@ -42,9 +42,9 @@
#include <texteditor/texteditorsettings.h> #include <texteditor/texteditorsettings.h>
#include <texteditor/completionsettings.h> #include <texteditor/completionsettings.h>
#include <utils/textutils.h> #include <utils/mimeutils.h>
#include <utils/mimetypes/mimedatabase.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/textutils.h>
#include <cplusplus/BackwardsScanner.h> #include <cplusplus/BackwardsScanner.h>
#include <cplusplus/CppRewriter.h> #include <cplusplus/CppRewriter.h>

View File

@@ -49,7 +49,7 @@
#include <utils/executeondestruction.h> #include <utils/executeondestruction.h>
#include <utils/infobar.h> #include <utils/infobar.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/runextensions.h> #include <utils/runextensions.h>

View File

@@ -107,7 +107,7 @@
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/macroexpander.h> #include <utils/macroexpander.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/theme/theme.h> #include <utils/theme/theme.h>

View File

@@ -37,7 +37,7 @@
#include <utils/environment.h> #include <utils/environment.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/stringutils.h> #include <utils/stringutils.h>
#include <QCoreApplication> #include <QCoreApplication>

View File

@@ -28,7 +28,7 @@
#include "cppeditorconstants.h" #include "cppeditorconstants.h"
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <QDebug> #include <QDebug>

View File

@@ -32,7 +32,7 @@
#include <texteditor/texteditor.h> #include <texteditor/texteditor.h>
#include <utils/executeondestruction.h> #include <utils/executeondestruction.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/tooltip/tooltip.h> #include <utils/tooltip/tooltip.h>

View File

@@ -43,7 +43,7 @@
#include <texteditor/texteditor.h> #include <texteditor/texteditor.h>
#include <utils/aspects.h> #include <utils/aspects.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QTextBlock> #include <QTextBlock>

View File

@@ -31,7 +31,7 @@
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <cppeditor/cppeditorconstants.h> #include <cppeditor/cppeditorconstants.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <QDebug> #include <QDebug>
#include <QMessageBox> #include <QMessageBox>

View File

@@ -39,14 +39,14 @@
#include <coreplugin/actionmanager/actioncontainer.h> #include <coreplugin/actionmanager/actioncontainer.h>
#include <coreplugin/actionmanager/actionmanager.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/actionmanager/command.h> #include <coreplugin/actionmanager/command.h>
#include <coreplugin/coreconstants.h>
#include <coreplugin/designmode.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <coreplugin/idocument.h> #include <coreplugin/idocument.h>
#include <coreplugin/coreconstants.h>
#include <coreplugin/designmode.h>
#include <cppeditor/cppeditorconstants.h> #include <cppeditor/cppeditorconstants.h>
#include <projectexplorer/jsonwizard/jsonwizardfactory.h> #include <projectexplorer/jsonwizard/jsonwizardfactory.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <QAction> #include <QAction>
#include <QCoreApplication> #include <QCoreApplication>

View File

@@ -46,7 +46,7 @@
#include <projectexplorer/projecttree.h> #include <projectexplorer/projecttree.h>
#include <projectexplorer/session.h> #include <projectexplorer/session.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/stringutils.h> #include <utils/stringutils.h>

View File

@@ -36,7 +36,7 @@
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/filewizardpage.h> #include <utils/filewizardpage.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <QApplication> #include <QApplication>
#include <QDebug> #include <QDebug>

View File

@@ -47,7 +47,7 @@
#include <utils/commandline.h> #include <utils/commandline.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/qtcprocess.h> #include <utils/qtcprocess.h>
#include <utils/stringutils.h> #include <utils/stringutils.h>

View File

@@ -30,7 +30,7 @@
#include <coreplugin/editormanager/documentmodel.h> #include <coreplugin/editormanager/documentmodel.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QFileInfo> #include <QFileInfo>

View File

@@ -57,7 +57,7 @@
#include <texteditor/texteditoractionhandler.h> #include <texteditor/texteditoractionhandler.h>
#include <texteditor/texteditorsettings.h> #include <texteditor/texteditorsettings.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcprocess.h> #include <utils/qtcprocess.h>

View File

@@ -30,7 +30,7 @@
#include <texteditor/tabsettings.h> #include <texteditor/tabsettings.h>
#include <texteditor/textdocument.h> #include <texteditor/textdocument.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <QTextDocument> #include <QTextDocument>

View File

@@ -29,7 +29,7 @@
#include <texteditor/textdocument.h> #include <texteditor/textdocument.h>
#include <texteditor/texteditor.h> #include <texteditor/texteditor.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/tooltip/tooltip.h> #include <utils/tooltip/tooltip.h>

View File

@@ -42,7 +42,6 @@
#include <texteditor/textmark.h> #include <texteditor/textmark.h>
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/executeondestruction.h> #include <utils/executeondestruction.h>
#include <utils/mimetypes/mimedatabase.h>
#include <utils/theme/theme.h> #include <utils/theme/theme.h>
#include <utils/utilsicons.h> #include <utils/utilsicons.h>

View File

@@ -28,13 +28,12 @@
#include "languageclientmanager.h" #include "languageclientmanager.h"
#include "languageclientutils.h" #include "languageclientutils.h"
#include <coreplugin/find/itemviewfind.h>
#include <coreplugin/editormanager/ieditor.h> #include <coreplugin/editormanager/ieditor.h>
#include <coreplugin/find/itemviewfind.h>
#include <languageserverprotocol/languagefeatures.h> #include <languageserverprotocol/languagefeatures.h>
#include <texteditor/textdocument.h> #include <texteditor/textdocument.h>
#include <texteditor/texteditor.h> #include <texteditor/texteditor.h>
#include <utils/itemviews.h> #include <utils/itemviews.h>
#include <utils/mimetypes/mimedatabase.h>
#include <utils/treemodel.h> #include <utils/treemodel.h>
#include <utils/treeviewcombobox.h> #include <utils/treeviewcombobox.h>
#include <utils/utilsicons.h> #include <utils/utilsicons.h>

View File

@@ -41,12 +41,11 @@
#include <texteditor/textmark.h> #include <texteditor/textmark.h>
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/utilsicons.h>
#include <utils/delegates.h> #include <utils/delegates.h>
#include <utils/fancylineedit.h> #include <utils/fancylineedit.h>
#include <utils/mimetypes/mimedatabase.h>
#include <utils/jsontreeitem.h> #include <utils/jsontreeitem.h>
#include <utils/stringutils.h> #include <utils/stringutils.h>
#include <utils/utilsicons.h>
#include <utils/variablechooser.h> #include <utils/variablechooser.h>
#include <QBoxLayout> #include <QBoxLayout>

View File

@@ -31,7 +31,7 @@
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/find/searchresultwindow.h> #include <coreplugin/find/searchresultwindow.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <QFile> #include <QFile>

View File

@@ -32,7 +32,7 @@
#include <texteditor/syntaxhighlighter.h> #include <texteditor/syntaxhighlighter.h>
#include <texteditor/texteditor.h> #include <texteditor/texteditor.h>
#include <texteditor/texteditorsettings.h> #include <texteditor/texteditorsettings.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <QTextDocument> #include <QTextDocument>

View File

@@ -43,10 +43,9 @@
#include <projectexplorer/session.h> #include <projectexplorer/session.h>
#include <projectexplorer/projectnodes.h> #include <projectexplorer/projectnodes.h>
#include <utils/mimetypes/mimetype.h> #include <utils/mimeutils.h>
#include <utils/mimetypes/mimedatabase.h>
#include <utils/qtcassert.h>
#include <utils/porting.h> #include <utils/porting.h>
#include <utils/qtcassert.h>
#include <QQueue> #include <QQueue>
#include <QMutex> #include <QMutex>

View File

@@ -39,7 +39,6 @@
#include <projectexplorer/target.h> #include <projectexplorer/target.h>
#include <utils/aspects.h> #include <utils/aspects.h>
#include <utils/mimetypes/mimedatabase.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
using namespace ProjectExplorer; using namespace ProjectExplorer;

View File

@@ -49,10 +49,9 @@
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/detailswidget.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/layoutbuilder.h>
#include <utils/macroexpander.h>
#include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/variablechooser.h> #include <utils/variablechooser.h>

View File

@@ -30,7 +30,7 @@
#include <cppeditor/cppeditorconstants.h> #include <cppeditor/cppeditorconstants.h>
#include <utils/macroexpander.h> #include <utils/macroexpander.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/stringutils.h> #include <utils/stringutils.h>
#include <utils/templateengine.h> #include <utils/templateengine.h>

View File

@@ -35,7 +35,7 @@
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/macroexpander.h> #include <utils/macroexpander.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
using namespace Core; using namespace Core;

View File

@@ -42,9 +42,9 @@
#include <texteditor/textindenter.h> #include <texteditor/textindenter.h>
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/stringutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/stringutils.h>
#include <QCoreApplication> #include <QCoreApplication>
#include <QDebug> #include <QDebug>

View File

@@ -34,9 +34,9 @@
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/qtcassert.h>
#include <utils/macroexpander.h> #include <utils/macroexpander.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h>
#include <QCoreApplication> #include <QCoreApplication>
#include <QDir> #include <QDir>

View File

@@ -139,7 +139,7 @@
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/macroexpander.h> #include <utils/macroexpander.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/parameteraction.h> #include <utils/parameteraction.h>
#include <utils/processhandle.h> #include <utils/processhandle.h>
#include <utils/proxyaction.h> #include <utils/proxyaction.h>

View File

@@ -44,7 +44,7 @@
#include <texteditor/tabsettings.h> #include <texteditor/tabsettings.h>
#include <texteditor/texteditorsettings.h> #include <texteditor/texteditorsettings.h>
#include <texteditor/textindenter.h> #include <texteditor/textindenter.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <QPointer> #include <QPointer>
#include <QDebug> #include <QDebug>

View File

@@ -39,8 +39,7 @@
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/mimetypes/mimetype.h>
#include <utils/pointeralgorithm.h> #include <utils/pointeralgorithm.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/stringutils.h> #include <utils/stringutils.h>

View File

@@ -42,7 +42,7 @@
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/filewizardpage.h> #include <utils/filewizardpage.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/wizard.h> #include <utils/wizard.h>
#include <QApplication> #include <QApplication>

View File

@@ -28,8 +28,8 @@
#include "projectexplorer_export.h" #include "projectexplorer_export.h"
#include "projectnodes.h" #include "projectnodes.h"
#include <utils/mimetypes/mimedatabase.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/mimeutils.h>
#include <QObject> #include <QObject>
#include <QFuture> #include <QFuture>

View File

@@ -36,7 +36,7 @@
#include <projectexplorer/target.h> #include <projectexplorer/target.h>
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcprocess.h> #include <utils/qtcprocess.h>
using namespace Utils; using namespace Utils;

View File

@@ -46,7 +46,6 @@
#include <qtsupport/qtkitinformation.h> #include <qtsupport/qtkitinformation.h>
#include <utils/mimetypes/mimedatabase.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/qtcprocess.h> #include <utils/qtcprocess.h>

View File

@@ -56,10 +56,8 @@
#include <qtsupport/qtkitinformation.h> #include <qtsupport/qtkitinformation.h>
#include <qtsupport/qtversionmanager.h> #include <qtsupport/qtversionmanager.h>
#include <utils/mimetypes/mimedatabase.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/qtcprocess.h> #include <utils/qtcprocess.h>
#include <utils/qtcassert.h>
#include <QDebug> #include <QDebug>
#include <QInputDialog> #include <QInputDialog>

View File

@@ -46,13 +46,13 @@
#include <texteditor/tabsettings.h> #include <texteditor/tabsettings.h>
#include <texteditor/texteditorsettings.h> #include <texteditor/texteditorsettings.h>
#include <utils/QtConcurrentTools>
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/filesystemwatcher.h> #include <utils/filesystemwatcher.h>
#include <utils/mimeutils.h>
#include <utils/qtcprocess.h> #include <utils/qtcprocess.h>
#include <utils/mimetypes/mimedatabase.h>
#include <utils/stringutils.h> #include <utils/stringutils.h>
#include <utils/temporarydirectory.h> #include <utils/temporarydirectory.h>
#include <utils/QtConcurrentTools>
#include <QLoggingCategory> #include <QLoggingCategory>
#include <QMessageBox> #include <QMessageBox>

View File

@@ -55,7 +55,7 @@
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <QDir> #include <QDir>
#include <QFile> #include <QFile>

View File

@@ -37,7 +37,7 @@
#include <projectexplorer/projectexplorer.h> #include <projectexplorer/projectexplorer.h>
#include <projectexplorer/target.h> #include <projectexplorer/target.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <QComboBox> #include <QComboBox>

View File

@@ -49,7 +49,6 @@
#include <utils/aspects.h> #include <utils/aspects.h>
#include <utils/environment.h> #include <utils/environment.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/mimetypes/mimedatabase.h>
#include <utils/qtcprocess.h> #include <utils/qtcprocess.h>
#include <utils/winutils.h> #include <utils/winutils.h>

View File

@@ -34,7 +34,7 @@
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/threadutils.h> #include <utils/threadutils.h>

View File

@@ -51,10 +51,10 @@
#include <qmldesigner/qmldesignerplugin.h> #include <qmldesigner/qmldesignerplugin.h>
#include <utils/checkablemessagebox.h> #include <utils/checkablemessagebox.h>
#include <utils/dynamiclicensecheck.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/icon.h> #include <utils/icon.h>
#include <utils/infobar.h> #include <utils/infobar.h>
#include <utils/mimetypes/mimedatabase.h>
#include <utils/stringutils.h> #include <utils/stringutils.h>
#include <utils/theme/theme.h> #include <utils/theme/theme.h>

View File

@@ -34,7 +34,7 @@
#include <coreplugin/editormanager/documentmodel.h> #include <coreplugin/editormanager/documentmodel.h>
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <coreplugin/messagemanager.h> #include <coreplugin/messagemanager.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/stylehelper.h> #include <utils/stylehelper.h>

View File

@@ -27,21 +27,21 @@
#include "extraencodingsettings.h" #include "extraencodingsettings.h"
#include "fontsettings.h" #include "fontsettings.h"
#include "textindenter.h"
#include "storagesettings.h" #include "storagesettings.h"
#include "syntaxhighlighter.h" #include "syntaxhighlighter.h"
#include "tabsettings.h" #include "tabsettings.h"
#include "textdocumentlayout.h" #include "textdocumentlayout.h"
#include "texteditor.h" #include "texteditor.h"
#include "texteditorconstants.h" #include "texteditorconstants.h"
#include "textindenter.h"
#include "typingsettings.h" #include "typingsettings.h"
#include <coreplugin/diffservice.h> #include <coreplugin/diffservice.h>
#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/editormanager/documentmodel.h> #include <coreplugin/editormanager/documentmodel.h>
#include <coreplugin/editormanager/editormanager.h>
#include <extensionsystem/pluginmanager.h> #include <extensionsystem/pluginmanager.h>
#include <utils/textutils.h>
#include <utils/guard.h> #include <utils/guard.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/textutils.h>
#include <QAction> #include <QAction>
#include <QApplication> #include <QApplication>

View File

@@ -79,7 +79,7 @@
#include <utils/fixedsizeclicklabel.h> #include <utils/fixedsizeclicklabel.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/infobar.h> #include <utils/infobar.h>
#include <utils/mimetypes/mimedatabase.h> #include <utils/mimeutils.h>
#include <utils/multitextcursor.h> #include <utils/multitextcursor.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/styledbar.h> #include <utils/styledbar.h>

View File

@@ -26,8 +26,6 @@
#include <languageserverprotocol/basemessage.h> #include <languageserverprotocol/basemessage.h>
#include <languageserverprotocol/jsonobject.h> #include <languageserverprotocol/jsonobject.h>
#include <languageserverprotocol/jsonrpcmessages.h> #include <languageserverprotocol/jsonrpcmessages.h>
#include <utils/mimetypes/mimetype.h>
#include <utils/mimetypes/mimedatabase.h>
#include <QTextCodec> #include <QTextCodec>
#include <QtTest> #include <QtTest>