Commit Graph

43 Commits (ba061da5f07b55bfd8a449b794d439c59d2f13d2)

Author SHA1 Message Date
Frederik Gladhorn 7738f96f09 Add documenation about QAccessibleStateChange event.
Change-Id: Iea34d71d71a6dd58f761722ce20ae8ec2b81ae58
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-03-12 15:34:18 +01:00
Frederik Gladhorn eb57da5b3f Update accessibility StateChange by custom event.
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>
2012-03-12 13:14:05 +01:00
Frederik Gladhorn 48209e21ec Add accessible role Desktop.
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)
2012-03-08 07:28:21 +01:00
Frederik Gladhorn f449cefc27 Remove AccessibilityPrepare event.
This event was completely unused.
In addition it leads to crashes on linux when
sending the Destroy accessibility update.

The Destroy event on linux would still query an accessible interface.
That in turn would trigger the event to be sent.

Change-Id: I8915527de067b8b70ba41b1361e3ef5d12866d7d
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-03-05 18:46:43 +01:00
Casper van Donderen 95d83cb1b6 Remove the usage of deprecated qdoc macros.
QDoc now has support for Doxygen style commands for italics, bold
and list items. This change applies that change in QDoc to the
actual documentation.

Task-number: QTBUG-24578
Change-Id: I519bf9c29b14092e3ab6067612f42bf749eeedf5
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-02 23:16:25 +01:00
Frederik Gladhorn 15e136d4e1 Mark overload of QAccessible::updateAccessibility as deprecated.
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>
2012-03-02 23:16:25 +01:00
Jan-Arve Saether c531fcc92e Improve debugging in the windows accessibility bridge.
set QT_DEBUG_ACCESSIBILITY=(1|0) to turn logging on or off

Change-Id: Ibd5b77699decf0cf02bc6b6cc656fa237de29124
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-03-02 18:35:21 +01:00
Jan-Arve Saether 99d5decbcf Make accessible interfaces private for Qt 5.0
Since we're not yet confident if they serve their purpose well enough,
we have decided to make them internal so that we are free to tune them
later

Change-Id: Id79d154e0537aca07303afea5d057cfcb0773384
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-02-28 01:14:17 +01:00
Jan-Arve Saether cbf2575740 Minor fixes for RelationFlag.
* Document AllRelations
* Assigned new values (starting from 1) for the remaining members of
  the enum.

Change-Id: I55ec197f24ff7d43ff3c0d101edd33b9615f9287
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-02-24 14:55:06 +01:00
Friedemann Kleint 054114a459 Remove QPlatformIntegration/QPlatformTheme from QGuiAppPrivate.
Forward-declare instead.

Change-Id: I3851994e8bc05b389e94e948478339ba33d521c1
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-20 16:52:59 +01:00
Jan-Arve Saether d1dd2b2441 Remove QAccessibleInterface::relationTo().
QAccessibleInterface::relations() replaces both relatedTo() and
some of the RelationFlags that navigate() handled before.

Change-Id: I4b9d2c28ba3d753efe7cc9bfa0ad68bed3ee02fd
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-02-20 15:17:08 +01:00
Jan-Arve Saether d2f1901807 Remove QAccessibleInterface::navigate()
This is replaced by parent(), child() and relations()

Change-Id: Iabff6ec56176a1ca8465d6480860f6e0174fd134
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-02-20 11:46:16 +01:00
Jan-Arve Saether ff2886db6a Move all usages of Relation enum values to QAccessible::relations()
Next step is to remove navigate(), but that has to be done in
qtdeclarative first.

Change-Id: I01ea1386c092446be04cc19d0f70adf53f094adc
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-02-10 15:21:46 +01:00
Frederik Gladhorn 8522cb5c97 Update docs for QAccessibleEvent.
This class completely changed,
the old docs were still around.

Change-Id: Ice7b106b33ffc60f45f7af1b4f44dc01462ee0da
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-02-10 00:27:44 +01:00
Jan-Arve Saether 1d18fd0164 Remove QAccessible::FocusChild, add focusChild()
Also cleanup (reduce) all implementations of navigate() in order
to make the final removal of navigate smoother.

Change-Id: I2c216db8f5b2e40afcce8f859fc775053adc2fe3
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-02-06 10:15:09 +01:00
Frederik Gladhorn bf9bdf5328 Use events for accessibility updates.
The problem with the old updates is that it was impossible
to send details about the update.
For the Linux implementation to work properly with AT-SPI I need to know
which state changed (currently I only get a generic "state changed" event)
or which part of the text was changed for long texts (imagine a word processor sending updates).

This also gives us more options when updating with events generated from not QObject based objects.

Change-Id: If0b6c83c523092565eb48e79f3f6de5a1b905ea8
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-01-31 12:02:33 +01:00
Jason McDonald 5635823e17 Remove "All rights reserved" line from license headers.
As in the past, to avoid rewriting various autotests that contain
line-number information, an extra blank line has been inserted at the
end of the license text to ensure that this commit does not change the
total number of lines in the license header.

Change-Id: I311e001373776812699d6efc045b5f742890c689
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-01-30 03:54:59 +01:00
Jason McDonald 629d6eda5c Update contact information in license headers.
Replace Nokia contact email address with Qt Project website.

Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-01-23 04:04:33 +01:00
Frederik Gladhorn ba888bb8c8 Clean up and extend QAccessible::State.
The state should contain useful and clear information.
Some of the old enum/bitfield members were not really clear.
Make them follow Qt terminology and shift the burden of interpreting
them to the bridge.

Apart from the previous commit changing from enum to bitfield, these
flags have changed names:

unavailable -> disabled
mixed -> checkStateMixed
protected -> passwordEdit (in the last commit)

floating is completely removed, even MSAA documentation states it is unsupported.

Some new states have been added.
Documentation added.

Change-Id: I152256e77a061f28ee5780f527524c80a2c7e333
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-01-16 08:55:37 +01:00
Jan-Arve Saether 0fda46932d Remove invokeMethod in favor of the recommended virtual_hook()
We don't remove the Method enum (yet), since there are functions in
dependent modules that still refer to it.
Unfortunately there is no way we can commit to several repos
"atomically".

Change-Id: Ia1923dc4bf0751a9ba67727d14da5a2e60bd4e74
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-01-12 15:15:30 +01:00
Frederik Gladhorn 30ad53a0a6 Make QAccessibleInterface::indexOfChild() 0-based.
Makes the code nicer and more consistent with the rest of the world.

Change-Id: I5ba0ee39f5b0afd1a079a3cea9990d123955ed3f
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-01-11 11:18:51 +01:00
Frederik Gladhorn 15db15d448 Document enum value QAccessible::Expandable.
Change-Id: I5280bf3eadf7ef876f89de318a4d6168078d929e
Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
2012-01-10 23:18:32 +01:00
Frederik Gladhorn 8b757325b2 Improve Accessibility documentation 2.
More cleanup, make sure links work.

Change-Id: If72f9cfc0d44aa1fb261be2aace8ddd457295993
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-01-10 23:18:10 +01:00
Frederik Gladhorn 39a052c664 Accessiblity State as bit field.
We would like to add more flags that will be over the 32 bit boundary.
On Windows enums don't seem to digest values >32 bit.
This patch changes the state flags to be a bit field instead.

The windows part of the patch was written by Jan-Arve Sæther.

Change-Id: I2d1d87807f920ce4d4a5c7bfea8b1122ed44eb08
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-01-10 07:14:34 +01:00
Frederik Gladhorn 30d3c3b49f Improve Accessibility documentation.
Change-Id: Ifb70d9c6d7b3096e0188e8454191786375296647
Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
2012-01-09 16:22:21 +01:00
Frederik Gladhorn dfa6ac160f Update docs.
Change-Id: Icd8cbcde6893cc0ee5e7df18b219513cdbc0b2da
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-01-06 09:38:31 +01:00
Jason McDonald 1fdfc2abfe Update copyright year in license headers.
Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-01-05 06:36:56 +01:00
Frederik Gladhorn 9ea608cb54 Use meta object to get string rep of QAccessible::Role.
Change-Id: I69320b69ea13ebc594575277e39d30a066df61fd
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-01-03 19:27:17 +01:00
Frederik Gladhorn 74c9f9d83f Accessibility: childAt returns interface
childAt used to return an integer.
Return an interface instead.

Not requiring a direct child to be returned allows optimizing
by bypassing iterating through the hierarchy of accessibles.
For QtQuick this is the only sensible way of implementing this.

The bridges are still responsible for finding the top-most element.

The default implementation in QAccessibleObject is sufficient
to return direct children. The implementation in
QAccessibleApplication is therfore no longer needed.

Change-Id: Id7100dd5bcc3a98de516a7f4a12eaaa41cb46d26
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-12-19 12:27:45 +01:00
Frederik Gladhorn 1e37a053ed Create a class to contain accessibilty enums.
This is needed in order to expose the enums to qml.
Do not inherit QAccessible.

Change-Id: I220a0ea3add2d790e4fa6e93ce3deda762859e1a
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-12-08 08:51:35 +01:00
Jan-Arve Saether 84e66f69ae Fix casting. Casting is now done through the virtual interface_cast.
Change interface_cast to return void* to avoid using virtual
inheritance.
Get rid of the magic Q_ACCESSIBLE_OBJECT macro.

Change-Id: I94b824aef53f2ba657d39d406b387c8681d47ee4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-11-30 12:12:08 +01:00
Frederik Gladhorn f80d71aceb Accessible debug stream: don't print details for invalid objects
Print "invalid" instead of the details.

Change-Id: I785a896b680fad9e9bb81769d9e3361542fbaafe
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-11-29 18:47:14 +01:00
Jan-Arve Saether 53e4dfec7b Change default implementation of window() to just return 0
Instead move the traversal up to the ancestors to the bridge.
This simplifies the default implementation to just return 0

Change-Id: Ic3ec60851f378587f4a23363aec2039d0e8a08a1
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-11-25 11:29:11 +01:00
Frederik Gladhorn 013a3ee5dc Improve docs for Accessibility.
While still lacking, at least try to reflect reality a bit.

Change-Id: I8fcd0bd540806f3d1e314c60d854d2a90f66c14e
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2011-11-23 16:30:26 +01:00
Frederik Gladhorn beb72b2fbf Remove virtual child integers.
This makes the accessibility apis much
simpler and less error prone.

Disable the itemviews implementation that is in complex widgets.
The itemviews will use the new code from itemviews.h/cpp everywhere now.

QToolBox was broken before, now at least it simply exposes all its children.
The children are the buttons (tabs of the toolbox) and their contents.

Change-Id: I45e218f49f02aebbd678ddfe29f94c2a112a2125
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-11-23 14:54:01 +01:00
Frederik Gladhorn 6f9fb98886 Add debug stream for QAccessibleInterface.
Change-Id: I68fddac5a09bbf092c1e38c411d49dfbf640f27d
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-11-21 15:53:16 +01:00
Frederik Gladhorn 3885a45e48 Make foreground and backgroundColor proper functions.
Change-Id: I93d4355a6c0b6edb1902df6399df7884b25ea744
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-10-20 11:40:29 +02:00
Frederik Gladhorn 4dc25c1f29 Refactor QAccessibleActionInterface.
Some refinements done by Jan-Arve Sæther.

Change-Id: I99195b3c7273316cfa9c46e451924bbcfddd11a9
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-10-19 19:25:42 +02:00
Casper van Donderen 0e6a401028 Remove stale documentation and fix qdoc errors.
Change-Id: I51bb0c52eb32d9d672d115f31b16d414f81708e2
Reviewed-on: http://codereview.qt-project.org/6433
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-10-11 16:03:12 +02:00
Casper van Donderen e86df8cc4b Move the documentation for the classes to their modules.
All documented classes under src/widgets should now be
under the QtWidgets module in the documentation. The
QtPrintSupport classes should now be under the QtPrintSupport
module in the documentation.

Change-Id: I236b15443b8b93a61578a1d10f52b64dba938f29
Reviewed-on: http://codereview.qt-project.org/5520
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2011-10-03 09:56:09 +02:00
Jan-Arve Saether 87ae97c11a Refactor accessibility for Qt5
* Moved most stuff to gui\accessible
* Moved widget-specific stuff to widgets\accessible
* Moved platform-specific code to either the bridge plugin (this was already the case)
  or to the platform plugin.
* Added several classes and functions. These have not yet gone through an API
  review. The plan is to do that in a later commit.
  Classes:
   - QPlatformAccessibility
   - QWindowsAccessibility
  Functions:
   - QWindow *QAccessibleInterface::window();
   - QPlatformAccessibility *QPlatformIntegration::accessibility()

* The bridge code can now either be a plugin or integrated into the platform plugin
* Mac accessibility is left out for now. Unix "should still work" (tm). These platforms
  should be fixed soon.

Change-Id: Ib49ffa73b647ee0af90864544c2769440157f562
Reviewed-on: http://codereview.qt-project.org/5330
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-09-29 13:32:59 +02:00
Lars Knoll f67b8df3eb library split 2011-05-07 00:02:01 +02:00
Qt by Nokia 38be0d1383 Initial import from the monolithic Qt.
This is the beginning of revision history for this module. If you
want to look at revision history older than this, please refer to the
Qt Git wiki for how to use Git history grafting. At the time of
writing, this wiki is located here:

http://qt.gitorious.org/qt/pages/GitIntroductionWithQt

If you have already performed the grafting and you don't see any
history beyond this commit, try running "git log" with the "--follow"
argument.

Branched from the monolithic repo, Qt master branch, at commit
896db169ea224deb96c59ce8af800d019de63f12
2011-04-27 12:05:43 +02:00