summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libs/utils/mimetypes/mimedatabase.cpp14
-rw-r--r--src/libs/utils/mimetypes/mimedatabase.h1
-rw-r--r--src/plugins/coreplugin/coreconstants.h2
-rw-r--r--src/plugins/coreplugin/documentmanager.cpp3
4 files changed, 13 insertions, 7 deletions
diff --git a/src/libs/utils/mimetypes/mimedatabase.cpp b/src/libs/utils/mimetypes/mimedatabase.cpp
index 8f36b241c8..bfb461b402 100644
--- a/src/libs/utils/mimetypes/mimedatabase.cpp
+++ b/src/libs/utils/mimetypes/mimedatabase.cpp
@@ -59,7 +59,11 @@
#include <algorithm>
#include <functional>
-static const char ALL_FILES_FILTER[] = QT_TRANSLATE_NOOP("Core", "All Files (*)");
+#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;
@@ -348,8 +352,7 @@ QString MimeDatabase::allFiltersString(QString *allFilesFilter)
foreach (const QString &filter, uniqueFilters)
filters.append(filter);
filters.sort();
- static const QString allFiles =
- QCoreApplication::translate("Core", ALL_FILES_FILTER);
+ const QString allFiles = allFilesFilterString();
if (allFilesFilter)
*allFilesFilter = allFiles;
@@ -359,6 +362,11 @@ QString MimeDatabase::allFiltersString(QString *allFilesFilter)
return filters.join(QLatin1String(";;"));
}
+QString MimeDatabase::allFilesFilterString()
+{
+ return QCoreApplication::translate("Core", ALL_FILES_FILTER.source, ALL_FILES_FILTER.comment);
+}
+
QStringList MimeDatabase::allGlobPatterns()
{
MimeDatabase mdb;
diff --git a/src/libs/utils/mimetypes/mimedatabase.h b/src/libs/utils/mimetypes/mimedatabase.h
index 7d69cde501..7f85c7a7f2 100644
--- a/src/libs/utils/mimetypes/mimedatabase.h
+++ b/src/libs/utils/mimetypes/mimedatabase.h
@@ -91,6 +91,7 @@ public:
// Qt Creator additions
static void addMimeTypes(const QString &fileName);
static QString allFiltersString(QString *allFilesFilter = 0);
+ static QString allFilesFilterString();
static QStringList allGlobPatterns();
static QMap<int, QList<Internal::MimeMagicRule> > magicRulesForMimeType(const MimeType &mimeType); // priority -> rules
static void setGlobPatternsForMimeType(const MimeType &mimeType, const QStringList &patterns);
diff --git a/src/plugins/coreplugin/coreconstants.h b/src/plugins/coreplugin/coreconstants.h
index 45ed6ec252..97494ad016 100644
--- a/src/plugins/coreplugin/coreconstants.h
+++ b/src/plugins/coreplugin/coreconstants.h
@@ -199,8 +199,6 @@ const char SETTINGS_DEFAULTTEXTENCODING[] = "General/DefaultFileEncoding";
const char SETTINGS_THEME[] = "Core/CreatorTheme";
const char DEFAULT_THEME[] = "flat";
-const char ALL_FILES_FILTER[] = QT_TRANSLATE_NOOP("Core", "All Files (*)");
-
const char TR_CLEAR_MENU[] = QT_TRANSLATE_NOOP("Core", "Clear Menu");
const char DEFAULT_BUILD_DIRECTORY[] = "../build-%{CurrentProject:Name}-%{CurrentKit:FileSystemName}-%{CurrentBuild:Name}";
diff --git a/src/plugins/coreplugin/documentmanager.cpp b/src/plugins/coreplugin/documentmanager.cpp
index ef5ab7b776..02408aef3e 100644
--- a/src/plugins/coreplugin/documentmanager.cpp
+++ b/src/plugins/coreplugin/documentmanager.cpp
@@ -696,8 +696,7 @@ QString DocumentManager::getSaveFileName(const QString &title, const QString &pa
// 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 != QCoreApplication::translate(
- "Core", Constants::ALL_FILES_FILTER)) {
+ if (selectedFilter && *selectedFilter != MimeDatabase::allFilesFilterString()) {
// Mime database creates filter strings like this: Anything here (*.foo *.bar)
QRegExp regExp(QLatin1String(".*\\s+\\((.*)\\)$"));
const int index = regExp.lastIndexIn(*selectedFilter);