aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Richter <richter@mvtec.com>2019-09-20 15:06:56 +0200
committerMitch Curtis <mitch.curtis@qt.io>2021-08-25 09:17:55 +0200
commita641e8ef74b8f2ad9dea03bdb7cc8c7c3c70e75e (patch)
tree0f4357b6ede004bb4bdab80ed5b9c1bfdaf7d62f
parent1e497b2f38b9444a88bc1fe50525aa88d0d7f9d6 (diff)
QQuickPlatformFolderDialog: Allow opening selected folder
Before a folder needed to be made the current folder in the OpenFolderDialog, now it is enough to select the folder in the dialog. Fixes: QTBUG-76860 Change-Id: Icc91db76c0badc3b8397a87ec7202db41999dea3 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (adapted from commit 4ec8c0700cd0e6bc1b2dfb08fff5e9e15288e047)
-rw-r--r--src/imports/platform/qquickplatformfolderdialog.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/imports/platform/qquickplatformfolderdialog.cpp b/src/imports/platform/qquickplatformfolderdialog.cpp
index a28dc828..ca6a17b1 100644
--- a/src/imports/platform/qquickplatformfolderdialog.cpp
+++ b/src/imports/platform/qquickplatformfolderdialog.cpp
@@ -141,8 +141,12 @@ void QQuickPlatformFolderDialog::setFolder(const QUrl &folder)
*/
QUrl QQuickPlatformFolderDialog::currentFolder() const
{
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(handle()))
+ if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(handle())) {
+ const QList<QUrl> selectedFiles = fileDialog->selectedFiles();
+ if (!selectedFiles.isEmpty())
+ return selectedFiles.first();
return fileDialog->directory();
+ }
return m_options->initialDirectory();
}
@@ -259,7 +263,7 @@ bool QQuickPlatformFolderDialog::useNativeDialog() const
void QQuickPlatformFolderDialog::onCreate(QPlatformDialogHelper *dialog)
{
if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(dialog)) {
- connect(fileDialog, &QPlatformFileDialogHelper::directoryEntered, this, &QQuickPlatformFolderDialog::currentFolderChanged);
+ connect(fileDialog, &QPlatformFileDialogHelper::currentChanged, this, &QQuickPlatformFolderDialog::currentFolderChanged);
fileDialog->setOptions(m_options);
}
}