qt5base-lts/tests/auto/widgets
Richard Moe Gustavsen b4981f9d4c Widgets: change QWidget::setTabOrder to understand compound widgets
A "compound widget" is a widget that has a focus proxy set to an inner
child. This is normal for complex black-box components where focus handling
is delegated to the children. Since the compound can have several
children, a local tab order might exist between them.

The current implementation of setTabOrder had no idea about
compound widgets. As such, when connecting two compounds in the
tab chain, it would just break up their inner tab order and
cause tabbing to ignore children other than the proxy.

The new implementation recognizes compound widgets, and add some
extra code to figure out the correct tab targets. This way, the
local tab order between the children will be preserved.

This implementation was inspired by the patches of Marek Wieckowski posted
in the linked bug report, and later modified by Nikita Krupenko.

[ChangeLog][Widgets] QWidget::setTabOrder() will now preserve the local
tab order inside a widget if it has a focus proxy set to an inner child.

Task-number: QTBUG-10907
Change-Id: I0673d39d70ec8c6bf64af30bf978d67c651b2f3c
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2017-10-04 11:27:18 +00:00
..
dialogs Merge remote-tracking branch 'origin/5.9' into 5.10 2017-09-20 11:58:32 +02:00
effects Revert "QWidgetEffectSourcePrivate::draw(): Call render() when no shared painter exists" 2017-06-14 13:00:35 +00:00
graphicsview Blacklist tst_QGraphicsScene::isActive in openSUSE 42.3 2017-09-20 09:48:36 +00:00
itemviews Blacklist tst_QItemDelegate::enterKey tests on openSUSE 42.3 2017-09-22 14:34:30 +00:00
kernel Widgets: change QWidget::setTabOrder to understand compound widgets 2017-10-04 11:27:18 +00:00
styles Merge remote-tracking branch 'origin/5.9' into dev 2017-08-02 22:52:32 +02:00
util Convert features.filesystemmodel to QT_[REQUIRE_]CONFIG 2017-07-02 10:39:04 +00:00
widgets Merge remote-tracking branch 'origin/5.9' into 5.10 2017-09-06 13:26:31 +02:00
widgets.pro Move QGestureRecognizer test to widgets/kernel 2017-06-02 18:36:11 +00:00