aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickdialogs/quickdialogsquickimpl/qquickplatformfolderdialog.cpp
diff options
context:
space:
mode:
authorSanthosh Kumar <santhosh.kumar.selvaraj@qt.io>2024-08-21 18:42:55 +0200
committerSanthosh Kumar <santhosh.kumar.selvaraj@qt.io>2025-07-09 22:31:35 +0200
commit931d634c469babe7835d8486cafc4bfe17bcb21f (patch)
tree2f7a17e41fed020da636f3ab57db5105e7625b14 /src/quickdialogs/quickdialogsquickimpl/qquickplatformfolderdialog.cpp
parent8aeb0b3236a98458a7310e8f2817aab0bb60558a (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.cpp3
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;
}