diff options
author | Maximilian Hrabowski <maximilian.hrabowski@clausmark.com> | 2014-10-08 20:07:31 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2014-10-13 13:53:28 +0200 |
commit | 4cbb99c5e23cb56633b78636bdb7113cd9914a61 (patch) | |
tree | f8e2298a0f6aca6f62d93e1257d1cdf180ed8993 /src/widgets | |
parent | 2b4cda3852cf92fdff3ce4956f8752a99e44cf56 (diff) |
QAbstractItemView: fix CTRL+A select all behavior
The check for Qt::Key_A to handle selectAll was changed to directly
compare to QKeySequence::SelectAll as this will only match Ctrl. The
former implementation also triggered when e.g. Shift was pressed.
Added a check that selectAll is only called when selection is not
disabled, i.e. selectionMode=NoSelection.
Added a unit test for selectAll().
Task-number: QTBUG-26687
Change-Id: I721e7ab590b55d7d754b3b74ef01756fa5aa1315
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/itemviews/qabstractitemview.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/widgets/itemviews/qabstractitemview.cpp b/src/widgets/itemviews/qabstractitemview.cpp index a77448cbc4..34e0a8faa0 100644 --- a/src/widgets/itemviews/qabstractitemview.cpp +++ b/src/widgets/itemviews/qabstractitemview.cpp @@ -2409,12 +2409,11 @@ void QAbstractItemView::keyPressEvent(QKeyEvent *event) } break; #endif - case Qt::Key_A: - if (event->modifiers() & Qt::ControlModifier) { + default: { + if (event == QKeySequence::SelectAll && selectionMode() != NoSelection) { selectAll(); break; } - default: { #ifdef Q_WS_MAC if (event->key() == Qt::Key_O && event->modifiers() & Qt::ControlModifier && currentIndex().isValid()) { emit activated(currentIndex()); |