aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquicktableview.cpp
diff options
context:
space:
mode:
authorRichard Moe Gustavsen <richard.gustavsen@qt.io>2022-11-18 22:39:31 +0100
committerRichard Moe Gustavsen <richard.gustavsen@qt.io>2022-11-25 00:04:03 +0100
commit2becb1c2073b3bcc0a108c4d7d9ce5b60f29306b (patch)
tree0270aaf559aa560675ba7182a43b3da9aa480bf4 /src/quick/items/qquicktableview.cpp
parentac4fea75379467dde9065825d3f15da3b86e9ad8 (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.cpp9
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: