summaryrefslogtreecommitdiffstats
path: root/src/gui/accessible/qaccessible.h
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* QtGui: Use Q_NULLPTR instead of 0 in all public headersMarc Mutz2015-07-191-2/+2
| | | | | | | | | This is in preparation of adding -Wzero-as-null-pointer-constant (or similar) to the headers check. Task-number: QTBUG-45291 Change-Id: I72ab40b21a9499b53a639564fa45884de17b6c98 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-07-011-6/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.cpp src/corelib/global/qglobal.h src/corelib/global/qsysinfo.h src/corelib/global/qsystemdetection.h src/corelib/kernel/qobjectdefs.h src/plugins/plugins.pro tests/auto/widgets/itemviews/qlistview/qlistview.pro Change-Id: Ib55aa79d707c4c1453fb9d697f6cf92211ed665c
| * Fix signature of new methodsLars Knoll2015-06-101-6/+6
| | | | | | | | | | | | | | | | | | Don't return a const QString &, return the QString by value. This is still broken for some of the older methods, but let's not add to it. Change-Id: Ic5cabb1b89eda0fcf678dbe175963e03109e5c2c Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* | Export class QAccessible::ActivationObserver.Friedemann Kleint2015-06-081-1/+1
| | | | | | | | | | | | | | | | Change a21dfab54ed518266c42d3e87e02bd991de8486e de-inlined its destructor, so, the class needs to be exported. Change-Id: I32d21622a944a93718f549060e5e5f7e71fd2646 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | De-duplicate vtables III: QAccessibleMarc Mutz2015-06-031-11/+25
|/ | | | | | | | | | | | | | | | | | | | | | By making the destructor (usually the first non-inline, non-pure, virtual function, and therefore the trigger for most compilers to emit the vtable and type_info structures for the class in that TU) out-of-line, vtables and, more importantly, type_info strucures for the class are pinned to a single TU. This prevents false negative dynamic_cast and catch evaluation. In this third batch, we de-inline dtors of exported public classes from the QAccessible subsytem. Since they are already exported, users of these classes are unaffected by the change, but since it's public API, and the dtors may have been de-virtualized and inlined into application code, we need to avoid adding code to the out-of-line dtor until Qt 6. Change-Id: I5324bd1b3b9210a3ac5cf4eee9317a34e4a3b048 Reported-by: Volker Krause <volker.krause@kdab.com> Task-number: QTBUG-45582 Reviewed-by: Thiago Macieira <thiago.macieira@intel.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>
* QtGui: use Q_ENUM instead of Q_ENUMSOlivier Goffart2015-02-081-1/+2
| | | | | Change-Id: I92ac2ea218e9134aa36ecb179b8ae790a2dba56a Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Add accessible actions for scrolling and page changesFrederik Gladhorn2014-10-281-0/+6
| | | | | Change-Id: I5f6fd352e1022abbe3a94088598f460b17692fca Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* Add searchEdit as accessible stateFrederik Gladhorn2014-10-251-0/+2
| | | | | | | The search state is used by VoiceOver on iOS to announce a search field. Change-Id: I464125827dbbf275daf38104e26e9591bb23365a Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* 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>
* Add accessible rolesFrederik Gladhorn2014-08-131-1/+50
| | | | | Change-Id: Ic5465687f51c441235ec23cb88045e14644f1d2a Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Add QAccessible::ActivationObserverFrederik Gladhorn2014-08-111-0/+10
| | | | | | | | Makes it possible to follow changes in activation an deactivation of a11y. Needed for WebEngine to know when to activate a11y. Change-Id: Ia264a76974224d1baad3e88c34a4b8a9f1a3695d Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Add accessible roles for web document, paragraph and sectionFrederik Gladhorn2014-07-231-0/+3
| | | | | | | | These roles seem wide-spread enough that it makes sense to add them. QtWebEngine will use them. Change-Id: I9c2d6ab23ada0607078bcd407a72ecae9f87eeea Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Remove outdated commentFrederik Gladhorn2014-07-151-1/+0
| | | | | Change-Id: I4d662318acf072ce9cbfd9c024f5316a0617f2e6 Reviewed-by: David Faure <david.faure@kdab.com>
* Update copyright to 2014 for accessibilityFrederik Gladhorn2014-07-041-1/+1
| | | | | Change-Id: I4210456122bf8a6d3730f017f3ce6dd1a1bcb3f5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Windows a11y: Publish synthetic increase and decrease actionsJan Arve Saether2014-06-201-0/+1
| | | | | | | | | Increase and decrease actions can be generally applied to any value interface. We therefore make them available regardless of the existence of any action interface. Change-Id: I82ba01965dc869439b9d741ce681e0c0687263ca Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Accessibility: Make it possible to send events with no QObjectFrederik Gladhorn2013-10-251-1/+71
| | | | | Change-Id: Icbb9d15ec52ff5f7718eaf3600cab140971274aa Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Change return type of imagePosition to QPointJan Arve Saether2013-10-151-1/+1
| | | | | | | | | | | | | | QAccessibleImageInterface already has an API to return the size of the image. This function ensures that their API's are not overlapping. Alternatively, we could merge both functions into QAccessibleImageInterface::imageRect(), but the assumption is that images change position more often than their size. Change-Id: I55c25cdff187b9f497828f04cfd5f969cfbc451f Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Make Accessibility publicFrederik Gladhorn2013-09-191-4/+140
| | | | | | | | | There is no point in having QAccessible2, so merge it with the normal QAccessible. The header will be removed in a subsequent commit as it is still needed by declarative at this point in time. Change-Id: I1fc47d484d482f25387eba827bc5a373536b7a8b Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* QAccessible::State is no longer an enumOlivier Goffart2013-04-301-1/+1
| | | | | | | | | | | Since 39a052c66479c6d7bd13c4f583fecf6a895b2948, QAccessible::State is no logner an enum that moc understand. moc currently silently ignores it the Q_ENUMS Change-Id: Iecc30ad57055fc9ccaa33e9e9c400d96997d0902 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Get rid of this hack where QAccessible inherits from QObject.Jan Arve Saether2013-04-261-4/+1
| | | | | | | | | | | | | This was added just so that moc could pick up the enums and so that we could use the enums in Q_PROPERTY declarations, which was needed for accessibility in QML. It turns out that Q_GADGET is enough for us. This is a strictly a binary compatible change. However, QAccessible was marked internal in 5.0, so we are free to change it. In addition, this class is static and cannot be instantiated. Change-Id: I27e2e97c5f4b45c38678264c6b593a4383db8d3e Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Make QTextCursor accessibility boundary finder availableFrederik Gladhorn2013-04-081-0/+12
| | | | | | | | | This allows re-using the function in QtQuick. In addition TextBoundaryType is moved to QAccessible and QAccessible2 as namespace ceases to exist. Change-Id: I184bc2c181a22ca51ac4db4e5a080dc26d4acfe0 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Cache QAccessibleInterfaces.Frederik Gladhorn2013-04-021-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Make sure that we #include qconfig.h before testing for features.Thiago Macieira2013-03-191-0/+2
| | | | | | | | | | | This is mandatory in public headers (qiodevice.h, qopengl*, etc.), but it's a good idea even in private headers, in case someone includes that header first somewhere. In particular, all platformsupport API is private. Change-Id: If287baa5d9ed14e93c1666efa0e6332c4c1cd9a4 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-181-0/+2
|\ | | | | | | | | | | | | Conflicts: src/widgets/styles/qmacstyle_mac.mm Change-Id: If8326db9e7da3cbf45dbf7475fdff9915c7723b1
| * Fixed QT_NO_ACCESSIBILITY build.Bjoern Breitmeyer2013-02-131-0/+2
| | | | | | | | | | Change-Id: I14229753fc2e3b54da8a285ae9d27201b73e24be Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-141-2/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/concurrent/doc/qtconcurrent.qdocconf src/corelib/doc/qtcore.qdocconf src/corelib/global/qglobal.h src/dbus/doc/qtdbus.qdocconf src/dbus/qdbusmessage.h src/gui/doc/qtgui.qdocconf src/gui/image/qimagereader.cpp src/network/doc/qtnetwork.qdocconf src/opengl/doc/qtopengl.qdocconf src/opengl/qgl.h src/plugins/platforms/windows/qwindowswindow.cpp src/printsupport/doc/qtprintsupport.qdocconf src/sql/doc/qtsql.qdocconf src/testlib/doc/qttestlib.qdocconf src/tools/qdoc/doc/config/qt-cpp-ignore.qdocconf src/widgets/doc/qtwidgets.qdocconf src/xml/doc/qtxml.qdocconf Change-Id: Ie9a1fa2cc44bec22a0b942e817a1095ca3414629
| * Add translator help for accessibility stringsFrederik Gladhorn2013-02-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | There is also one string fix: cursor was twice, the second one should have been text caret. These roles follow IAccessible/MSAA as reference. Change-Id: I39b64fd01376fec9e8d9b743c43a24611a1d9fbd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | Remove QT_{BEGIN,END}_HEADER macro usageSergio Ahumada2013-01-291-4/+0
|/ | | | | | | | | | | The macro was made empty in ba3dc5f3b56d1fab6fe37fe7ae08096d7dc68bcb and is no longer necessary or used. Discussed-on: http://lists.qt-project.org/pipermail/development/2013-January/009284.html Change-Id: Id2bb2e2cabde059305d4af5f12593344ba30f001 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: hjk <hjk121@nokiamail.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>
* Replace macro qdoc with Q_QDOCDebao Zhang2013-01-081-2/+2
| | | | | | | | Both qdoc and Q_QDOC are used in source code, which looks not good. Change-Id: I4f3a71670278b0758d92bfa5db086a07e1b1acfd Reviewed-by: hjk <qthjk@ovi.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Revert "Enable module build with QT_NO_ACCESSIBILITY"aavit2013-01-041-3/+0
| | | | | | | | | | This reverts commit b7f63c6bf74a0eb62bb49c1085584da1b3714a06. It made compilation fail in qstylehelper_p.h if QT_NO_ACCESSIBILITY was defined - which it is by default on linux without dbus. Change-Id: I313f5138460d28c44dad128d175df0e53a99287d Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Enable module build with QT_NO_ACCESSIBILITYTasuku Suzuki2012-12-201-0/+3
| | | | | | Change-Id: I330c3ddd70232d94eae5543cb0282b962e67eae5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Accessibility: Make accessibleInterface() in event virtual.Frederik Gladhorn2012-11-081-1/+1
| | | | | | | This function can then be used by webkit in a different way. Change-Id: I2e4c0570b5fc446114f63b3dc43e3c4505bcad79 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Remove #ifndef QT_NO_ACCESSIBILITY around qaccessible.{h,cpp}Jan Arve Saether2012-11-011-4/+0
| | | | | | | | | | | | | | | Jens has an use-case for using accessibility from styles. By making the enums always available regardless of QT_NO_ACCESSIBILITY, it makes the style code less littered with ifndefs. It should (ahem) also solve the problem where Qt Desktop components does not compile if QT_NO_ACCESSIBILITY is not defined. This happens on some linux distros, since atspi-2-dev is not installed by default, which again causes grief for those affected. Change-Id: I15d65df8c752a0c4af37cc7b4d908a757cb6a9c4 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@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>
* Add TableModelChange event for accessibility.Frederik Gladhorn2012-09-111-0/+40
| | | | | | Change-Id: I4ff892c076b516cee0f6605705854ee8828d4363 Reviewed-by: José Millán Soto <fid@gpul.org> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Fix compilation of public headers with QT_NO_DEPRECATED definedOlivier Goffart2012-05-021-2/+14
| | | | | | | | | | Put the functions in QT_DEPRECATED_SINCE if possible QPluginLoader::staticInstances is not documented as deprecated, and do not reference any alternative use. So I unmarked it as deprecated. Change-Id: I556c3f3657fb0490dd5543fcc56718fe9bd394e7 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Do not map LayeredPane and Terminal to the wrong MSAA roleJan-Arve Saether2012-04-251-3/+5
| | | | | | | | | | | | | | | | | | | | Microsoft did at some point extend the roles in MSAA with two extra roles (ROLE_SYSTEM_IPADDRESS and ROLE_SYSTEM_OUTLINEBUTTON). These are defined in oleacc.h as: #define ROLE_SYSTEM_IPADDRESS ( 0x3f ) #define ROLE_SYSTEM_OUTLINEBUTTON ( 0x40 ) This means that LayeredPane will map to ROLE_SYSTEM_IPADDRESS and Terminal will map to ROLE_SYSTEM_OUTLINEBUTTON, which is obviously wrong. We now reserve some valuespace for more roles to reduce the likelyness of any collisions in the future. Having the reserved area also serves as a way of indicating the boundary between the "MSAA" enums and other enums. Change-Id: Ic67a1a7200382fed3040e69b3e8856376ba642ac Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Add QDebug operator<< for QAccessibleEventJan-Arve Saether2012-04-241-0/+1
| | | | | | | (Keep it internal) Change-Id: I9e99ccbd16cc595d2aff97a26181e8d8c3d9d7ae Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Deprecate qMemCopy/qMemSet in favour of their stdlib equivilents.Robin Burchell2012-04-111-1/+3
| | | | | | | | | | | | | | | | | | Just like qMalloc/qRealloc/qFree, there is absolutely no reason to wrap these functions just to avoid an include, except to pay for it with worse runtime performance. On OS X, on byte sizes from 50 up to 1000, calling memset directly is 28-15% faster(!) than adding an additional call to qMemSet. The advantage on sizes above that is unmeasurable. For qMemCopy, the benefits are a little more modest: 16-7%. Change-Id: I98aa92bb765aea0448e3f20af42a039b369af0b3 Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com> Reviewed-by: John Brooks <john.brooks@dereferenced.net> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove QAccessibleEvent child parameter.Frederik Gladhorn2012-03-191-16/+18
| | | | | | | | | This makes the api cleaner and generally the child should not be there. It is only sometimes more convenient not to create a QAccessibleInterface instance, so the functionallity is kept. Change-Id: I26018a6d3e0549f4d79856775b4167c5660e229d Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Accessibility: add text update eventsFrederik Gladhorn2012-03-191-4/+143
| | | | | Change-Id: Iece9d100b3f5a379d7d8e29dea67a10d0c918c06 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Make copy and assign private for QAccessibleEvent.Frederik Gladhorn2012-03-181-2/+4
| | | | | | | | | Also make the handling of events in the test pointer based since mac-g++ doesn't seem to like const references the way they were before. Change-Id: I7fe39978d4729b8e586be30978b74aa51ca7cfe6 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Use pointers for QAccessibleEvent.Frederik Gladhorn2012-03-151-2/+2
| | | | | | | | | At least on mac g++ badly wants to copy the event and cannot use the copy ctor. The sensible solution is thus to use pointers. This is in line with QCoreApplication::sendEvent. Change-Id: Icb58852be351ab04ffa17069989d7a07d4b377da Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Update accessibility StateChange by custom event.Frederik Gladhorn2012-03-121-0/+15
| | | | | | | | Subclass QAccessibleEvent to give details what changed in the state change. Change-Id: I9005d311e85a3c8bfa6e062833fa6a8a7dc6a4a4 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* QAccessibleEvent needs a virtual destructor.Frederik Gladhorn2012-03-081-0/+3
| | | | | Change-Id: Ia0cd82c5457d39fe501e7ee6b5468ccb0f62f35a Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Add accessible role Desktop.Frederik Gladhorn2012-03-081-0/+1
| | | | | | | | | Another role that is mostly needed to make Qt based desktops accessible. Would be nice to have for KDE's Plasma in the future. Change-Id: I1d2ce9d55d677f73cc59f0a3646ee5e588c1d948 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com> (cherry picked from commit edc6fae534835a2c72edffb52255fe522a37928f)
* Mark overload of QAccessible::updateAccessibility as deprecated.Frederik Gladhorn2012-03-021-1/+1
| | | | | | | | updateAccessibility(const QAccessibleEvent &event) should be used, updateAccessibility(QObject *object, int child, Event reason) is deprecated. Change-Id: I92b32579ff202681189e9581365d2891e5d1e994 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>