diff options
Diffstat (limited to 'src/imports/platform/qquickplatformfiledialog.cpp')
-rw-r--r-- | src/imports/platform/qquickplatformfiledialog.cpp | 13 |
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()); } |