forked from qt-creator/qt-creator
Fix that it was not possible to save with arbitrary file extension
On Windows. Task-number: QTCREATORBUG-15862 Change-Id: I5cc76662e4996bfa26eece09f2e30dc3ce873eb5 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -59,7 +59,11 @@
|
|||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <functional>
|
#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;
|
||||||
using namespace Utils::Internal;
|
using namespace Utils::Internal;
|
||||||
@@ -348,8 +352,7 @@ QString MimeDatabase::allFiltersString(QString *allFilesFilter)
|
|||||||
foreach (const QString &filter, uniqueFilters)
|
foreach (const QString &filter, uniqueFilters)
|
||||||
filters.append(filter);
|
filters.append(filter);
|
||||||
filters.sort();
|
filters.sort();
|
||||||
static const QString allFiles =
|
const QString allFiles = allFilesFilterString();
|
||||||
QCoreApplication::translate("Core", ALL_FILES_FILTER);
|
|
||||||
if (allFilesFilter)
|
if (allFilesFilter)
|
||||||
*allFilesFilter = allFiles;
|
*allFilesFilter = allFiles;
|
||||||
|
|
||||||
@@ -359,6 +362,11 @@ QString MimeDatabase::allFiltersString(QString *allFilesFilter)
|
|||||||
return filters.join(QLatin1String(";;"));
|
return filters.join(QLatin1String(";;"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString MimeDatabase::allFilesFilterString()
|
||||||
|
{
|
||||||
|
return QCoreApplication::translate("Core", ALL_FILES_FILTER.source, ALL_FILES_FILTER.comment);
|
||||||
|
}
|
||||||
|
|
||||||
QStringList MimeDatabase::allGlobPatterns()
|
QStringList MimeDatabase::allGlobPatterns()
|
||||||
{
|
{
|
||||||
MimeDatabase mdb;
|
MimeDatabase mdb;
|
||||||
|
@@ -91,6 +91,7 @@ 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 QString allFiltersString(QString *allFilesFilter = 0);
|
||||||
|
static QString allFilesFilterString();
|
||||||
static QStringList allGlobPatterns();
|
static QStringList allGlobPatterns();
|
||||||
static QMap<int, QList<Internal::MimeMagicRule> > magicRulesForMimeType(const MimeType &mimeType); // priority -> rules
|
static QMap<int, QList<Internal::MimeMagicRule> > magicRulesForMimeType(const MimeType &mimeType); // priority -> rules
|
||||||
static void setGlobPatternsForMimeType(const MimeType &mimeType, const QStringList &patterns);
|
static void setGlobPatternsForMimeType(const MimeType &mimeType, const QStringList &patterns);
|
||||||
|
@@ -199,8 +199,6 @@ const char SETTINGS_DEFAULTTEXTENCODING[] = "General/DefaultFileEncoding";
|
|||||||
const char SETTINGS_THEME[] = "Core/CreatorTheme";
|
const char SETTINGS_THEME[] = "Core/CreatorTheme";
|
||||||
const char DEFAULT_THEME[] = "flat";
|
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 TR_CLEAR_MENU[] = QT_TRANSLATE_NOOP("Core", "Clear Menu");
|
||||||
|
|
||||||
const char DEFAULT_BUILD_DIRECTORY[] = "../build-%{CurrentProject:Name}-%{CurrentKit:FileSystemName}-%{CurrentBuild:Name}";
|
const char DEFAULT_BUILD_DIRECTORY[] = "../build-%{CurrentProject:Name}-%{CurrentKit:FileSystemName}-%{CurrentBuild:Name}";
|
||||||
|
@@ -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
|
// 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 != QCoreApplication::translate(
|
if (selectedFilter && *selectedFilter != MimeDatabase::allFilesFilterString()) {
|
||||||
"Core", Constants::ALL_FILES_FILTER)) {
|
|
||||||
// Mime database creates filter strings like this: Anything here (*.foo *.bar)
|
// Mime database creates filter strings like this: Anything here (*.foo *.bar)
|
||||||
QRegExp regExp(QLatin1String(".*\\s+\\((.*)\\)$"));
|
QRegExp regExp(QLatin1String(".*\\s+\\((.*)\\)$"));
|
||||||
const int index = regExp.lastIndexIn(*selectedFilter);
|
const int index = regExp.lastIndexIn(*selectedFilter);
|
||||||
|
Reference in New Issue
Block a user