summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows/accessible/iaccessible2.h
Commit message (Collapse)AuthorAgeFilesLines
* Windows QPA: Fix compilation with MinGW 7.1Friedemann Kleint2017-07-291-0/+1
| | | | | | | | | | | | | | | | | | MinGW 7.1 claims the qUuidOf<> specializations are unused: In file included from accessible\qwindowsaccessibility.cpp:59:0: accessible\iaccessible2.h:274:5: error: 'IID qUuidOf() [with DesiredInterface = IAccessible2]' defined but not used [-Werror=unused-function] IID qUuidOf<IAccessible2>() { return IID_IAccessible2; } ^~~~~~~~~~~~~~~~~~~~~ In file included from accessible\qwindowsaccessibility.cpp:59:0: accessible\iaccessible2.h:58:5: error: 'IID qUuidOf() [with DesiredInterface = IAccessibleComponent]' defined but not used [-Werror=unused-function] IID qUuidOf<IAccessibleComponent>() { return IID_IAccessibleComponent; } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Amends 4f599c5ea180f5246adf2a95c158b50f027a8c21. Change-Id: Iafcfe8b8d8ca9cdf00663f39ad491347b51d3ace Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* Enable IAccessible2 for MinGWFriedemann Kleint2017-07-251-0/+22
| | | | | | | | | | | MinGW 5.3 is able to compile the IAccessible2 classes. All that is needed is some way to provide the missing IIDs, which is done via specialization of a function template (similar to the MinGW's __uuidof operator). [ChangeLog][Windows][Accessibility] MinGW builds now support IAccessible2. Change-Id: I218a4b89c81b54aa96f7c743544388631ca9a53e Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* Windows QPA: Remove debug helper QWindowsMsaaAccessible::IIDToString()Friedemann Kleint2017-02-171-1/+0
| | | | | | | | | The virtual function was used to output known IIDs by name for debugging purposes. Add a debug operator for GUID and a wrapper class with a special debug operator for the accessiblity IIDs. Change-Id: I24787c6914f5cb0847782928fadb8ed4d3b808a1 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Windows: Introduce helper class for implementing COM interfacesFriedemann Kleint2017-02-171-19/+4
| | | | | | | Task-number: QTBUG-43190 Change-Id: I565e3c57631c32a88ac7598758526c349ddf3312 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Updated license headersJani Heikkinen2016-01-151-14/+20
| | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I046ec3e47b1876cd7b4b0353a576b352e3a946d9 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into devOswald Buddenhagen2014-09-291-18/+10
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qbytearray.cpp src/gui/image/qimage.cpp src/gui/image/qppmhandler.cpp src/gui/kernel/qguiapplication.cpp src/gui/painting/qpaintengine_raster.cpp Change-Id: I7c1a8e7ebdfd7f7ae767fdb932823498a7660765
| * Update license headers and add new license filesMatti Paaso2014-09-241-18/+10
| | | | | | | | | | | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* | Update IAccessible2 to 1.3.0Frederik Gladhorn2014-08-131-18/+1
|/ | | | | | | | | In addition change to the one in all file instead of individual interfaces. Future updates only have to copy the new version of ia2_api_all.idl and run nmake. Change-Id: Ie7a1e65c8dd0c73809ac97aae2d586f425337f18 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Update copyright to 2014 for accessibilityFrederik Gladhorn2014-07-041-1/+1
| | | | | Change-Id: I4210456122bf8a6d3730f017f3ce6dd1a1bcb3f5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix compilation with /Zc:strictStringsThiago Macieira2014-06-201-1/+1
| | | | | | | You can't assign a wide-character literal to a non-const wchar_t*. Change-Id: I3ec8d4064f8e901bb1c6ff14cdf41550b04c593d Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* AccessibleRelation::get_relationType didn't handle all enum values.Jan Arve Saether2013-10-021-0/+12
| | | | | | Add some more tests for relations Change-Id: I934cd6aed36ca5ca88786325ed364fbc3abfc6f7 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Cache QAccessibleInterfaces.Frederik Gladhorn2013-04-021-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since there already is a one-to-one relationship between QObject and QAccessibleInterface it makes little sense to create and destroy the interfaces on each call to queryAccessibleInterface. Add a cache and keep created interfaces around for the lifetime of the corresponding QObject. This changes the memory management rules: accessible interfaces must no longer be deleted. If you get an QAccessibleIntrface pointer that pointer will stay valid as long as the corresponding QObject is not deleted. This also re-enables accessibility for Mac. We limit the range of the IDs so that they are useable for Windows directly. That means we can get rid of the event cache there. This is based on: Iebf2f374916fc70a9dd29e95f45a6444b85f6cee Change-Id: I9fe6531812c0dbc5b41101ac05830a6dd75e13a3 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-221-24/+24
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Remove clipboard operations from QAccessibleEditableTextInterfaceJan-Arve Saether2012-07-111-3/+3
| | | | | | | | | | | | | | | | | | Also, remove its subclass QAccessibleSimpleEditableTextInterface Instead of having the subclass that implements this conveniently, we move this behaviour over to the bridge. The bridge should check if role() == EditableText is set, and then it should try to support the IAccessibleEditableText interface (i.e. it should accept the calls to replaceText(), deleteText() and insertText()) and change the text with the following operations: 1. Query the text using QAccessibleTextInterface::text() or by using QAccessibleInterface::text(QAccessible::Value) as a fallback 2. Do the requested delete/insert/replace manipulation 3. Update the text with setText(QAccessible::Value, newText); Change-Id: Iee5e41faf14351951e2bfca8c9eac970a113e878 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Minor cleanup of the header file.Jan-Arve Saether2012-04-131-69/+11
| | | | | | | | Move inline implementations to iaccessible2.cpp. Makes it easier to read and navigate the source code. Change-Id: I8da44ba0d40395356f612ff6b3ce2a808105838a Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* Add missing virtual destructor.Jan-Arve Saether2012-04-101-0/+2
| | | | | Change-Id: I94ac82ad4771b2b4c36ac24cc412fa43a0d77afb Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* Enable IAccessible for MinGW32, keep IAccessible2 disabled for MinGWJan-Arve Saether2012-03-241-6/+1
| | | | | | | | | | | | | No surprise, the files generated by midl contains code that only the MS compiler will understand. However, since the generated files are only needed for IA2, we can still compile the old IAccessible/MSAA implementation for mingw (like it was before the introduction of IA2) I used mingw 4.6.1 to test this. Change-Id: Iad581f2fee087bd7b796ac5a01548f2fcacbd595 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* API cleanup: remove CoordinateType enumJan-Arve Saether2012-03-241-0/+34
| | | | | | | | The bridge can do the mapping to and from screen position. This is now done in the windows bridge. Change-Id: I5ca5df0fbeeb58202539f55a0f62717fb1685092 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Fix compilation of the Windows accessibility code for MinGW.Friedemann Kleint2012-03-141-0/+4
| | | | | | | Temporarily disable the code for MinGW. Change-Id: I435305167e06af05b9a78901e6e3a35347c5c3f5 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Add support for IAccessible2 on WindowsJan-Arve Saether2012-03-131-0/+375
Change-Id: Ia955ab46dc5037ed1c74e0acc525e98b02552c97 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>