diff options
Diffstat (limited to 'src/plugins/platforms/android/qandroidplatformfiledialoghelper.cpp')
-rw-r--r-- | src/plugins/platforms/android/qandroidplatformfiledialoghelper.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/plugins/platforms/android/qandroidplatformfiledialoghelper.cpp b/src/plugins/platforms/android/qandroidplatformfiledialoghelper.cpp index 6f25045ae7..8a8ecc4489 100644 --- a/src/plugins/platforms/android/qandroidplatformfiledialoghelper.cpp +++ b/src/plugins/platforms/android/qandroidplatformfiledialoghelper.cpp @@ -45,6 +45,7 @@ #include <QMimeType> #include <QMimeDatabase> #include <QRegularExpression> +#include <QUrl> QT_BEGIN_NAMESPACE @@ -118,7 +119,7 @@ void QAndroidPlatformFileDialogHelper::takePersistableUriPermission(const QJNIOb uri.object(), modeFlags); } -void QAndroidPlatformFileDialogHelper::setIntentTitle(const QString &title) +void QAndroidPlatformFileDialogHelper::setInitialFileName(const QString &title) { const QJNIObjectPrivate extraTitle = QJNIObjectPrivate::getStaticObjectField( JniIntentClass, "EXTRA_TITLE", "Ljava/lang/String;"); @@ -208,6 +209,12 @@ bool QAndroidPlatformFileDialogHelper::show(Qt::WindowFlags windowFlags, Qt::Win if (options()->acceptMode() == QFileDialogOptions::AcceptSave) { m_intent = getFileDialogIntent("ACTION_CREATE_DOCUMENT"); + const QList<QUrl> selectedFiles = options()->initiallySelectedFiles(); + if (selectedFiles.size() > 0) { + // TODO: The initial folder to show at the start should be handled by EXTRA_INITIAL_URI + // Take only the file name. + setInitialFileName(selectedFiles.first().fileName()); + } } else if (options()->acceptMode() == QFileDialogOptions::AcceptOpen) { switch (options()->fileMode()) { case QFileDialogOptions::FileMode::DirectoryOnly: @@ -231,8 +238,6 @@ bool QAndroidPlatformFileDialogHelper::show(Qt::WindowFlags windowFlags, Qt::Win setMimeTypes(); } - setIntentTitle(options()->windowTitle()); - QtAndroidPrivate::registerActivityResultListener(this); m_activity.callMethod<void>("startActivityForResult", "(Landroid/content/Intent;I)V", m_intent.object(), REQUEST_CODE); |