17#include "tabfocusfence.h"
19#include <private/qquickitem_p.h>
21TabFocusFenceItem::TabFocusFenceItem(QQuickItem *parent) : QQuickItem(parent)
23 QQuickItemPrivate *d = QQuickItemPrivate::get(
this);
25 setFlag(ItemIsFocusScope);
28bool TabFocusFenceItem::focusNext()
30 QQuickItem * current = scopedFocusItem();
32 QQuickItem * next = current->nextItemInFocusChain(
true);
34 next->setFocus(
true, Qt::TabFocusReason);
41bool TabFocusFenceItem::focusPrev()
43 QQuickItem * current = scopedFocusItem();
45 QQuickItem * prev = current->nextItemInFocusChain(
false);
47 prev->setFocus(
true, Qt::BacktabFocusReason);
54void TabFocusFenceItem::keyPressEvent(QKeyEvent *event)
57 if (event->key() == Qt::Key_Tab) {
60 QQuickItem::keyPressEvent(event);
64void TabFocusFenceItem::keyReleaseEvent(QKeyEvent *event)
67 if (event->key() == Qt::Key_Tab) {
70 QQuickItem::keyReleaseEvent(event);