diff options
author | Paolo Angelelli <paolo.angelelli@qt.io> | 2019-01-21 21:18:19 +0100 |
---|---|---|
committer | Paolo Angelelli <paolo.angelelli@qt.io> | 2019-01-23 11:58:58 +0000 |
commit | 196dcb8d095cc2b5ace5a55bc3c8a1055267c070 (patch) | |
tree | ae7f089f41bb1c119311e6b83fa0f30a12448b0d | |
parent | bbc81363f082ab6a2736f8de83968a3941e367e2 (diff) |
Fix Qt.labs.platform.FileDialog not honoring folder property
Fixes: QTBUG-73179
Change-Id: I99fb1c7cfcf61920889da909152b23b40bc96104
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
-rw-r--r-- | src/imports/platform/qquickplatformfiledialog.cpp | 6 | ||||
-rw-r--r-- | src/imports/platform/qquickplatformfiledialog_p.h | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/imports/platform/qquickplatformfiledialog.cpp b/src/imports/platform/qquickplatformfiledialog.cpp index 36eaedf9..9c1eb684 100644 --- a/src/imports/platform/qquickplatformfiledialog.cpp +++ b/src/imports/platform/qquickplatformfiledialog.cpp @@ -518,7 +518,9 @@ void QQuickPlatformFileDialog::onShow(QPlatformDialogHelper *dialog) { m_options->setWindowTitle(title()); if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(dialog)) { - fileDialog->setOptions(m_options); + fileDialog->setOptions(m_options); // setOptions only assigns a member and isn't virtual + if (m_firstShow && m_options->initialDirectory().isValid()) + fileDialog->setDirectory(m_options->initialDirectory()); if (m_selectedNameFilter) { const int index = m_selectedNameFilter->index(); const QString filter = m_options->nameFilters().value(index); @@ -527,6 +529,8 @@ void QQuickPlatformFileDialog::onShow(QPlatformDialogHelper *dialog) connect(fileDialog, &QPlatformFileDialogHelper::filterSelected, m_selectedNameFilter, &QQuickPlatformFileNameFilter::update); } } + if (m_firstShow) + m_firstShow = false; } void QQuickPlatformFileDialog::onHide(QPlatformDialogHelper *dialog) diff --git a/src/imports/platform/qquickplatformfiledialog_p.h b/src/imports/platform/qquickplatformfiledialog_p.h index d16cc2b4..b867f3c8 100644 --- a/src/imports/platform/qquickplatformfiledialog_p.h +++ b/src/imports/platform/qquickplatformfiledialog_p.h @@ -149,6 +149,7 @@ private: FileMode m_fileMode; QList<QUrl> m_files; + bool m_firstShow = true; QSharedPointer<QFileDialogOptions> m_options; mutable QQuickPlatformFileNameFilter *m_selectedNameFilter; }; |