forked from qt-creator/qt-creator
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:
@@ -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>
|
||||||
|
@@ -27,8 +27,6 @@
|
|||||||
|
|
||||||
#include "jsonrpcmessages.h"
|
#include "jsonrpcmessages.h"
|
||||||
|
|
||||||
#include <utils/mimetypes/mimedatabase.h>
|
|
||||||
|
|
||||||
#include <QBuffer>
|
#include <QBuffer>
|
||||||
#include <QTextCodec>
|
#include <QTextCodec>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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
|
||||||
|
@@ -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"
|
||||||
|
|
||||||
|
@@ -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();
|
|
||||||
}
|
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
140
src/libs/utils/mimetypes/mimeutils.cpp
Normal file
140
src/libs/utils/mimetypes/mimeutils.cpp
Normal 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();
|
||||||
|
}
|
@@ -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
|
||||||
|
@@ -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)
|
||||||
|
|
||||||
|
139
src/libs/utils/mimetypes2/mimeutils.cpp
Normal file
139
src/libs/utils/mimetypes2/mimeutils.cpp
Normal 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
|
89
src/libs/utils/mimeutils.h
Normal file
89
src/libs/utils/mimeutils.h
Normal 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
|
@@ -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")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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 {
|
||||||
|
@@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <utils/mimetypes/mimetype.h>
|
#include <utils/mimeutils.h>
|
||||||
|
|
||||||
#include <QList>
|
#include <QList>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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 {
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
@@ -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 {
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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");
|
||||||
}
|
}
|
||||||
|
@@ -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;
|
||||||
|
@@ -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 ¤t,
|
|||||||
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()) {
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
@@ -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;
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
@@ -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;
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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;
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
Reference in New Issue
Block a user