qt6-bb10/tests/auto/widgets/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
..
qabstractbutton Change license for tests files 2024-02-04 09:56:42 +01:00
qabstractscrollarea Change license for tests files 2024-02-04 09:56:42 +01:00
qabstractslider Change license for tests files 2024-02-04 09:56:42 +01:00
qabstractspinbox Change license for tests files 2024-02-04 09:56:42 +01:00
qbuttongroup Change license for tests files 2024-02-04 09:56:42 +01:00
qcalendarwidget Change license for tests files 2024-02-04 09:56:42 +01:00
qcheckbox Change license for tests files 2024-02-04 09:56:42 +01:00
qcombobox Change license for tests files 2024-02-04 09:56:42 +01:00
qcommandlinkbutton Change license for tests files 2024-02-04 09:56:42 +01:00
qdatetimeedit Remove extra semi-colons 2024-02-06 20:17:18 +09:00
qdial Change license for tests files 2024-02-04 09:56:42 +01:00
qdialogbuttonbox QDialogButtonBox: Don't set focus in a dialog with StrongFocus children 2024-03-07 23:00:33 +00:00
qdockwidget Refactor and fix QMainWindow::tabifiedDockWidgets() 2024-02-29 21:14:40 +00:00
qdoublespinbox Change license for tests files 2024-02-04 09:56:42 +01:00
qfocusframe Change license for tests files 2024-02-04 09:56:42 +01:00
qfontcombobox Change license for tests files 2024-02-04 09:56:42 +01:00
qframe Change license for tests files 2024-02-04 09:56:42 +01:00
qgroupbox Change license for tests files 2024-02-04 09:56:42 +01:00
qkeysequenceedit Change license for tests files 2024-02-04 09:56:42 +01:00
qlabel Change license for tests files 2024-02-04 09:56:42 +01:00
qlcdnumber Change license for tests files 2024-02-04 09:56:42 +01:00
qlineedit Revert "QAndroidPlatformInputContext: send composition text and cursor jointly" 2024-03-05 14:29:20 +00:00
qmainwindow Remove extra semi-colons 2024-02-06 20:17:18 +09:00
qmdiarea Change license for tests files 2024-02-04 09:56:42 +01:00
qmdisubwindow Remove extra semi-colons 2024-02-06 20:17:18 +09:00
qmenu Change license for tests files 2024-02-04 09:56:42 +01:00
qmenubar Change license for tests files 2024-02-04 09:56:42 +01:00
qopenglwidget Change license for tests files 2024-02-04 09:56:42 +01:00
qplaintextedit Q(Plain)TextEdit: don't crash when using a style sheet 2024-02-07 02:17:37 +01:00
qprogressbar Change license for tests files 2024-02-04 09:56:42 +01:00
qpushbutton Change license for tests files 2024-02-04 09:56:42 +01:00
qradiobutton Change license for tests files 2024-02-04 09:56:42 +01:00
qrhiwidget QRhiWidget: Tear down resources before window has changed 2024-02-14 18:51:29 +01:00
qscrollarea Change license for tests files 2024-02-04 09:56:42 +01:00
qscrollbar Change license for tests files 2024-02-04 09:56:42 +01:00
qsizegrip Change license for tests files 2024-02-04 09:56:42 +01:00
qslider Change license for tests files 2024-02-04 09:56:42 +01:00
qspinbox Change license for tests files 2024-02-04 09:56:42 +01:00
qsplashscreen Change license for tests files 2024-02-04 09:56:42 +01:00
qsplitter Change license for tests files 2024-02-04 09:56:42 +01:00
qstackedwidget Change license for tests files 2024-02-04 09:56:42 +01:00
qstatusbar Change license for tests files 2024-02-04 09:56:42 +01:00
qtabbar Change license for tests files 2024-02-04 09:56:42 +01:00
qtabwidget Change license for tests files 2024-02-04 09:56:42 +01:00
qtextbrowser Change license for tests files 2024-02-04 09:56:42 +01:00
qtextedit Q(Plain)TextEdit: don't crash when using a style sheet 2024-02-07 02:17:37 +01:00
qtoolbar Change license for tests files 2024-02-04 09:56:42 +01:00
qtoolbox Change license for tests files 2024-02-04 09:56:42 +01:00
qtoolbutton Change license for tests files 2024-02-04 09:56:42 +01:00
CMakeLists.txt QSplashScreen: Enforce visibility by processing events 2023-12-14 20:25:16 +01:00