summaryrefslogtreecommitdiffstats
path: root/src/widgets/dialogs
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2013-02-15 11:28:28 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-02-20 12:59:55 +0100
commitb6ccdfa4823d4608f5cb94797b48fc82b8833581 (patch)
treeea2655840dea641275e0a2d7c13542226955e8c3 /src/widgets/dialogs
parente28c03cb829c229209090d7939a9aba1af1fdea9 (diff)
Fix multiselection by CTRL-click in QFileDialog/KDE.
Task-number: QTBUG-29257 Change-Id: Idfac80e855455a4537dd38a23136762cd9398e15 Reviewed-by: David Faure (KDE) <faure@kde.org> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Diffstat (limited to 'src/widgets/dialogs')
-rw-r--r--src/widgets/dialogs/qfiledialog.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp
index 240e9979d8..c60f2476c3 100644
--- a/src/widgets/dialogs/qfiledialog.cpp
+++ b/src/widgets/dialogs/qfiledialog.cpp
@@ -2966,7 +2966,11 @@ void QFileDialogPrivate::_q_enterDirectory(const QModelIndex &index)
lineEdit()->clear();
}
} else {
- q->accept();
+ // 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)
+ || q->fileMode() != QFileDialog::ExistingFiles || !(QGuiApplication::keyboardModifiers() & Qt::CTRL)) {
+ q->accept();
+ }
}
}