From 6328dd2d2743ed540efea89742261f24552d7611 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Thu, 2 Jul 2015 18:20:41 +0200 Subject: Add isTabFence private flag When an item has this flag set, the user can't tab-navigate either out of it, or enter it. We use this flag to implement QQuickPanel as an item for platforms that only support one single top-level window. Change-Id: I1f4313912ae1c70217af0d4d21064932b50a9438 Reviewed-by: Mitch Curtis --- src/quick/items/qquickitem_p.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/quick/items/qquickitem_p.h') diff --git a/src/quick/items/qquickitem_p.h b/src/quick/items/qquickitem_p.h index 942b51bf68..6670975f20 100644 --- a/src/quick/items/qquickitem_p.h +++ b/src/quick/items/qquickitem_p.h @@ -427,6 +427,12 @@ public: bool activeFocusOnTab:1; bool implicitAntialiasing:1; bool antialiasingValid:1; + // isTabFence: When true, the item acts as a fence within the tab focus chain. + // This means that the item and its children will be skipped from the tab focus + // chain when navigating from its parent or any of its siblings. Similarly, + // when any of the item's descendants gets focus, the item constrains the tab + // focus chain and prevents tabbing outside. + bool isTabFence:1; enum DirtyType { TransformOrigin = 0x00000001, @@ -498,6 +504,8 @@ public: void itemToParentTransform(QTransform &) const; static bool focusNextPrev(QQuickItem *item, bool forward); + static QQuickItem *nextTabChildItem(const QQuickItem *item, int start); + static QQuickItem *prevTabChildItem(const QQuickItem *item, int start); static QQuickItem *nextPrevItemInTabFocusChain(QQuickItem *item, bool forward); static bool canAcceptTabFocus(QQuickItem *item); -- cgit v1.2.3