aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/platform
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-02-02 03:03:32 +0100
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-02-02 03:03:32 +0100
commit3afec43b69991753416380d88e22b5382b8b0832 (patch)
tree15f14aa78ba2a9cc8c118665318e9e5b77282d8b /src/imports/platform
parent1a89fbc5a8e9fe6b2711c2e87e9909201c26d499 (diff)
parent09181d8b61cf3c84c88258586d68bd721d440620 (diff)
Merge remote-tracking branch 'origin/5.12' into 5.13v5.13.0-alpha1
Diffstat (limited to 'src/imports/platform')
-rw-r--r--src/imports/platform/qquickplatformfiledialog.cpp6
-rw-r--r--src/imports/platform/qquickplatformfiledialog_p.h1
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;
};