aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/platform/qquickplatformfiledialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/imports/platform/qquickplatformfiledialog.cpp')
-rw-r--r--src/imports/platform/qquickplatformfiledialog.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/imports/platform/qquickplatformfiledialog.cpp b/src/imports/platform/qquickplatformfiledialog.cpp
index 471fac07..af5475fa 100644
--- a/src/imports/platform/qquickplatformfiledialog.cpp
+++ b/src/imports/platform/qquickplatformfiledialog.cpp
@@ -43,7 +43,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype FileDialog
\inherits Dialog
- \instantiates QQuickPlatformFileDialog
+//! \instantiates QQuickPlatformFileDialog
\inqmlmodule Qt.labs.platform
\since 5.8
\brief A native file dialog.
@@ -353,7 +353,6 @@ void QQuickPlatformFileDialog::resetNameFilters()
}
/*!
- \qmlpropertygroup Qt.labs.platform::FileDialog::selectedNameFilter
\qmlproperty int Qt.labs.platform::FileDialog::selectedNameFilter.index
\qmlproperty string Qt.labs.platform::FileDialog::selectedNameFilter.name
\qmlproperty list<string> Qt.labs.platform::FileDialog::selectedNameFilter.extensions
@@ -553,8 +552,14 @@ QUrl QQuickPlatformFileDialog::addDefaultSuffix(const QUrl &file) const
QUrl url = file;
const QString path = url.path();
const QString suffix = m_options->defaultSuffix();
- if (!suffix.isEmpty() && !path.endsWith(QLatin1Char('/')) && path.lastIndexOf(QLatin1Char('.')) == -1)
+ // Urls with "content" scheme do not require suffixes. Such schemes are
+ // used on Android.
+ const bool isContentScheme = url.scheme() == QStringLiteral("content");
+ if (!isContentScheme && !suffix.isEmpty() && !path.endsWith(QLatin1Char('/'))
+ && path.lastIndexOf(QLatin1Char('.')) == -1) {
url.setPath(path + QLatin1Char('.') + suffix);
+ }
+
return url;
}
@@ -623,7 +628,7 @@ static QStringList extractExtensions(const QString &filter)
const int to = filter.lastIndexOf(QLatin1Char(')')) - 1;
if (from >= 0 && from < to) {
const QStringRef ref = filter.midRef(from + 1, to - from);
- const QVector<QStringRef> exts = ref.split(QLatin1Char(' '), QString::SkipEmptyParts);
+ const QVector<QStringRef> exts = ref.split(QLatin1Char(' '), Qt::SkipEmptyParts);
for (const QStringRef &ref : exts)
extensions += extractExtension(ref.toString());
}