diff options
author | Keith Kyzivat <[email protected]> | 2024-03-13 22:50:22 -0400 |
---|---|---|
committer | Keith Kyzivat <[email protected]> | 2024-03-21 19:05:41 -0400 |
commit | 0f77aff05fa6eb059d7f8517c94c88f889b44e6e (patch) | |
tree | ff36d2bc5d763210d4e20f699eca092d4c28035a /src/widgets/dialogs/qfiledialog.cpp | |
parent | 73851f43a5961189eb2413e63d47c8bb15c26748 (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.7 6.6 6.5
Fixes: QTBUG-120768
Change-Id: If8ff6c56f1d21861b4e30051c212c9497042ed0f
Reviewed-by: Axel Spoerl <[email protected]>
Diffstat (limited to 'src/widgets/dialogs/qfiledialog.cpp')
-rw-r--r-- | src/widgets/dialogs/qfiledialog.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp index 13e1df8a960..22e6d44e6f6 100644 --- a/src/widgets/dialogs/qfiledialog.cpp +++ b/src/widgets/dialogs/qfiledialog.cpp @@ -3794,8 +3794,9 @@ void QFileDialogPrivate::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(); } } |