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 <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::Internal;
|
||||
|
||||
@@ -347,53 +341,6 @@ void Utils::addMimeTypes(const QString &fileName, const QByteArray &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;
|
||||
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 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 void setGlobPatternsForMimeType(const MimeType &mimeType, const QStringList &patterns);
|
||||
QTCREATOR_UTILS_EXPORT void setMagicRulesForMimeType(const MimeType &mimeType,
|
||||
|
@@ -781,6 +781,17 @@ QString DocumentManager::fileDialogFilter(QString *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)
|
||||
{
|
||||
QSet<QString> uniqueFilters;
|
||||
@@ -803,7 +814,7 @@ QString DocumentManager::allDocumentFactoryFiltersString(QString *allFilesFilter
|
||||
|
||||
QStringList filters = Utils::toList(uniqueFilters);
|
||||
filters.sort();
|
||||
const QString allFiles = Utils::allFilesFilterString();
|
||||
const QString allFiles = allFilesFilterString();
|
||||
if (allFilesFilter)
|
||||
*allFilesFilter = 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
|
||||
// the name already ends with such suffix nothing needs to be done. But if not, the
|
||||
// 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)
|
||||
const QRegularExpression regExp(QLatin1String(".*\\s+\\((.*)\\)$"));
|
||||
QRegularExpressionMatchIterator matchIt = regExp.globalMatch(*selectedFilter);
|
||||
|
@@ -145,6 +145,7 @@ public:
|
||||
static void setFileDialogFilter(const QString &filter);
|
||||
|
||||
static QString fileDialogFilter(QString *selectedFilter = nullptr);
|
||||
static QString allFilesFilterString();
|
||||
|
||||
signals:
|
||||
/* 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 "
|
||||
"(*.qml);;JavaScript file (*.js);;%1")
|
||||
.arg(Utils::allFilesFilterString());
|
||||
.arg(Core::DocumentManager::allFilesFilterString());
|
||||
|
||||
Core::DocumentManager::setFileDialogFilter(filters);
|
||||
}
|
||||
|
Reference in New Issue
Block a user