summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows/uiautomation/qwindowsuiamainprovider.h
Commit message (Collapse)AuthorAgeFilesLines
* a11y uia: Forward new QAccessibleAnnouncementEvent to UIAMichael Weghorn5 days1-0/+1
| | | | | | | | | | | | | | | | | | | | | Bridge the newly added QAccessibleAnnouncementEvent to UIA on Windows, by calling UiaRaiseNotificationEvent [1]. This makes the announcement from the example app attached to QTBUG-75003 work when using the NVDA screen reader on Windows. As described in commit d25d9f2c2673bc287590d9a83bd7ef1357d7021a, implement the UiaRaiseNotificationEvent function for MingW in qwindowsuiautomation as MingW doesn't provide that itself yet (see the earlier MingW build failure without that "kludge" in place: [2]). [1] https://learn.microsoft.com/en-us/windows/win32/api/uiautomationcoreapi/nf-uiautomationcoreapi-uiaraisenotificationevent [2] https://testresults.qt.io/logs/qt/qtbase/e56b201c7260ebb02ca2d030a71b9f11e40a08ac/WindowsWindows_11_23H2x86_64WindowsWindows_11_23H2x86_64Clangqtci-windows-11_23H2-x86_64-52-8f4da0Sccache_UseConfigure/a2e63edda6293b516dbe4a96615c7aa3530d3c4d/build_1714142084/log.txt.gz Fixes: QTBUG-75003 Change-Id: Ia32d49276e0dd33cff5113b4169ee317869390e7 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Use QComObject with QWindowsUiaMainProviderPavel Dubsky2024-04-181-6/+2
| | | | | | | | This change adds QComObject as base to QWindowsUiaMainProvider in order to reuse its implementation of IUnknown. Change-Id: I48808262364992f90f18fc881594f151eeb29a3f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* a11y uia: Bridge newly added relations to UIAMichael Weghorn2023-07-131-0/+1
| | | | | | | | | | | | | | | | Support UIA property IDs UIA_DescribedByPropertyId, UIA_FlowsFromPropertyId and UIA_FlowsToPropertyId by using the Qt relation types newly introduced in f5358e5932bc8701621389c265c4ea86c92c536c. As described in f5358e5932bc8701621389c265c4ea86c92c536c and afbfe30093d49eff0ec4c28c220d33c233b9f807 for AT-SPI, the relation type needs to be "inverted" for UIA just the same, since Qt's semantics is the other way around. Task-number: QTBUG-105864 Change-Id: Id557389af6609197f4c3b37741e4201028627004 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Fix cache maybe invalid while the signal is actived from queueJannis Xiong2023-01-061-0/+2
| | | | | | | | | with default QObject::connect signal may active from next message loop. invalide cache will hit while accessibility interface is called from windows. Invalide cache will lead to a crash Fixes: QTBUG-106653 Pick-to: 5.15 6.2 6.3 6.4 Change-Id: I5359672bcd60ed6cfb2edf238645225164cb1b88 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Use SPDX license identifiersLucie Gérard2022-05-161-38/+2
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Windows QPA: Fix missing accessible name change eventsAndre de la Rocha2020-05-101-0/+1
| | | | | | | | | | | | | | Accessible name change events were not being relayed through UI Automation. This caused changes in the state of combo boxes and possibly other quick controls to be missed by UI Automation clients. This would result, for instance, in Narrator not reading the state of a combo box when its current index was changed with the keyboard. Fixes: QTBUG-70621 Pick-to: 5.15 Change-Id: I16de0ff2bb0fb5227111d5347c25f442e9b0a533 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Windows QPA: Replace Q_DISABLE_COPY by Q_DISABLE_COPY_MOVEFriedemann Kleint2019-05-241-1/+1
| | | | | | | | | | | Fix clang warnings like: warning: class 'QWindowsStaticOpenGLContext' defines a default destructor, a copy constructor and a copy assignment operator but does not define a move constructor or a move assignment operator [cppcoreguidelines-special-member-functions Change-Id: I736d20476ef407100b6ecb654d1112106e545758 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Windows QPA: Fix QComboBox accessibility with screen readersAndre de la Rocha2019-04-121-0/+1
| | | | | | | | | | | | Screen readers like NVDA and Narrator were not reading the contents of a QComboBox when changing its value using the keyboard, without expanding it, due to missing UI Automation notifications in this case. This change should also help in other cases where updated string values were not notified to screen readers. Fixes: QTBUG-75066 Change-Id: Id7f488380aec5ad27fd11b3cf854d44ab1b28688 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Windows UI automation: Add missing overrideFriedemann Kleint2018-09-261-1/+1
| | | | | | | | | | Fix warning by clang-cl: qwindowsuiamainprovider.h(89,31): warning: 'SetFocus' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] HRESULT STDMETHODCALLTYPE SetFocus(); Task-number: QTBUG-63512 Change-Id: Iac3cbf8577423ed799796034953be39ed1663116 Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Fix minor stuff in Windows UI Automation supportAndre de la Rocha2018-06-271-17/+17
| | | | | | | | | Adding missing "override" keywords in overridden interfaces, using "#if QT_CONFIG(accessibility)" instead of "#ifndef QT_NO_ACCESSIBILITY", and other minor bits. No change in behavior expected. Change-Id: Ief0e23cb7b577dd3e4af21750b6beccc80d6a2f8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Windows QPA: Fix Qt include statementsFriedemann Kleint2018-05-231-4/+4
| | | | | | | | | | | | Change #include <QtCore/QDebug> to #include <QtCore/qdebug.h> according to the coding style. Change-Id: I6ba8a7424c548ddde1d18f3f6f4f87e30973d710 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add support for Windows UI AutomationAndre de la Rocha2017-11-141-0/+105
Replaces the Qt Accessibility Windows back end, formerly based on legacy MSAA, with a new implementation based on UI Automation. Fixes issues with accessibility tools like screen readers and magnifiers, and with the automatic showing and hiding of the virtual keyboard in touchscreen-based Windows computers. [ChangeLog][Windows] The Windows Accessibility back end, formerly based on Microsoft Active Accessibility, was replaced with a new implementation based on Microsoft UI Automation. Task-number: QTPM-487 Task-number: QTBUG-53024 Task-number: QTBUG-43190 Task-number: QTBUG-61926 Task-number: QTBUG-38499 Task-number: QTBUG-38337 Task-number: QTBUG-38501 Task-number: QTBUG-38502 Task-number: QTBUG-38504 Task-number: QTBUG-38505 Task-number: QTBUG-38507 Change-Id: I20b4f8f5e938fef791c6e9c577fcd919140999bd Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>