Go to file
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
bin don't try to timestamp injected qvulkanfunctions.h 2017-03-22 15:49:19 +00:00
config.tests Clean up OS version checks for Apple platforms 2017-09-29 03:30:13 +00:00
dist Add change file for Qt 5.6.3 2017-09-05 14:54:38 +00:00
doc Doc: Remove entries for highlighting QQC2 examples 2017-09-29 11:29:31 +00:00
examples QtNetwork (examples) - update the second download manager example 2017-10-02 17:16:21 +00:00
lib
mkspecs qmake: Allow non-bundle apps and libs to have an Info.plist 2017-09-29 10:08:08 +00:00
qmake Merge remote-tracking branch 'origin/5.9' into 5.10 2017-09-20 11:58:32 +02:00
src Widgets: change QWidget::setTabOrder to understand compound widgets 2017-10-04 11:27:18 +00:00
tests Widgets: change QWidget::setTabOrder to understand compound widgets 2017-10-04 11:27:18 +00:00
util Add byte-based units to CLDR data 2017-06-13 11:28:09 +00:00
.gitattributes
.gitignore GitIgnore config.status.bat and config.tests/.qmake.stash 2017-06-13 05:58:30 +00:00
.qmake.conf Bump version 2017-07-03 07:22:45 +00:00
.tag
config_help.txt Add qmake feature and configure option to use ccache 2017-09-05 10:47:35 +00:00
configure configure: dispose of which.test 2017-08-02 16:37:32 +00:00
configure.bat configure: balk at any of {{,X}QMAKESPEC,QMAKE{PATH,FEATURES}} being set 2017-04-21 09:22:27 +00:00
configure.json Merge remote-tracking branch 'origin/5.9' into 5.10 2017-09-06 13:26:31 +02:00
configure.pri Append the QMAKE_EXTRA_ARGS to the output instead of overwriting it 2017-08-25 10:32:32 +00:00
header.BSD
header.BSD-OLD
header.COMM
header.FDL
header.FDL-OLD
header.GPL
header.GPL-EXCEPT
header.LGPL
header.LGPL3
header.LGPL3-COMM
header.LGPL21
header.LGPL-NOGPL2
header.LGPL-ONLY
INSTALL
LGPL_EXCEPTION.txt
LICENSE.FDL
LICENSE.GPL2
LICENSE.GPL3
LICENSE.GPL3-EXCEPT
LICENSE.GPLv3 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.LGPL3
LICENSE.LGPLv3 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.LGPLv21 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.PREVIEW.COMMERCIAL
qtbase.pro nuke configure -host-option 2016-12-13 18:55:59 +00:00
sync.profile Fix syncqt after commit 40fe5d43fd 2017-09-08 13:21:47 +00:00