forked from qt-creator/qt-creator
Mimetypes: Remove unused API and move one function to DocumentManager
Change-Id: I97b104a75c91ce6dc4a05146b3e10c1b674f3ff0 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -61,12 +61,6 @@
|
|||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
|
||||||
#ifdef Q_OS_WIN
|
|
||||||
static struct {const char *source; const char *comment; } ALL_FILES_FILTER = QT_TRANSLATE_NOOP3("Core", "All Files (*.*)", "On Windows");
|
|
||||||
#else
|
|
||||||
static struct {const char *source; const char *comment; } ALL_FILES_FILTER = QT_TRANSLATE_NOOP3("Core", "All Files (*)", "On Linux/macOS");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
using namespace Utils;
|
using namespace Utils;
|
||||||
using namespace Utils::Internal;
|
using namespace Utils::Internal;
|
||||||
|
|
||||||
@@ -347,53 +341,6 @@ void Utils::addMimeTypes(const QString &fileName, const QByteArray &data)
|
|||||||
xmlProvider->addData(fileName, data);
|
xmlProvider->addData(fileName, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Utils::allFiltersString(QString *allFilesFilter)
|
|
||||||
{
|
|
||||||
MimeDatabase mdb;
|
|
||||||
QSet<QString> uniqueFilters;
|
|
||||||
const QList<MimeType> allMimeTypes = mdb.allMimeTypes();
|
|
||||||
for (const MimeType &mt : allMimeTypes) {
|
|
||||||
const QString &filterString = mt.filterString();
|
|
||||||
if (!filterString.isEmpty())
|
|
||||||
uniqueFilters.insert(mt.filterString());
|
|
||||||
}
|
|
||||||
QStringList filters;
|
|
||||||
for (const QString &filter : uniqueFilters)
|
|
||||||
filters.append(filter);
|
|
||||||
filters.sort();
|
|
||||||
const QString allFiles = allFilesFilterString();
|
|
||||||
if (allFilesFilter)
|
|
||||||
*allFilesFilter = allFiles;
|
|
||||||
|
|
||||||
// Prepend all files filter
|
|
||||||
filters.prepend(allFiles);
|
|
||||||
|
|
||||||
return filters.join(QLatin1String(";;"));
|
|
||||||
}
|
|
||||||
|
|
||||||
QString Utils::allFilesFilterString()
|
|
||||||
{
|
|
||||||
auto d = MimeDatabasePrivate::instance();
|
|
||||||
if (d->m_startupPhase <= MimeDatabase::PluginsInitializing)
|
|
||||||
qWarning("Accessing MimeDatabase files filter strings before plugins are initialized");
|
|
||||||
|
|
||||||
return QCoreApplication::translate("Core", ALL_FILES_FILTER.source, ALL_FILES_FILTER.comment);
|
|
||||||
}
|
|
||||||
|
|
||||||
QStringList Utils::allGlobPatterns()
|
|
||||||
{
|
|
||||||
auto d = MimeDatabasePrivate::instance();
|
|
||||||
if (d->m_startupPhase <= MimeDatabase::PluginsInitializing)
|
|
||||||
qWarning("Accessing MimeDatabase glob patterns before plugins are initialized");
|
|
||||||
|
|
||||||
MimeDatabase mdb;
|
|
||||||
QStringList patterns;
|
|
||||||
const QList<MimeType> allMimeTypes = mdb.allMimeTypes();
|
|
||||||
for (const MimeType &mt : allMimeTypes)
|
|
||||||
patterns.append(mt.globPatterns());
|
|
||||||
return patterns;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\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.
|
||||||
|
@@ -80,9 +80,6 @@ enum class MimeStartupPhase {
|
|||||||
|
|
||||||
QTCREATOR_UTILS_EXPORT void setMimeStartupPhase(MimeStartupPhase);
|
QTCREATOR_UTILS_EXPORT void setMimeStartupPhase(MimeStartupPhase);
|
||||||
QTCREATOR_UTILS_EXPORT void addMimeTypes(const QString &id, const QByteArray &data);
|
QTCREATOR_UTILS_EXPORT void addMimeTypes(const QString &id, const QByteArray &data);
|
||||||
QTCREATOR_UTILS_EXPORT QString allFiltersString(QString *allFilesFilter = nullptr);
|
|
||||||
QTCREATOR_UTILS_EXPORT QString allFilesFilterString();
|
|
||||||
QTCREATOR_UTILS_EXPORT QStringList allGlobPatterns();
|
|
||||||
QTCREATOR_UTILS_EXPORT QMap<int, QList<Internal::MimeMagicRule> > magicRulesForMimeType(const MimeType &mimeType); // priority -> rules
|
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 setGlobPatternsForMimeType(const MimeType &mimeType, const QStringList &patterns);
|
||||||
QTCREATOR_UTILS_EXPORT void setMagicRulesForMimeType(const MimeType &mimeType,
|
QTCREATOR_UTILS_EXPORT void setMagicRulesForMimeType(const MimeType &mimeType,
|
||||||
|
@@ -781,6 +781,17 @@ QString DocumentManager::fileDialogFilter(QString *selectedFilter)
|
|||||||
return allDocumentFactoryFiltersString(selectedFilter);
|
return allDocumentFactoryFiltersString(selectedFilter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef Q_OS_WIN
|
||||||
|
static struct {const char *source; const char *comment; } ALL_FILES_FILTER = QT_TRANSLATE_NOOP3("Core", "All Files (*.*)", "On Windows");
|
||||||
|
#else
|
||||||
|
static struct {const char *source; const char *comment; } ALL_FILES_FILTER = QT_TRANSLATE_NOOP3("Core", "All Files (*)", "On Linux/macOS");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
QString DocumentManager::allFilesFilterString()
|
||||||
|
{
|
||||||
|
return QCoreApplication::translate("Core", ALL_FILES_FILTER.source, ALL_FILES_FILTER.comment);
|
||||||
|
}
|
||||||
|
|
||||||
QString DocumentManager::allDocumentFactoryFiltersString(QString *allFilesFilter = nullptr)
|
QString DocumentManager::allDocumentFactoryFiltersString(QString *allFilesFilter = nullptr)
|
||||||
{
|
{
|
||||||
QSet<QString> uniqueFilters;
|
QSet<QString> uniqueFilters;
|
||||||
@@ -803,7 +814,7 @@ QString DocumentManager::allDocumentFactoryFiltersString(QString *allFilesFilter
|
|||||||
|
|
||||||
QStringList filters = Utils::toList(uniqueFilters);
|
QStringList filters = Utils::toList(uniqueFilters);
|
||||||
filters.sort();
|
filters.sort();
|
||||||
const QString allFiles = Utils::allFilesFilterString();
|
const QString allFiles = allFilesFilterString();
|
||||||
if (allFilesFilter)
|
if (allFilesFilter)
|
||||||
*allFilesFilter = allFiles;
|
*allFilesFilter = allFiles;
|
||||||
filters.prepend(allFiles);
|
filters.prepend(allFiles);
|
||||||
@@ -825,7 +836,7 @@ FilePath DocumentManager::getSaveFileName(const QString &title, const FilePath &
|
|||||||
// specified. Otherwise the suffix must be one available in the selected filter. If
|
// specified. Otherwise the suffix must be one available in the selected filter. If
|
||||||
// the name already ends with such suffix nothing needs to be done. But if not, the
|
// the name already ends with such suffix nothing needs to be done. But if not, the
|
||||||
// first one from the filter is appended.
|
// first one from the filter is appended.
|
||||||
if (selectedFilter && *selectedFilter != Utils::allFilesFilterString()) {
|
if (selectedFilter && *selectedFilter != allFilesFilterString()) {
|
||||||
// Mime database creates filter strings like this: Anything here (*.foo *.bar)
|
// Mime database creates filter strings like this: Anything here (*.foo *.bar)
|
||||||
const QRegularExpression regExp(QLatin1String(".*\\s+\\((.*)\\)$"));
|
const QRegularExpression regExp(QLatin1String(".*\\s+\\((.*)\\)$"));
|
||||||
QRegularExpressionMatchIterator matchIt = regExp.globalMatch(*selectedFilter);
|
QRegularExpressionMatchIterator matchIt = regExp.globalMatch(*selectedFilter);
|
||||||
|
@@ -145,6 +145,7 @@ public:
|
|||||||
static void setFileDialogFilter(const QString &filter);
|
static void setFileDialogFilter(const QString &filter);
|
||||||
|
|
||||||
static QString fileDialogFilter(QString *selectedFilter = nullptr);
|
static QString fileDialogFilter(QString *selectedFilter = nullptr);
|
||||||
|
static QString allFilesFilterString();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
/* Used to notify e.g. the code model to update the given files. Does *not*
|
/* Used to notify e.g. the code model to update the given files. Does *not*
|
||||||
|
@@ -582,7 +582,7 @@ void StudioWelcomePlugin::extensionsInitialized()
|
|||||||
|
|
||||||
const QString filters = QString("Project (*.qmlproject);;UI file (*.ui.qml);;QML file "
|
const QString filters = QString("Project (*.qmlproject);;UI file (*.ui.qml);;QML file "
|
||||||
"(*.qml);;JavaScript file (*.js);;%1")
|
"(*.qml);;JavaScript file (*.js);;%1")
|
||||||
.arg(Utils::allFilesFilterString());
|
.arg(Core::DocumentManager::allFilesFilterString());
|
||||||
|
|
||||||
Core::DocumentManager::setFileDialogFilter(filters);
|
Core::DocumentManager::setFileDialogFilter(filters);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user