2 * Copyright 2017 Canonical Ltd.
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation; version 3.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU Lesser General Public License for more details.
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
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)
56 // Needed so we eat Tab keys when there's only one item inside the fence
57 if (event->key() == Qt::Key_Tab) {
60 QQuickItem::keyPressEvent(event);
64void TabFocusFenceItem::keyReleaseEvent(QKeyEvent *event)
66 // Needed so we eat Tab keys when there's only one item inside the fence
67 if (event->key() == Qt::Key_Tab) {
70 QQuickItem::keyReleaseEvent(event);
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list