qt6-bb10/tests/auto/other
Miguel Costa d25d9f2c26 Clean up windows accessibility backend
What was done:

 * Removed headers in src/gui/accessible/windows/apisupport: as of
   v13.1.0, MinGW supports most of the definitions in these headers.
   Including uiautomation.h should be enough.

 * Removed the QWindowsUiaWrapper class: it's not meant to be extended
   or itself instantiated, is an "ultra-thin" layer (it even preserves
   the "all-caps" Win types of function args), and is in effect only a
   MinGW-bound "kludge". Instead of this class, use the UI Automation
   API directly, with the assumption that it's available and fully
   functional, as specified in the MS docs. Any gaps between this
   assumption and what is delivered by MinGW are bridged with specific
   (and explicit) temporary "kludges".

 * Implemented said specific "kludges" in qwindowsuiautomation. For
   Windows builds, the header just includes uiautomation.h, and the
   .cpp is empty. For MinGW, the header contains definitions still
   missing from uiautomation.h, and the .cpp implements functions
   of the UI Automation core library through imports from the
   uiautomationcore DLL.

 * Windows plugins (and tst_qaccessibility): use the UI Automation API
   definitions directly, instead of the "ultra-thin" wrapper.

 * Windows plugin builds: use uiautomationcore library, if found.

What's intended:

 * Unburden Gui of the Windows UI Automation COM interfaces and other
   definitions that are copied in the uia*.h headers.

 * Make the Windows plugins independent of MinGW shortcomings.

 * Remove the QWindowsUiaWrapper class that essentially only hides these
   shortcomings and the "kludge" code needed to overcome them.

 * As MinGW adds further support to the UI Automation API over time,
   make it noticeable which workarounds are no longer needed. The
   current approach of hiding "kludges" in a wrapper class will also
   hide the fact that they're no longer needed, if/when that time comes.

Change-Id: I0070636817d5de81d0b106e9179e2d0442362e2a
Reviewed-by: Wladimir Leuschner <wladimir.leuschner@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2024-03-27 15:35:15 +01:00
..
android_deployment_settings Change license for tests files 2024-02-04 09:56:42 +01:00
gestures Change license for tests files 2024-02-04 09:56:42 +01:00
languagechange Change license for tests files 2024-02-04 09:56:42 +01:00
macgui Change license for tests files 2024-02-04 09:56:42 +01:00
macnativeevents Change license for tests files 2024-02-04 09:56:42 +01:00
macplist Change license for tests files 2024-02-04 09:56:42 +01:00
networkselftest Change license for tests files 2024-02-04 09:56:42 +01:00
qabstractitemmodelutils Change license for tests files 2024-02-04 09:56:42 +01:00
qaccessibility Clean up windows accessibility backend 2024-03-27 15:35:15 +01:00
qaccessibilitylinux Change license for tests files 2024-02-04 09:56:42 +01:00
qaccessibilitymac Change license for tests files 2024-02-04 09:56:42 +01:00
qcomplextext Tests: check the output of QFile::open 2024-03-27 04:24:11 +01:00
qfocusevent Change license for tests files 2024-02-04 09:56:42 +01:00
qnetworkaccessmanager_and_qprogressdialog Change license for tests files 2024-02-04 09:56:42 +01:00
qobjectrace Change license for tests files 2024-02-04 09:56:42 +01:00
qprocess_and_guieventloop Change license for tests files 2024-02-04 09:56:42 +01:00
qsharedpointer_and_qwidget Change license for tests files 2024-02-04 09:56:42 +01:00
qvariant_common Change license for tests files 2024-02-04 09:56:42 +01:00
sessionmanagement_macos Change license for tests files 2024-02-04 09:56:42 +01:00
toolsupport tst_toolsupport: make the i386 case really about i386 2024-03-06 11:09:16 +01:00
xkbkeyboard Change license for tests files 2024-02-04 09:56:42 +01:00
CMakeLists.txt Disable android_deployment_settings test for non-standalone scenario 2023-08-25 18:37:23 +02:00