forked from qt-creator/qt-creator
MimeDatabase: Add allGlobPatterns and allFiltersString
Change-Id: I255d1ef3140b220de9bdc279788abf3fecb16af9 Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
This commit is contained in:
@@ -40,6 +40,7 @@
|
|||||||
#include "mimeprovider_p.h"
|
#include "mimeprovider_p.h"
|
||||||
#include "mimetype_p.h"
|
#include "mimetype_p.h"
|
||||||
|
|
||||||
|
#include <QtCore/QCoreApplication>
|
||||||
#include <QtCore/QFile>
|
#include <QtCore/QFile>
|
||||||
#include <QtCore/QFileInfo>
|
#include <QtCore/QFileInfo>
|
||||||
#include <QtCore/QSet>
|
#include <QtCore/QSet>
|
||||||
@@ -51,6 +52,8 @@
|
|||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
|
||||||
|
static const char ALL_FILES_FILTER[] = QT_TRANSLATE_NOOP("Core", "All Files (*)");
|
||||||
|
|
||||||
using namespace Utils;
|
using namespace Utils;
|
||||||
using namespace Utils::Internal;
|
using namespace Utils::Internal;
|
||||||
|
|
||||||
@@ -311,6 +314,36 @@ void MimeDatabase::addMimeTypes(const QString &fileName)
|
|||||||
xmlProvider->addFile(fileName);
|
xmlProvider->addFile(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString MimeDatabase::allFiltersString(QString *allFilesFilter)
|
||||||
|
{
|
||||||
|
MimeDatabase mdb;
|
||||||
|
QSet<QString> uniqueFilters;
|
||||||
|
foreach (const MimeType &mt, mdb.allMimeTypes())
|
||||||
|
uniqueFilters.insert(mt.filterString());
|
||||||
|
QStringList filters;
|
||||||
|
foreach (const QString &filter, uniqueFilters)
|
||||||
|
filters.append(filter);
|
||||||
|
filters.sort();
|
||||||
|
static const QString allFiles =
|
||||||
|
QCoreApplication::translate("Core", ALL_FILES_FILTER);
|
||||||
|
if (allFilesFilter)
|
||||||
|
*allFilesFilter = allFiles;
|
||||||
|
|
||||||
|
// Prepend all files filter
|
||||||
|
filters.prepend(allFiles);
|
||||||
|
|
||||||
|
return filters.join(QLatin1String(";;"));
|
||||||
|
}
|
||||||
|
|
||||||
|
QStringList MimeDatabase::allGlobPatterns()
|
||||||
|
{
|
||||||
|
MimeDatabase mdb;
|
||||||
|
QStringList patterns;
|
||||||
|
foreach (const MimeType &mt, mdb.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.
|
||||||
|
|||||||
@@ -84,6 +84,8 @@ public:
|
|||||||
|
|
||||||
// Qt Creator additions
|
// Qt Creator additions
|
||||||
static void addMimeTypes(const QString &fileName);
|
static void addMimeTypes(const QString &fileName);
|
||||||
|
static QString allFiltersString(QString *allFilesFilter = 0);
|
||||||
|
static QStringList allGlobPatterns();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Internal::MimeDatabasePrivate *d;
|
Internal::MimeDatabasePrivate *d;
|
||||||
|
|||||||
Reference in New Issue
Block a user