summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@theqtcompany.com>2015-01-29 15:26:00 +0100
committerEike Ziller <eike.ziller@theqtcompany.com>2015-02-17 12:41:01 +0000
commit013e10fda8bc65281df32fc1fda7886b79dd394a (patch)
treec8d2ccd8df54510916a69c4d406baa344f80c63b /src
parentb4f494f6c72a86d8ecb45c6a74e4c64412c3166a (diff)
downloadqt-creator-013e10fda8bc65281df32fc1fda7886b79dd394a.tar.gz
MimeDatabase: Add allGlobPatterns and allFiltersString
Change-Id: I255d1ef3140b220de9bdc279788abf3fecb16af9 Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r--src/libs/utils/mimetypes/mimedatabase.cpp33
-rw-r--r--src/libs/utils/mimetypes/mimedatabase.h2
2 files changed, 35 insertions, 0 deletions
diff --git a/src/libs/utils/mimetypes/mimedatabase.cpp b/src/libs/utils/mimetypes/mimedatabase.cpp
index f10fe8a1be..5db9eb89cd 100644
--- a/src/libs/utils/mimetypes/mimedatabase.cpp
+++ b/src/libs/utils/mimetypes/mimedatabase.cpp
@@ -40,6 +40,7 @@
#include "mimeprovider_p.h"
#include "mimetype_p.h"
+#include <QtCore/QCoreApplication>
#include <QtCore/QFile>
#include <QtCore/QFileInfo>
#include <QtCore/QSet>
@@ -51,6 +52,8 @@
#include <algorithm>
#include <functional>
+static const char ALL_FILES_FILTER[] = QT_TRANSLATE_NOOP("Core", "All Files (*)");
+
using namespace Utils;
using namespace Utils::Internal;
@@ -311,6 +314,36 @@ void MimeDatabase::addMimeTypes(const QString &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;
Returns a MIME type for \a nameOrAlias or an invalid one if none found.
diff --git a/src/libs/utils/mimetypes/mimedatabase.h b/src/libs/utils/mimetypes/mimedatabase.h
index 71d43041e1..e760cb69fd 100644
--- a/src/libs/utils/mimetypes/mimedatabase.h
+++ b/src/libs/utils/mimetypes/mimedatabase.h
@@ -84,6 +84,8 @@ public:
// Qt Creator additions
static void addMimeTypes(const QString &fileName);
+ static QString allFiltersString(QString *allFilesFilter = 0);
+ static QStringList allGlobPatterns();
private:
Internal::MimeDatabasePrivate *d;