summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeith Kyzivat <keith.kyzivat@qt.io>2024-03-13 22:50:22 -0400
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2024-03-22 09:20:10 +0000
commit6c94d77ad152e04360093f9d642972276fa674f8 (patch)
treea344e9d249705c6c32e5ce81c7a5b2959649242b
parent4082598bb987c6ea7173d84b63561563966ca8f2 (diff)
Don't accept QFileDialog when disabled item is activated
On macOS, entries that do not match the filter are shown in the directory listing. Do not accept the dialog when these entries are double-clicked (activated). Pick-to: 6.5 Fixes: QTBUG-120768 Change-Id: If8ff6c56f1d21861b4e30051c212c9497042ed0f Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> (cherry picked from commit 0f77aff05fa6eb059d7f8517c94c88f889b44e6e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 41e943aeda8218100295987d32d8bfb860b4a2a5)
-rw-r--r--src/widgets/dialogs/qfiledialog.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp
index aa2bfd0aeb..67d27c37ab 100644
--- a/src/widgets/dialogs/qfiledialog.cpp
+++ b/src/widgets/dialogs/qfiledialog.cpp
@@ -3756,8 +3756,9 @@ void QFileDialogPrivate::_q_enterDirectory(const QModelIndex &index)
}
} else {
// Do not accept when shift-clicking to multi-select a file in environments with single-click-activation (KDE)
- if (!q->style()->styleHint(QStyle::SH_ItemView_ActivateItemOnSingleClick, nullptr, qFileDialogUi->treeView)
- || q->fileMode() != QFileDialog::ExistingFiles || !(QGuiApplication::keyboardModifiers() & Qt::CTRL)) {
+ if ((!q->style()->styleHint(QStyle::SH_ItemView_ActivateItemOnSingleClick, nullptr, qFileDialogUi->treeView)
+ || q->fileMode() != QFileDialog::ExistingFiles || !(QGuiApplication::keyboardModifiers() & Qt::CTRL))
+ && index.model()->flags(index) & Qt::ItemIsEnabled) {
q->accept();
}
}