diff options
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: |
