summaryrefslogtreecommitdiffstats
path: root/src/gui/accessible
Commit message (Collapse)AuthorAgeFilesLines
* 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-242-0/+17
| | | | | | | (Keep it internal) Change-Id: I9e99ccbd16cc595d2aff97a26181e8d8c3d9d7ae Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Merge remote-tracking branch 'origin/api_changes'Lars Knoll2012-04-173-4/+6
|\ | | | | | | Change-Id: I964b0a6f5c38351fdfafb8a2a128a349ff8c89d1
| * 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>
| * Merge remote-tracking branch 'origin/master' into api_changesOswald Buddenhagen2012-04-101-0/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/widgets/styles/qwindowsxpstyle.cpp tests/auto/gui/kernel/qwindow/qwindow.pro tests/auto/gui/kernel/qwindow/tst_qwindow.cpp Change-Id: I624b6d26abce9874c610c04954c1c45bc074bef3
| * \ Merge master into api_changesKent Hansen2012-03-271-9/+3
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qisenum.h src/dbus/qdbusconnection_p.h src/widgets/kernel/qwidget.cpp tests/auto/other/qaccessibility/tst_qaccessibility.cpp Change-Id: I85102515d5fec835832cc20ffdc5c1ba578bd01d
| * \ \ Merge master into api_changesKent Hansen2012-03-232-15/+157
| |\ \ \ | | | | | | | | | | | | | | | Change-Id: I93551e4d13a1b0815b359b9415060e9089477db1
| * \ \ \ Merge master into api_changesKent Hansen2012-03-191-2/+4
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qvector.h tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp Change-Id: I877256e95f3788e617437f4e9661a88047f38cd6
| * \ \ \ \ Merge master into api_changesKent Hansen2012-03-167-9/+12
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qmetatype.cpp src/gui/kernel/qplatformsurface_qpa.cpp tests/auto/corelib/tools/qtimeline/qtimeline.pro Change-Id: Iff3fff34eeeb06f02369767ddfce44cfde505178
| * | | | | | QtGui: make some constructors explicitMarc Mutz2012-03-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a semi-automatic search, so I'm reasonably sure that all the exported ones have been caught. Change-Id: I5b122db2498dbb2aee50c7ad95c67e708aade45b Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
| * | | | | | Merge remote-tracking branch 'origin/master' into api_changesLars Knoll2012-03-123-30/+46
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp Change-Id: I884afc3b6d65c6411733a897a1949e19393573a7
| * \ \ \ \ \ \ Merge remote-tracking branch 'origin/api_changes' into containtersJoão Abecasis2012-03-083-24/+30
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qmetaobject.cpp src/corelib/kernel/qvariant.cpp src/tools/moc/moc.h Change-Id: I2cd3d95b41d2636738c6b98064864941e3b0b4e6
| * | | | | | | | Rename QMetaMethod::signature() to methodSignature()Kent Hansen2012-02-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Qt5 the meta-data format will be changed to not store the method signature string explicitly; the signature will be reconstructed on demand from the method name and parameter type information. The QMetaMethod::signature() method returns a const char pointer. Changing the return type to QByteArray can lead to silent bugs due to the implicit conversion to char *. Even though it's a source- incompatible change, it's therefore better to introduce a new function, methodSignature(), and remove the old signature(). Task-number: QTBUG-24154 Change-Id: Ib3579dedd27a3c7c8914d5f1b231947be2cf4027 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* | | | | | | | | Add 'we mean it' header to qpa headersGirish Ramakrishnan2012-04-161-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QPA api is internal and not meant to be used by app users. Change-Id: I37245e9635bf22f2454e763699dd58eca6565b63 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* | | | | | | | | doc: Mark all qpa classes as internalGirish Ramakrishnan2012-04-161-3/+6
| |_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All QPA api as marked as so: * preliminary - the api is subject to change anytime * internal - internal api that shouldn't be used by apps * ingroup qpa - "qpa" module. In the long run, qdoc should generate documentation for qplatform* API as if it were a seperate module. Change-Id: I4e76c0e0c1805c679cabd52d5006f9fa9bc411c0 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* | | | | | | | Add missing accessible child id.Frederik Gladhorn2012-03-281-0/+1
| |_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the deprecated function the child parameter got lost. Change-Id: Ieeef19100bffaaa6079185dae6ae5bf82dcd7a60 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* | | | | | | API cleanup: remove CoordinateType enumJan-Arve Saether2012-03-241-9/+3
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | | Remove QAccessibleEvent child parameter.Frederik Gladhorn2012-03-192-17/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-192-11/+150
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | 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-156-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | Add support for IAccessible2 on WindowsJan-Arve Saether2012-03-131-0/+3
| |_|/ |/| | | | | | | | | | | Change-Id: Ia955ab46dc5037ed1c74e0acc525e98b02552c97 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* | | Add documenation about QAccessibleStateChange event.Frederik Gladhorn2012-03-121-0/+23
| | | | | | | | | | | | | | | Change-Id: Iea34d71d71a6dd58f761722ce20ae8ec2b81ae58 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* | | Remove QAccessible2::TableModelChange.Frederik Gladhorn2012-03-121-29/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was never a good idea since it has issues: It doesn't really work with more than one update without the client fetching the data. The same is unlikely to work reliable since it involves two ipc roundtrips. Instead we should have an extended QAccessibleEvent that contains the data so that the bridges can decide how to pass on the data if needed. Change-Id: Iaf6b74f49586f7155909a6fe1a17137b71b31175 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* | | Update accessibility StateChange by custom event.Frederik Gladhorn2012-03-122-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | 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-082-0/+3
| |/ |/| | | | | | | | | | | | | | | 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)
* | Remove AccessibilityPrepare event.Frederik Gladhorn2012-03-051-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Remove the usage of deprecated qdoc macros.Casper van Donderen2012-03-022-13/+13
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Mark overload of QAccessible::updateAccessibility as deprecated.Frederik Gladhorn2012-03-022-3/+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>
* | Improve debugging in the windows accessibility bridge.Jan-Arve Saether2012-03-021-4/+16
|/ | | | | | | | 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>
* Make accessible interfaces private for Qt 5.0Jan-Arve Saether2012-02-285-0/+16
| | | | | | | | | 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>
* Minor fixes for RelationFlag.Jan-Arve Saether2012-02-242-4/+6
| | | | | | | | | * 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>
* Remove QPlatformIntegration/QPlatformTheme from QGuiAppPrivate.Friedemann Kleint2012-02-201-0/+1
| | | | | | | Forward-declare instead. Change-Id: I3851994e8bc05b389e94e948478339ba33d521c1 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove QAccessibleInterface::relationTo().Jan-Arve Saether2012-02-202-43/+4
| | | | | | | | 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>
* Remove QAccessibleInterface::navigate()Jan-Arve Saether2012-02-202-59/+4
| | | | | | | This is replaced by parent(), child() and relations() Change-Id: Iabff6ec56176a1ca8465d6480860f6e0174fd134 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Ensure that Qt public headers compile with strict flagsDavid Faure2012-02-171-3/+3
| | | | | | | | | | Those from http://wiki.qt-project.org/Coding_Conventions#Conventions_for_public_header_files (unfortunatey -Wold-style-cast cannot be used due to the glibc macro bswap_16) and many Qt defines that disable casts. Change-Id: I97ac707a101df9819e8c031fa75a31b30e20247f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Move all usages of Relation enum values to QAccessible::relations()Jan-Arve Saether2012-02-102-5/+6
| | | | | | | | 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>
* Update docs for QAccessibleEvent.Frederik Gladhorn2012-02-101-46/+10
| | | | | | | | This class completely changed, the old docs were still around. Change-Id: Ice7b106b33ffc60f45f7af1b4f44dc01462ee0da Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Remove QAccessible::FocusChild, add focusChild()Jan-Arve Saether2012-02-064-23/+26
| | | | | | | | 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>
* Add accessible role Terminal.Frederik Gladhorn2012-02-061-0/+1
| | | | | | | | | | | | | | Forward ported from Qt 4. This is used to mark the role of VTs, terminal emulators. Needed in order to know about the special editing behavior. In order to make for example KDE's Konsole accessible this is required. reviewed-by: jan-arve sæther <jan-arve.saether@nokia.com> (cherry picked from commit 8ca33c6f1643ab5e89699fbf8b80bfaae108b1e5) Change-Id: Ic7beb2ae2ee70f2c526c7ec5bf982bec7ba9feda Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* fix memory leak of QAccessibleWidgetJian Liang2012-02-021-1/+1
| | | | | | | | | | | in topLevelObjects() we should use "root->object()" instead of "w->accessibleRoot()->object() to get the object attached to the accessible interface. This is because "w->accessibleRoot()" will create a new QAccessibleWidget(or its subclass) object and this object is never released. Change-Id: I34292b467b51d6cc439f0a1a45cd74d5f8a6a5a8 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Use events for accessibility updates.Frederik Gladhorn2012-01-315-34/+93
| | | | | | | | | | | | | 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>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-3012-12/+12
| | | | | | | | | | 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>
* Remove use of QT_MODULE from libraryGunnar Sletta2012-01-256-6/+0
| | | | | | | | | | These defines were there to aid in the commercial licensing scheme we used long ago, and are no longer needed. Keep a QT_MODULE(x) define so other modules continue compiling. Change-Id: I8fd76cd5270df8f14aee746b6cf32ebf7c23fec7 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-2312-12/+12
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Rename all our interfaces from com.trolltech to org.qt-projectLars Knoll2012-01-193-3/+3
| | | | | | Change-Id: I6db7211fcf6b24bd75e360645bbb2fdf1ef8a8bc Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com> Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Cleanup: No need to have two code paths that both return Unrelated.Jan-Arve Saether2012-01-192-11/+0
| | | | | | | QAccessibleInterface::relatedTo() does the job for us already. Change-Id: I816022041e38c5f9dd742df1c4b9ca61b8d6a186 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Remove all references to QAccessible::SelfJan-Arve Saether2012-01-192-5/+0
| | | | | | | | | | | | | navigate() to Self does not make any sense (its basically a clone). It seems that its not that useful to return Self from relationTo(), since it was only one place where relationTo() was called where it checked for the Self flag. This was in the windows bridge, and we could easily work around that. If it really turns out that Self is useful, we can always add that enum value back later. Change-Id: I9ebb60da059a843de5e6fcab9e815b919afc6f2a Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Remove all references to QAccessible::(Covers|Covered)Jan-Arve Saether2012-01-191-5/+0
| | | | | | | | These were not used in any bridges, and none of the bridges (MSAA, Cocoa, AT-SPI/IA2) can hardly make use of this information. Change-Id: If3cad6b6c1928535dd932f46c9ec6883a4a19c76 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>