summaryrefslogtreecommitdiffstats
path: root/src/platformsupport/linuxaccessibility
Commit message (Collapse)AuthorAgeFilesLines
* Accessibility Linux: Fix text attributesBoris Dušek2015-03-251-2/+124
| | | | | | | | | | | | | Orca expects text attributes with different names (and sometimes also different values) than IAccessible2 ones (which Qt uses). So adapt the names and values accordingly. [ChangeLog][Accessibility] We now report text attributes correctly on Linux, so ORCA+F now works properly in QTextEdit and other text controls. Change-Id: Iad6d38168b309669c00069a6167f4f54cbd64cf0 Task-number: QTBUG-44479 Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-1114-98/+98
| | | | | | | | | | | | | | | | | | 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 devFrederik Gladhorn2015-02-102-3/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro src/gui/image/qimage_conversions.cpp src/gui/opengl/qopenglextensions_p.h src/gui/text/qtextengine.cpp src/network/ssl/qsslsocket_openssl.cpp src/plugins/platforms/eglfs/qeglfshooks_stub.cpp src/plugins/platforms/eglfs/qeglfsscreen.cpp src/plugins/platforms/eglfs/qeglfswindow.cpp src/plugins/platforms/windows/qwindowsfontdatabase.cpp src/plugins/platforms/windows/qwindowsfontdatabase_ft.cpp src/plugins/platforms/windows/qwindowsnativeinterface.cpp src/plugins/platforms/windows/qwindowsscreen.cpp src/plugins/platforms/windows/qwindowswindow.cpp src/plugins/platforms/windows/qwindowswindow.h src/plugins/platforms/xcb/qxcbdrag.h src/widgets/itemviews/qabstractitemview.cpp src/widgets/kernel/qwidget.cpp src/widgets/util/qsystemtrayicon_p.h tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp Thanks to Friedemann Kleint for resolving the qwindowsfontdatabase.cpp conflicts. Change-Id: I937232c30523d5121c195d947d92aec6f129b03e
| * Do not include accessibility.pri twiceFrederik Gladhorn2015-01-211-1/+0
| | | | | | | | | | Change-Id: Id4b312a57b098ad893ba08e7a3c7f1a0fb891eef Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * Accessibility: Fix selection change notifications on LinuxFrederik Gladhorn2015-01-211-2/+2
| | | | | | | | | | | | | | | | | | The selection update is not implemented on other platforms (if needed at all). Task-number: QTBUG-39440 Change-Id: I8eb8c4eb1c23ba2d246bc95f1c77dc9da9e22495 Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* | Add Q_DECL_OVERRIDE in the src subdirectoryOlivier Goffart2014-12-031-1/+1
| | | | | | | | | | | | | | | | | | | | Done automatically with clang-modernize on linux (But does not add Q_DECL_OVERRIDE to the function that are marked as inline because it a compilation error with MSVC2010) Change-Id: I2196ee26e3e6fe20816834ecea5ea389eeab3171 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-201-1/+3
|\| | | | | | | Change-Id: If7e51514ed6832750e3ad967e4d322ccf920d2bb
| * Accessibility Linux: Make a full copy of a key eventAlexander Volkov2014-10-161-1/+3
| | | | | | | | | | | | | | | | Otherwise native values (scan code, modifiers, virtual key) of the key event will be lost if an event listener is registered. Change-Id: I5eebb1f91ad7de6801f7efb0bf0891c4430f9cf5 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-091-7/+7
|\| | | | | | | Change-Id: I05fcd8dc66d9ad0dc76bb7f5bae05c9876bfba14
| * Don't stream QStringLiterals into QDebugMarc Mutz2014-10-091-7/+7
| | | | | | | | | | | | | | | | Normal (C) string literals do just as well and use more than twice less space in the DATA section. Change-Id: Iafb0682a362c41dfd5b4d8b9137d88014d7992a2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.4' into devOswald Buddenhagen2014-09-2914-253/+217
|\| | | | | | | | | | | | | | | | | | | | | 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-2414-252/+140
| | | | | | | | | | | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
| * Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-09-237-0/+76
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The isAlwaysAskOption was removed in 38621713150b663355ebeb799a5a50d8e39a3c38 so manually removed code in src/plugins/bearer/connman/qconnmanengine.cpp Conflicts: src/corelib/global/qglobal.h src/corelib/tools/qcollator_macx.cpp src/corelib/tools/qstring.cpp src/gui/kernel/qwindow.cpp src/gui/kernel/qwindow_p.h src/gui/text/qtextengine.cpp src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h src/plugins/platforms/android/qandroidinputcontext.cpp src/plugins/platforms/xcb/qglxintegration.cpp src/plugins/platforms/xcb/qglxintegration.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/testlib/qtestcase.cpp src/testlib/qtestlog.cpp src/widgets/dialogs/qfiledialog.cpp src/widgets/kernel/qwindowcontainer.cpp tests/auto/corelib/tools/qcollator/tst_qcollator.cpp tests/auto/gui/text/qtextscriptengine/tst_qtextscriptengine.cpp tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp Change-Id: Ic5d4187f682257a17509f6cd28d2836c6cfe2fc8
| | * Add missing private headers warningSamuel Gaist2014-09-047-0/+76
| | | | | | | | | | | | | | | Change-Id: I7a4dd22ea3bcebf4c3ec3ad731628fd8f3c247e0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | Fix QT_LINUX_ACCESSIBILITY_ALWAYS_ONJocelyn Turcotte2014-09-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current behavior was that accessibility is enabled if the variable is _not_ set, which causes accessibility to be enabled all the time even if a screen reader isn't present. Change-Id: I73286622fb5abe1cedce420e760306ab7f200e69 Reviewed-by: Adam Majer <adamm@zombino.com> Reviewed-by: Tomasz Olszak <olszak.tomasz@gmail.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-09-014-25/+39
|\| | | | | | | | | | | Change-Id: I2811ff0b9d4097f0be60ff16e9664a5060cff23e
| * | Accessibility Linux: add action interfaces for valueFrederik Gladhorn2014-08-193-23/+37
| | | | | | | | | | | | | | | Change-Id: I454493fc6e9e93f44d15986ca843c3244f97cbe6 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
| * | Accessibility Linux: use Frame for WindowsFrederik Gladhorn2014-08-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | On Linux it's actually more common to use frame as role for windows since they are per definition normal main windows. Change-Id: Iee5bdfca139049846c1be864661231a594edf695 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | | Compile with -no-feature-accessibilityFrederik Gladhorn2014-08-2112-2/+29
|/ / | | | | | | | | | | Task-number: QTBUG-38045 Change-Id: Id436b70aa6161bdf2428ca0a605212b278c71849 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | Add accessible rolesFrederik Gladhorn2014-08-131-0/+12
| | | | | | | | | | Change-Id: Ic5465687f51c441235ec23cb88045e14644f1d2a Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | Accessibility Linux: Also send meta key as modifierFrederik Gladhorn2014-07-301-0/+2
| | | | | | | | | | Change-Id: I0b33bf3d6ad468176e7c7e5a71b3bcba966ffd9f Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | Add accessible roles for web document, paragraph and sectionFrederik Gladhorn2014-07-231-0/+6
| | | | | | | | | | | | | | | | 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>
* | Accessibility Linux: send children changed notificationsFrederik Gladhorn2014-07-232-1/+17
| | | | | | | | | | | | | | | | | | The badly named ObjectReorder actually stands for any of this object's children may have changed. This event is used in webengine and should trigger the ATs to drop their caches (eg when loading a new website). Change-Id: I44080f8d43c1161285d9ace4891fe18531f16e09 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-101-6/+13
|\| | | | | | | Change-Id: Ia12ffdb27ecdf25c2a2bdb0eed1945387502108a
| * Accessibility Linux: Fix crashes when accessing invalid functionsFrederik Gladhorn2014-07-031-6/+13
| | | | | | | | | | | | | | | | | | | | There is no way to prevent ATs from calling random functions on DBus. While these functions shouldn't exist when we don't advertise the interface, they should just fail gracefully. Task-number: QTBUG-40044 Change-Id: Ia29b49b16feabc0beb80007456e53497f230c7d4 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | Update copyright to 2014 for accessibilityFrederik Gladhorn2014-07-0414-14/+14
| | | | | | | | | | Change-Id: I4210456122bf8a6d3730f017f3ce6dd1a1bcb3f5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Accessibility Linux: Implement set focus actionFrederik Gladhorn2014-07-041-7/+7
| | | | | | | | | | | | | | | | | | | | | | This is used by Orca for geometric navigation (aka flat review) to move the focus around. It is also generally sensible to be able to programatically move the focus around. This way of moving the focus is redundant with the action interface's focus action. Task-number: QTBUG-40048 Change-Id: I1b61ea843f6bfc3dc00007772e0e5102555ca752 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | Cleanup local var usageFrederik Gladhorn2014-06-301-4/+2
| | | | | | | | | | Change-Id: I24c8bc1eef444e3ef4823d5d092089e4f308585b Reviewed-by: Caroline Chao <caroline.chao@digia.com>
* | Accessibility Linux: Fix methods returning rects as iiii for AT-SPIFrederik Gladhorn2014-06-202-7/+7
| | | | | | | | | | | | | | | | | | | | According to the spec rects get returned with iiii but we were directly serializing QRect resulting in (iiii) as signature. This would trip up Orca when trying to use flat review in text edits. Task-number: QTBUG-39702 Change-Id: I8d6769688586e678d27cc4341de5176a91f057fc Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | Accessibility Linux: Act more like Gtk for key pressesFrederik Gladhorn2014-06-172-13/+27
| | | | | | | | | | | | | | | | | | | | Orca is extremely picky when it comes to key presses and modifiers. Sending ctrl as modifier for itself for example seems to break things. Also use the ATSPI modifier constants, weird as they are. Task-number: QTBUG-39361 Change-Id: Id809e0dd2a7d20a533bd783888ccbdf748becacc Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devSimon Hausmann2014-05-221-7/+20
|\| | | | | | | Change-Id: Ia36e93771066d8abcf8123dbe2362c5c9d9260fc
| * Accessibility: Update ComboBox text on arrow keysFrederik Gladhorn2014-05-161-7/+20
| | | | | | | | | | | | | | | | | | | | Use ValueChanged to notify of changes in the ComboBox. On Linux we need to update name and then send selection-changed for Orca. Task-number: QTBUG-36814 Change-Id: Icdd34adddeac532476a6dd910d1e8bd33bcd590b Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | Added handling of QT_LINUX_ACCESSIBILITY_ALWAYS_ON variable.Tomasz Olszak2014-04-041-1/+7
|/ | | | | | | | | | By setting this variable to non empty value we can, bypass checking ScreenReaderEnabled proprty of org.a11y.Status dbus interface. Not all accessibility readers set this. The variable is also useful for debugging. Change-Id: I6c5a1a51065948248e068dfff4755d6818ed9fb1 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Normalize signal & slot signatures in connectionThiago Macieira2014-02-221-1/+1
| | | | | | | | | | | Profiling showed that Qt Creator spent 2% of its load time normalizing signals and slots. By pre-normalizing everything, we ensure that there is no runtime cost. Profiling after this commit and the others in this series shows that the cost dropped down to zero. Change-Id: Ifc5a2c2552e245fb9a5f31514e9dd683c5c55327 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Accessibility Linux: Report Active stateFrederik Gladhorn2014-02-112-7/+2
| | | | | | | | | | | | | The fixme comment is invalid since QAccessibleWidget actually checks for isWindow and sets the active state. This is messed up because in Qt 4 there was a work-around to set active for windows in a different code path. [ChangeLog][QtGui] Accessibility on Linux now reports the active state correctly. Change-Id: I9e2cf436b3ffa7ef28286ee49d6e582f179930c6 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Accessibility Linux: Fix all widgets reporting being editableFrederik Gladhorn2014-02-051-17/+10
| | | | | | | | [ChangeLog][QtGui] Accessibility on Linux reported all objects as being editable instead of just editable text items. Change-Id: I8bca2799a2e5b175b3ca515fee5dd02eae23829e Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Accessibility Linux: Fix atspi getActions to return action nameFrederik Gladhorn2014-01-031-0/+1
| | | | | | | | [ChangeLog][Accessibility] On Linux action names were returned as empty strings in AT-SPI getActions, now returns the proper names. Change-Id: I75a469a0b8a5789cd54ce1b489ed5012654bb265 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Make Accessibility publicFrederik Gladhorn2013-09-191-1/+0
| | | | | | | | | 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>
* Remove rowColumnExtents from QAccessibleTableCellInterfaceFrederik Gladhorn2013-08-221-2/+5
| | | | | | | | | The API is broken and available in individual functions. Don't make it more complicated than necessary to implement the interfaces for new widgets. Change-Id: Ie408c369ef05b2b8e7ac666b25153d090fcf3aae Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Fix potential division by zeroFrederik Gladhorn2013-08-191-8/+13
| | | | | | | | Since it's possible to call the function on an empty model, return failure in that case. Change-Id: I0a0eabe917da3e6294bdd616a85579f6dc894ec8 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* mark private dependencies as suchOswald Buddenhagen2013-05-201-1/+1
| | | | | | Change-Id: Ic93c8dc5aaad3973e4d4fc6bb3b70ad7c0a632b0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Let platform plugin decide if accessibility is activeFrederik Gladhorn2013-04-194-35/+27
| | | | | Change-Id: I881a8ff3fedf3db73ee37046a4363c70960a92a6 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Make QTextCursor accessibility boundary finder availableFrederik Gladhorn2013-04-082-8/+8
| | | | | | | | | 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-022-173/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Accessibility: Fix crash when updating in dtorFrederik Gladhorn2013-03-231-2/+6
| | | | | | | | | | | | | | This happens for example when running several tests. Widgets in destructor should be treated as invalid since their window pointer and other properties are no longer valid. When deleting a window containing only a table view there would be a table model reset update comming from the window being destroyed. Change-Id: Ia387c814333ce373fe132b189fc180787e36cdd5 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Make qaccessible2.h internal.Frederik Gladhorn2013-03-141-1/+1
| | | | | | | | | | | This should have been done right from the start, instead we only made the documentation internal. Also remove the classes from the BIC data. Change-Id: I238a7a7cc5d26980b23931c78e7e5a4477d46920 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-03-062-7/+10
|\ | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/qnx/qqnxscreen.cpp src/plugins/platforms/windows/qwindowsdialoghelpers.cpp Change-Id: Ib64f21c077b54f2291d19187590bfe869b98477a
| * Fix potential crash in accessibility key event handlingFrederik Gladhorn2013-03-062-7/+10
| | | | | | | | | | Change-Id: Id3eec6c83d7f8ece186e6b5bc02771c00893294b Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-03-051-12/+53
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure qmake/generators/mac/pbuilder_pbx.cpp src/corelib/kernel/qtimerinfo_unix.cpp src/plugins/platforms/cocoa/qcocoabackingstore.mm src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/windows/qwindowswindow.cpp src/plugins/platforms/xcb/qglxintegration.cpp Change-Id: I8d125fe498f5304874e6976b53f588d3e98a66ac
| * Remove debug output that can cause crashes in static builds.Frederik Gladhorn2013-02-251-12/+53
| | | | | | | | | | | | | | | | | | | | Currently static builds ignore the accessibility plugins. The debug output would also potentially crash for other events when they could not create interfaces. Task-number: QTBUG-28707 Change-Id: I5ae20cac89bd7f4a74add2b80834f4e9d4fa438c Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>