diff options
| author | Richard Moe Gustavsen <richard.gustavsen@qt.io> | 2022-11-18 22:39:31 +0100 |
|---|---|---|
| committer | Richard Moe Gustavsen <richard.gustavsen@qt.io> | 2022-11-25 00:04:03 +0100 |
| commit | 2becb1c2073b3bcc0a108c4d7d9ce5b60f29306b (patch) | |
| tree | 0270aaf559aa560675ba7182a43b3da9aa480bf4 /src/quick/items/qquicktableview.cpp | |
| parent | ac4fea75379467dde9065825d3f15da3b86e9ad8 (diff) | |
QQuickTableView: respect activeFocusOnTab
QQuickItem has a activeFocusOnTab property
which should also be respected by TableView.
When disabled, TableView should not transfer
focus between the cells when the user
hits the tab key.
Change-Id: I234286926b58753fa50923321302d4fa108a4515
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
Diffstat (limited to 'src/quick/items/qquicktableview.cpp')
| -rw-r--r-- | src/quick/items/qquicktableview.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/quick/items/qquicktableview.cpp b/src/quick/items/qquicktableview.cpp index 1af135e6aa..1a1fafa2a2 100644 --- a/src/quick/items/qquicktableview.cpp +++ b/src/quick/items/qquicktableview.cpp @@ -4306,6 +4306,7 @@ void QQuickTableViewPrivate::init() Q_Q(QQuickTableView); q->setFlag(QQuickItem::ItemIsFocusScope); + q->setActiveFocusOnTab(true); positionXAnimation.setTargetObject(q); positionXAnimation.setProperty(QStringLiteral("contentX")); @@ -4430,6 +4431,14 @@ bool QQuickTableViewPrivate::setCurrentIndexFromKeyEvent(QKeyEvent *e) const QPoint currentCell = q->cellAtIndex(currentIndex); const bool select = (e->modifiers() & Qt::ShiftModifier) && (e->key() != Qt::Key_Backtab); + if (!q->activeFocusOnTab()) { + switch (e->key()) { + case Qt::Key_Tab: + case Qt::Key_Backtab: + return false; + } + } + if (!cellIsValid(currentCell)) { switch (e->key()) { case Qt::Key_Up: |
