diff options
| author | Santhosh Kumar <santhosh.kumar.selvaraj@qt.io> | 2024-08-21 18:42:55 +0200 |
|---|---|---|
| committer | Santhosh Kumar <santhosh.kumar.selvaraj@qt.io> | 2025-07-09 22:31:35 +0200 |
| commit | 931d634c469babe7835d8486cafc4bfe17bcb21f (patch) | |
| tree | 2f7a17e41fed020da636f3ab57db5105e7625b14 /src/quickdialogs/quickdialogsquickimpl/qquickplatformfolderdialog.cpp | |
| parent | 8aeb0b3236a98458a7310e8f2817aab0bb60558a (diff) | |
Propagate modality to the non-native quick dialogs
The non-native quick dialogs don't block input to the windows even after
setting the modality as ApplicationModal/WindowModal. This is because
non-native platform dialogs (QuickPlaform*Dialogs) didn't set modal to
its respective window (QQuickPopupWindow).
This patch fixes that issue by setting the modality to the non-native
platform dialogs.
Task-number: QTBUG-127605
Pick-to: 6.10 6.9 6.8
Change-Id: Idb3374e881766ae92adc0360c9b9af5c498dd6df
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
Diffstat (limited to 'src/quickdialogs/quickdialogsquickimpl/qquickplatformfolderdialog.cpp')
| -rw-r--r-- | src/quickdialogs/quickdialogsquickimpl/qquickplatformfolderdialog.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/quickdialogs/quickdialogsquickimpl/qquickplatformfolderdialog.cpp b/src/quickdialogs/quickdialogsquickimpl/qquickplatformfolderdialog.cpp index 2f4cf630c7..849fe4b042 100644 --- a/src/quickdialogs/quickdialogsquickimpl/qquickplatformfolderdialog.cpp +++ b/src/quickdialogs/quickdialogsquickimpl/qquickplatformfolderdialog.cpp @@ -10,6 +10,7 @@ #include <QtQml/qqmlinfo.h> #include <QtQuick/qquickwindow.h> #include <QtQuickTemplates2/private/qquickdialog_p.h> +#include <QtQuickTemplates2/private/qquickdialog_p_p.h> #include <QtQuickTemplates2/private/qquickpopup_p_p.h> #include <QtQuickTemplates2/private/qquickpopupanchors_p.h> @@ -154,7 +155,7 @@ bool QQuickPlatformFolderDialog::show(Qt::WindowFlags flags, Qt::WindowModality ? options->labelText(QFileDialogOptions::Accept) : QString()); m_dialog->setRejectLabel(options->isLabelExplicitlySet(QFileDialogOptions::Reject) ? options->labelText(QFileDialogOptions::Reject) : QString()); - + m_dialog->setWindowModality(modality); m_dialog->open(); return true; } |
