diff options
| author | Tarja Sundqvist <tarja.sundqvist@qt.io> | 2025-01-29 16:12:28 +0200 |
|---|---|---|
| committer | Tarja Sundqvist <tarja.sundqvist@qt.io> | 2025-01-29 16:12:28 +0200 |
| commit | 7ac842cba18be081ac835bf40ac475ec4c47d30b (patch) | |
| tree | c35c8f45a56adf8df9ba018facce713a99d6074f /src/quickdialogs/quickdialogsquickimpl/qquickfiledialogdelegate.cpp | |
| parent | 9edb471d3a35b3dc40def86c395789086edaa983 (diff) | |
| parent | 3760c04fdea95b6e6d6ccac7c594993f063096fd (diff) | |
Merge tag 'v6.5.5-lts' into tqtc/lts-6.5-opensource
Qt 6.5.5-lts release
Conflicts solved:
dependencies.yaml
src/quick/doc/snippets/qml/treeview/qml-customdelegate.qml
Change-Id: Ifa297315fa0e6e70d9f26312f9183da4769d18fc
Diffstat (limited to 'src/quickdialogs/quickdialogsquickimpl/qquickfiledialogdelegate.cpp')
| -rw-r--r-- | src/quickdialogs/quickdialogsquickimpl/qquickfiledialogdelegate.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/quickdialogs/quickdialogsquickimpl/qquickfiledialogdelegate.cpp b/src/quickdialogs/quickdialogsquickimpl/qquickfiledialogdelegate.cpp index 71b1fccbc5..369176f844 100644 --- a/src/quickdialogs/quickdialogsquickimpl/qquickfiledialogdelegate.cpp +++ b/src/quickdialogs/quickdialogsquickimpl/qquickfiledialogdelegate.cpp @@ -11,6 +11,7 @@ #include <QtQuickTemplates2/private/qquickitemdelegate_p_p.h> #include "qquickfiledialogimpl_p.h" +#include "qquickfiledialogimpl_p_p.h" #include "qquickfolderdialogimpl_p.h" QT_BEGIN_NAMESPACE @@ -67,6 +68,16 @@ void QQuickFileDialogDelegatePrivate::chooseFile() Q_ASSERT(fileDialog); // Otherwise it's a file, so select it and close the dialog. fileDialog->setSelectedFile(file); + + // Prioritize closing the dialog with QQuickDialogPrivate::handleClick() over QQuickDialog::accept() + const QQuickFileDialogImplAttached *attached = QQuickFileDialogImplPrivate::get(fileDialog)->attachedOrWarn(); + if (Q_LIKELY(attached)) { + auto *openButton = attached->buttonBox()->standardButton(QPlatformDialogHelper::Open); + if (Q_LIKELY(openButton)) { + emit openButton->clicked(); + return; + } + } fileDialog->accept(); } } |
