qt6-bb10/tests/auto/widgets
Axel Spoerl 78a3301372 QDialogButtonBox: Don't set focus in a dialog with StrongFocus children
A QDialogButtonBox with the first accept button becoming default, didn't
explicitly set focus on such a button in a QDialog.
d44413d526 implemented this missing
functionality. It set focus to the automatic default button, unless the
QDialog had a focusWidget() set.

That has caused a regression, in cases where
- the QDialog has a QWidget child with a Qt::StrongFocus policy, and
- the QDialog is not yet visible, so focusWidget() returns nullptr.

Amend d44413d526ec12ed83acd7343c2005782178c7ad:

Implement a helper in QWidgetPrivate, that returns true, if a child
with a given focus policy is found.

Do not set focus to a QDialogButtonBox's automatic default button, when
- not located inside a QDialog, or
- a focusWidget() exists, or
- the dialog has QWidget child with Qt::StrongFocus, that is not a
child of the QDialogButtonBox.

Add an autotest function.

Pick-to: 6.7 6.6 6.5
Fixes: QTBUG-121514
Fixes: QTBUG-120049
Change-Id: I3c65ae36b56657f9af4a3a4b42f9b66e8bc5c534
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-03-07 23:00:33 +00:00
..
dialogs Change license for tests files 2024-02-04 09:56:42 +01:00
effects Change license for tests files 2024-02-04 09:56:42 +01:00
graphicsview Remove extra semi-colons 2024-02-06 20:17:18 +09:00
itemviews QAbstractItemView: Release tab focus when hidden 2024-02-29 12:36:16 +01:00
kernel Revert "tests: blacklist tst_QWidget::render() on Wayland" 2024-03-04 10:04:31 +00:00
styles Change license for tests files 2024-02-04 09:56:42 +01:00
util Change license for tests files 2024-02-04 09:56:42 +01:00
widgets QDialogButtonBox: Don't set focus in a dialog with StrongFocus children 2024-03-07 23:00:33 +00:00
CMakeLists.txt tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00