diff options
-rw-r--r-- | src/quick/items/qquickitem.cpp | 5 | ||||
-rw-r--r-- | src/quick/items/qquickwindow.cpp | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp index 022aaa7e3b..0b3d91ffe5 100644 --- a/src/quick/items/qquickitem.cpp +++ b/src/quick/items/qquickitem.cpp @@ -1534,6 +1534,11 @@ void QQuickItemPrivate::setAccessibleFlagAndListener() } } +/*! +Clears all sub focus items from \a scope. +If \a focus is true, sets the scope's subFocusItem +to be this item. +*/ void QQuickItemPrivate::updateSubFocusItem(QQuickItem *scope, bool focus) { Q_Q(QQuickItem); diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index 53b731b3f1..48e2aceebe 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -608,6 +608,11 @@ void QQuickWindowPrivate::translateTouchEvent(QTouchEvent *touchEvent) touchEvent->setTouchPoints(touchPoints); } +/*! +Set the focus inside \a scope to be \a item. +If the scope contains the active focus item, it will be changed to \a item. +Calls notifyFocusChangesRecur for all changed items. +*/ void QQuickWindowPrivate::setFocusInScope(QQuickItem *scope, QQuickItem *item, Qt::FocusReason reason, FocusOptions options) { Q_Q(QQuickWindow); @@ -627,13 +632,13 @@ void QQuickWindowPrivate::setFocusInScope(QQuickItem *scope, QQuickItem *item, Q QQuickItemPrivate *scopePrivate = scope ? QQuickItemPrivate::get(scope) : 0; QQuickItemPrivate *itemPrivate = QQuickItemPrivate::get(item); - QQuickItem *oldActiveFocusItem = 0; QQuickItem *newActiveFocusItem = 0; QVarLengthArray<QQuickItem *, 20> changed; // Does this change the active focus? if (item == contentItem || (scopePrivate->activeFocus && item->isEnabled())) { + QQuickItem *oldActiveFocusItem = 0; oldActiveFocusItem = activeFocusItem; newActiveFocusItem = item; while (newActiveFocusItem->isFocusScope() |