diff -Nru qt-at-spi-0.2.0/Changelog qt-at-spi-0.2.0+git20120411/Changelog --- qt-at-spi-0.2.0/Changelog 1970-01-01 00:00:00.000000000 +0000 +++ qt-at-spi-0.2.0+git20120411/Changelog 2012-04-12 00:58:08.000000000 +0000 @@ -0,0 +1,2617 @@ +commit be1a340131ab78ca0c994512a51a939d9733aba0 +Author: Frederik Gladhorn +Date: Wed Apr 11 01:59:38 2012 +0200 + + When invisible we can also say not showing. + + This is all a bit murky, but since the bridge treats + invisible and offscreen as not showing and not visible, + we should at least be consistent. + +commit 2b5b9e50e8c0321b2d080e846ff6b9bf182200cf +Author: Frederik Gladhorn +Date: Tue Apr 10 19:30:24 2012 +0200 + + Fix GetRowAtIndex and Column + +commit 7adefac3f43d9d4bdc1127bb307ab3c90f41e792 +Author: Frederik Gladhorn +Date: Mon Apr 9 17:32:36 2012 +0200 + + Return indexOfChild 0-based. + +commit 1cdf6559ccd251fc44e7c9e60ad5ded1ea05234f +Author: Frederik Gladhorn +Date: Mon Apr 9 14:21:44 2012 +0200 + + end focus changes also when listening to state changes in objects + + No need to artificially restrict sending of focus events. + This is the signal most clients are interested in anyway. + +commit e2ab0017beb3ba6d2af8daf87be0a2c2069d9a27 +Author: Frederik Gladhorn +Date: Mon Apr 9 14:05:04 2012 +0200 + + Add state transient for list/tree items to fix caching issues + + This fixes children of these items changing and + expanding of trees. + Before libatspi2 would return outdated, cached items. + +commit 1dbd7cfbaa3295815ddb7a94d37848a67b01bc6f +Author: Frederik Gladhorn +Date: Sat Apr 7 19:27:43 2012 +0200 + + Do not return null path for application. + +commit 4159da09564bb04b7634fafb515a5b5086e70f71 +Author: Frederik Gladhorn +Date: Sat Apr 7 18:02:51 2012 +0200 + + Return null path when asked for invalid child or parent. + +commit cf41d27235b3e772acde693cea942b80b7bb7ce8 +Author: Frederik Gladhorn +Date: Wed Apr 4 00:02:52 2012 +0200 + + Fix double delete in getWindow. + + This would be triggered by GetExtents. + +commit dd736410f0815145e6bccfa9f132220ebb295341 +Author: Frederik Gladhorn +Date: Tue Apr 3 23:12:37 2012 +0200 + + Only send key events when there's a listener. + +commit 183db399f3d68405ce6a4465baa46d4ace44213a +Author: Frederik Gladhorn +Date: Tue Apr 3 21:40:10 2012 +0200 + + Make application a child of the main atspi adaptor. + +commit 704105c0b64d9bb72837efc6e9a92bfc13b2ed3a +Author: Frederik Gladhorn +Date: Thu Mar 29 16:17:55 2012 +0200 + + QSpiRect -> QRect and fix CharacterExtents + + Why would we create our own type if we have one that's working. + This also fixes the signature for the functions returning rects. + Backport from qt5 branch. + + Conflicts: + + src/atspiadaptor.cpp + src/atspiadaptor.h + +commit a213019e84732da7fea5162f8c79ee42b8a3b576 +Author: Frederik Gladhorn +Date: Wed Mar 14 15:10:50 2012 +0100 + + Sent the right text for text insert/delete events. + + It was sending the path instead of the text before. + +commit cb1626b07dd4b495020931f0b514d82e10882337 +Author: Frederik Gladhorn +Date: Wed Mar 14 15:10:37 2012 +0100 + + Not every line edit is a password one. + +commit 6bfbce91f23d6b07141a635e292ebcbccaf01200 +Author: Frederik Gladhorn +Date: Mon Mar 12 14:50:20 2012 +0100 + + Improve shortcut handling. + + Gnome joings "mnemonics" with semicolons. + Fall back to the text(Accelerator) shortcut if available. + +commit 185f8f5e4ecf7306d941cce31a63272cefbe7d5d +Author: Frederik Gladhorn +Date: Mon Mar 12 14:25:39 2012 +0100 + + Remove useless debug output. + +commit 08a30d7a14361e01b4edaba28b4be58da3043666 +Author: Frederik Gladhorn +Date: Thu Mar 8 15:00:25 2012 +0100 + + Use plastique style in test. + + Oxygen style is unusable and unreliable for the test since + it has a tendency to create many invisible extra items behind our back. + +commit 7e0f18703aee619ebf8a238e3e0309dbccee9d39 +Author: Frederik Gladhorn +Date: Thu Mar 8 14:43:58 2012 +0100 + + Fix introspection of root accessible. + +commit bd6d18614d417a8c75d111fe25a3a96ef61e799b +Author: Frederik Gladhorn +Date: Mon Mar 5 14:34:16 2012 +0100 + + Make sure that all classes inheriting QAction are treated right. + +commit 3d1f4cb01ba0c73a7a31fcdf3ff72fa3ee90408f +Author: Frederik Gladhorn +Date: Mon Mar 5 14:23:05 2012 +0100 + + Fix navigation to Menu and QAction. + +commit 5c42baf5dcd09b23b6d3a077313fba27dbfe79a3 +Author: Frederik Gladhorn +Date: Fri Mar 2 21:57:27 2012 +0100 + + Clean up interfaceForPath. + +commit 011a2dfcf5dcc8c93246a032ea7560be3f0a1d61 +Author: Frederik Gladhorn +Date: Fri Mar 2 21:39:29 2012 +0100 + + Rename shared pointer for interfaces to QAIPointer. + +commit afde6e3386bbb66a7776f7bec182401b68ae8c20 +Author: Frederik Gladhorn +Date: Fri Mar 2 11:59:54 2012 +0100 + + Set atspi role to password_text for password line edits. + +commit 87f033fb0cf1efb3f111b5a0ca4493ee4fb5ed6b +Author: Frederik Gladhorn +Date: Fri Jan 20 18:11:08 2012 +0100 + + Send selection changed signals. + +commit c6f8da699f3d248a74f6271e7314171cfdbe9f80 +Merge: be1e880 efd7b8c +Author: José Millán Soto +Date: Wed Jan 18 16:54:42 2012 +0100 + + Merge branch 'StandardActionWrapper' + +commit efd7b8c0c8d9fad0e401ebf8d667c826c5e57a4d +Author: José Millán Soto +Date: Wed Jan 18 16:09:53 2012 +0100 + + Improved action detection + + Skip default action, when default action is SetFocus and widget is not focusable. + Check for Press is element role is PushButton + +commit 7f48c1b8c39a6203dc751724071830dbcf024929 +Author: José Millán Soto +Date: Wed Jan 18 13:02:41 2012 +0100 + + Implemented StandardActionWrapper::keyBindings + +commit be1e8803c64d67cd8ff9884528f1e52c1a0fc6e5 +Author: José Millán Soto +Date: Sun Jan 15 07:41:23 2012 +0100 + + Return a new QAccessibleInterface instance when child is set in accessibleParent + +commit 90caf9bb8bb8cebfe1ff81e2b20f35a9fb799d74 +Author: José Millán Soto +Date: Sun Jan 15 00:38:59 2012 +0100 + + Added break in QAccessible::Selection case in AtSpiAdaptor::notify + +commit 1be26df7a44cb8cbaa4997a0c4196b6f7a7f8d42 +Author: José Millán Soto +Date: Sun Jan 15 00:38:02 2012 +0100 + + Verify than an object is avaliable in AtSpiAdaptor::notify when reason is QAccessible::StateChanged + +commit bc8965e7872730ca97f8c12ad5d24cdea9b17170 +Author: José Millán Soto +Date: Fri Jan 13 01:47:16 2012 +0100 + + Added StandardActionWrapper class + + This class makes it possible to use the actions defined by implmenting + QAccessibleInterface::doAction, QAccessibleInterface::actionText and + QAccessibleInterface::userActionCount. + + This is important in complex widgets, as QAccessibleActionInterface does not define + a way for an action to be executed on a child. + +commit fadddbbd5cd21796491dd818c067639bb3ee4578 +Author: José Millán Soto +Date: Fri Jan 13 01:56:39 2012 +0100 + + Make AtSpiAdaptor::tableInterface use always table2Interface() + + - interface->table2Interface() is checked instead of tableInterface() + - table2Interface() is used first when obtaining summary and caption + +commit 426b2791273a5298311c4cf67f6a7ee4e2429893 +Author: José Millán Soto +Date: Wed Jan 11 03:26:29 2012 +0100 + + Handle QAccessible::Selection in AtSpiAdaptor::notify + +commit 5c69f7c471ae417101a089eb3e7edeb744f20949 +Author: Frederik Gladhorn +Date: Fri Jan 6 20:56:47 2012 +0100 + + Add generated docs to gitignore. + +commit 799950a0757650cf065deed97917eb365d56e940 +Author: Frederik Gladhorn +Date: Fri Jan 6 20:56:30 2012 +0100 + + Some more doc cleanup/improvement. + +commit 558c5df2bd4e08ed2b038923aac3028703e5dd03 +Author: Frederik Gladhorn +Date: Fri Jan 6 10:59:15 2012 +0100 + + Add classes to be documented. + +commit 072cf4584375c8f005e780184e4da5e3295934d6 +Author: Frederik Gladhorn +Date: Fri Jan 6 01:54:56 2012 +0100 + + Remove more cruft. + +commit 0e6e5e0bb8c61c1f0000558384b284240b388cb2 +Author: Frederik Gladhorn +Date: Fri Jan 6 01:24:15 2012 +0100 + + Clean up and document. + + Add documentation in the cpp files. + Add qdoc instructions to generate the documentation. + +commit 8edfa21c5f1ab653a117e7c13fea5a2e1a59dfe7 +Author: Frederik Gladhorn +Date: Fri Jan 6 01:06:55 2012 +0100 + + Remove old class. + +commit 8f5bd04251be58daaae55acc6bb4b2f54b789168 +Author: Frederik Gladhorn +Date: Fri Jan 6 01:05:37 2012 +0100 + + Remove debug function. + +commit 6c9dc78619469da86686d2f121ad4e3727b5dcff +Author: Frederik Gladhorn +Date: Mon Jan 2 14:46:36 2012 +0100 + + Don't leak interfaces. + +commit f6d5f6a5b00d12c102fd5a039a1aa719e9a7c70e +Author: Frederik Gladhorn +Date: Mon Jan 2 13:54:12 2012 +0100 + + Implement flags to only send selected updates. + + Use the register listeners on the a11y bus. + +commit 4875d6caded5f119fc0f0076fdde71baea52e3b2 +Author: Frederik Gladhorn +Date: Tue Nov 15 20:46:15 2011 +0100 + + Fix buddies. + +commit 0c02ef1a393724b4fa9b91223381078c01b046fe +Author: Frederik Gladhorn +Date: Sat Nov 12 15:54:54 2011 +0100 + + improve tab order + +commit fac7a19858dcf8d17f54216e7143eac56f1e2c91 +Author: Frederik Gladhorn +Date: Sat Nov 12 15:52:20 2011 +0100 + + Warn instead of assert for invalid child. + +commit 3f6b3542868d32eacc623f8e0d7341287286c78b +Author: Frederik Gladhorn +Date: Thu Nov 3 21:47:43 2011 +0100 + + Fix leak, use QSharedPointer. + + Before the QAccessibleInterface would be leaked on introspection + and even when reacting to incomming calls via dbus. + +commit 60a77d7bfe78cd31dc108a26e1ab3f288d236333 +Author: Frederik Gladhorn +Date: Thu Nov 3 21:47:00 2011 +0100 + + Remove stray newline. + +commit c05fa8b376262dc2da05360a0270618ca3f573d8 +Author: Frederik Gladhorn +Date: Wed Sep 28 10:02:14 2011 +0200 + + Add time and scroll area widgets. + +commit 35a5e5ef4840677c5f2374d222555f293fcecd12 +Author: Frederik Gladhorn +Date: Mon Sep 26 13:34:19 2011 +0200 + + Add an insane amount of tool buttons. + +commit 23e11941016c2b40f40efeb33f84bfe518b09dfa +Author: Frederik Gladhorn +Date: Wed Sep 7 15:54:11 2011 +0200 + + Implement active state for window objects. + +commit d1ed924c9e1a4352f6f1ef925fdccfa3298f753e +Author: Frederik Gladhorn +Date: Wed Sep 7 15:41:43 2011 +0200 + + Implement window:deactivate. + +commit 8505803ac14370a1e357a09d3b4a6851594421b9 +Author: Frederik Gladhorn +Date: Tue Sep 6 00:42:05 2011 +0200 + + Add spinner and toolbutton to example. + +commit b09aa53448524f55bc8340a097c19e4c7775b001 +Author: Frederik Gladhorn +Date: Sun Sep 4 11:21:50 2011 +0200 + + Reduce warning by handling more accessible updates. + +commit f642b0304fb0efb8fca2aaf6678e77c66afdf1c7 +Author: Frederik Gladhorn +Date: Fri Sep 2 11:56:50 2011 +0200 + + Do not crash when the a11y bus address is not found on DBus. + +commit a0fd509551229f8fdd7e0ddd705bdcabd8cd2828 +Author: Frederik Gladhorn +Date: Thu Sep 1 14:35:05 2011 +0200 + + Fix state handling - use a proper & for qflags. + +commit 5f4d59c62bfaa5ac239f1e129fadd48d7d68c309 +Author: Frederik Gladhorn +Date: Wed Aug 31 17:13:04 2011 +0200 + + Actually check state bits. + + This got broken with the removal of HasInvokeExtension. + (7e4d62dcbf1d5b7d8c70517ffd6c125a082f6cb4) + +commit 47310f54cd318cc8d282449cbcfcd670327f572f +Author: Frederik Gladhorn +Date: Wed Aug 31 15:30:44 2011 +0200 + + Warn and return when trying to access invalid interfaces. + +commit 36d5caa8314b607325ddce3908dd6f0c50ebc2bf +Author: Frederik Gladhorn +Date: Wed Aug 31 13:47:34 2011 +0200 + + Do not crash the introspection with invalid paths. + +commit 7e4d62dcbf1d5b7d8c70517ffd6c125a082f6cb4 +Author: Frederik Gladhorn +Date: Fri Aug 26 11:36:34 2011 +0200 + + Remove use of QAccessible::HasInvokeExtension. + + QAccessible::HasInvokeExtension is marked as internal. + This value will go away in Qt5. + +commit 5f993e03966b011130ce0f3eddecf66c95140d7c +Author: Frederik Gladhorn +Date: Thu Aug 25 12:01:34 2011 +0200 + + Get the a11y bus address from dbus. + + This is the preferred way of getting the bus address. + +commit 2605fbaa22071dbaf3b5007d463375ee6e9e141f +Author: Frederik Gladhorn +Date: Thu Aug 25 11:43:16 2011 +0200 + + Add a checkable menu item. + +commit e89acec0ddb771c345bce0e764e2a6d98894680c +Author: Frederik Gladhorn +Date: Sat Aug 13 02:07:15 2011 -0700 + + Fix setter for value interface. Add test for value. + +commit e1ebb222258f39e0cebaec5bda3527a23cff9f0b +Author: Frederik Gladhorn +Date: Sat Aug 13 01:50:11 2011 -0700 + + Remove duplicate function. + +commit 1b94b8c11cd3c6ba74c9f88c3d5ab9f66b52a42e +Author: José Millán Soto +Date: Fri Aug 12 14:30:06 2011 +0200 + + Removed duplicated method from Simple Example + +commit bf53b17fc0041b3e28a4bfff953545c370ee5c00 +Merge: cc8512d 75b3c6e +Author: Frederik Gladhorn +Date: Fri Aug 12 02:53:22 2011 -0700 + + Merge branch 'dbusvirtual' + + By now the branch has become stable enough and has a much better memory foot print. + + Conflicts: + examples/simple/mainwindow.cpp + examples/simple/mainwindow.ui + +commit 75b3c6e31620ac84229684e587ebcfec830fdeec +Author: Frederik Gladhorn +Date: Fri Aug 12 02:51:47 2011 -0700 + + Let text test run through with xfail for now. + +commit 416b0cacc9e529e445d0f4f0b03c141bc2791f55 +Author: Frederik Gladhorn +Date: Fri Aug 12 02:46:21 2011 -0700 + + Fix table test to reflect table2 implementation. + +commit 856286a42ec3173bc4e6812615e4904502f2c6f9 +Author: Frederik Gladhorn +Date: Thu Aug 11 06:03:28 2011 -0700 + + Let GetItems in the Cache return at least an empty array. + +commit 03a2b46142a95153919c5441c002e7223ab2b3ec +Author: Frederik Gladhorn +Date: Thu Aug 11 05:42:38 2011 -0700 + + Bring back introspection. + +commit 51138a7211f1e01e495a69a62a7ba10e8673af77 +Author: Frederik Gladhorn +Date: Wed Aug 10 13:07:35 2011 -0700 + + Remove stray semicolon. + +commit e7b9d2ada824a8a0aded164353657715c5fcab32 +Author: Frederik Gladhorn +Date: Wed Aug 10 08:37:17 2011 -0700 + + Remove unused files. + +commit 56ea7483cdc1c680d4ef86938548e6cc39e0b043 +Author: Frederik Gladhorn +Date: Wed Aug 10 08:21:21 2011 -0700 + + Rename adaptor class to AtSpiAdaptor. + +commit 36b5f47035dd6b616ef4c2893a24e5f73a1bb360 +Author: Frederik Gladhorn +Date: Thu Aug 4 15:50:03 2011 +0200 + + Use QWeakPointer to keep track of valid objects. + +commit cd41792b0f99ca9487900d8491bd5372c8b0916b +Merge: 3395fcf 0b631a9 +Author: Frederik Gladhorn +Date: Thu Aug 4 15:04:53 2011 +0200 + + Merge branch 'handledObjects' into dbusvirtual + + Conflicts: + src/qspiadaptorv2.cpp + src/qspiadaptorv2.h + +commit 0b631a9101f91ac4dbfff92eff5526c27c901942 +Author: Frederik Gladhorn +Date: Thu Aug 4 12:32:31 2011 +0200 + + Remove unused function. + +commit 3395fcfbb17f0b459d7539001952bc20b3bf0ebf +Author: Frederik Gladhorn +Date: Wed Aug 3 17:28:34 2011 +0200 + + Save last state and text on first show. + +commit 856fd5385736b4c6327c6ac25eeb7aad58cdd4e6 +Author: Frederik Gladhorn +Date: Wed Aug 3 17:27:43 2011 +0200 + + Fix Menus yet again. + +commit eb06096165d8f86f9e768da0ab7612762653d064 +Author: José Millán Soto +Date: Wed Aug 3 10:29:23 2011 +0200 + + Keep track of objects which are being handled by QSpiAdaptorV2 + +commit ac0cebe1166b294327d4550f4c7c23c7670995da +Author: José Millán Soto +Date: Tue Aug 2 22:39:37 2011 +0200 + + Make object deletion use QAccessibleInterface + +commit dc4e06b446db46229c6be38f27e2194fe320ef1d +Author: José Millán Soto +Date: Fri Jul 29 09:41:37 2011 +0200 + + Handle object deletion + +commit 837416ed16cccc88e7cf2ce32ff3353e91d4b7c7 +Author: Frederik Gladhorn +Date: Tue Aug 2 16:25:54 2011 +0200 + + Remove duplicate string defines. + +commit f0091511cd25caa6d4898bec0eb0159a5a7fe901 +Author: Frederik Gladhorn +Date: Tue Aug 2 16:16:35 2011 +0200 + + Remove cruft. + +commit c3701316d7d7aa4820aa469892e14a439fe540d9 +Author: Frederik Gladhorn +Date: Tue Aug 2 16:13:58 2011 +0200 + + Cleanup, care about creation and destruction a bit more. + + Move code where it belongs, remove a bit of cruft. + Destruction still has the problem that we know the parent but since + the parent doesn't know any more about the widget, we don't know our own index. + +commit ee7d07fdf2d0f67859dbada962e1794b6973e3b1 +Author: Frederik Gladhorn +Date: Tue Aug 2 11:25:03 2011 +0200 + + Implement GetToolkitName. + +commit d5dfc56b1cb362c0f6d2d92f7dd53115db01e2cc +Author: Frederik Gladhorn +Date: Tue Aug 2 11:09:11 2011 +0200 + + Use the proper null path from ATSPI for undefined references. + +commit acb5e1e5a16cff50df3657049468c3700fd4ced2 +Author: Frederik Gladhorn +Date: Mon Aug 1 14:21:59 2011 +0200 + + Don't crash because of debugging unhandled events. + +commit dd1ba9d0a654bb44ea1c72901d4928121b479dc5 +Author: José Millán Soto +Date: Fri Jul 29 20:03:06 2011 +0200 + + Handle QAccessible::ObjectShow and QAccessible::ObjectHide + +commit 3eb6962887776153dc6a441be32376bf99fad174 +Author: José Millán Soto +Date: Fri Jul 29 11:54:27 2011 +0200 + + Added the option to show or hide the table in simple example + +commit 354fb9edbb673e8a5ed6490f52cdd981886fd20c +Author: José Millán Soto +Date: Fri Jul 29 11:28:14 2011 +0200 + + Corrected typo in simple example + +commit 808eebc6273bd757c01524624ebc0faf18554dbc +Author: José Millán Soto +Date: Fri Jul 29 10:49:29 2011 +0200 + + Added to simple example the function of displaying an info dialog + +commit cc8512d8bbe85af0f513e5d29f93a4a71a5ba26a +Author: José Millán Soto +Date: Fri Jul 29 10:49:29 2011 +0200 + + Added to simple example the function of displaying an info dialog + +commit 9fd5c4bfc2b31a1b51238ac82fd0b658a8fb5ea9 +Author: Frederik Gladhorn +Date: Thu Jul 28 13:49:50 2011 +0200 + + Save the last text when text interface is there. + +commit c04a0151959b9af1d5e1d1ce510ee7696042a66d +Author: Frederik Gladhorn +Date: Thu Jul 28 02:03:48 2011 +0200 + + Introduce helper to turn path into proper dbus variant. + +commit 4e29d2828165888109406164ce65b875b7a46546 +Author: Frederik Gladhorn +Date: Thu Jul 28 01:55:22 2011 +0200 + + Name and value change notifications. + +commit c20ee71feb9b1de27d18a082db6951a1a97a40f6 +Author: Frederik Gladhorn +Date: Thu Jul 28 01:45:03 2011 +0200 + + Bring focus back for real. + +commit 83e9fe7a7401dbeb0f9896695d0ae23b050da3e8 +Author: Frederik Gladhorn +Date: Thu Jul 28 00:32:09 2011 +0200 + + Start implementing signals - focus. + +commit 648f13bb7688aa5d6705fa4641293668b7b93827 +Author: Frederik Gladhorn +Date: Wed Jul 27 22:23:47 2011 +0200 + + Clean newlines. + +commit ec1fb5b6c25dcffd8b8e3bc911310088cb5cd31c +Author: Frederik Gladhorn +Date: Wed Jul 27 22:21:25 2011 +0200 + + Bring back application activate and key filter. + +commit 01b55eaaefc4b9c249f6b18e04058d1effd70a84 +Author: Frederik Gladhorn +Date: Wed Jul 27 15:58:49 2011 +0200 + + Add some constness to functions. + +commit 63648b0826894275fa65513bbc8570e94ca33459 +Author: Frederik Gladhorn +Date: Wed Jul 27 15:38:28 2011 +0200 + + Make sure not to ask for -1th child. + +commit 4733d808a942c43878a244630d39c926f1b9074b +Author: Frederik Gladhorn +Date: Wed Jul 27 15:12:54 2011 +0200 + + Implement table2. + +commit cb10caf676ec59b1d88790ee635c619f9099a321 +Author: Frederik Gladhorn +Date: Tue Jul 26 16:21:21 2011 +0200 + + Disable tons of things no longer needed from being built. + +commit 7f2967658c9458c3360a91fc337c02af74331aeb +Author: Frederik Gladhorn +Date: Wed Jul 13 14:26:37 2011 +0200 + + Row/column headers are components. + +commit 12c74b126d4f01fb832547db941ac05fce48db7d +Author: Frederik Gladhorn +Date: Tue Jul 12 11:12:04 2011 +0200 + + Sort functions so that they make more sense. + +commit 4f302d3c420d97ea7229e6cf576ee764b7a6d25e +Author: Frederik Gladhorn +Date: Tue Jul 12 11:03:08 2011 +0200 + + Return a row/col only for big enough indexes. + +commit 5fbc3472d54a23ecaceaa30daa3398aac1738b97 +Author: Frederik Gladhorn +Date: Tue Jul 12 08:40:04 2011 +0200 + + Implement rows/cols with table2 interface. + +commit 377f73ce1f45f39dd2431de7841c60be6c98d88f +Author: Frederik Gladhorn +Date: Mon Jul 11 17:50:28 2011 +0200 + + Better focus debug output. + +commit b7db94919592ba1cc573b19ef335f008e6169da9 +Author: Frederik Gladhorn +Date: Mon Jul 11 17:48:58 2011 +0200 + + Rename header to make debugging easier. + +commit f949f1f54ece63c575eeea0a3f4625bf229e4d2e +Author: Frederik Gladhorn +Date: Tue Jul 5 16:27:46 2011 +0200 + + Nicer debug output. + +commit 00d36f5ac241a1f3610d7adf902e79df2e08a388 +Author: Frederik Gladhorn +Date: Tue Jul 5 15:27:07 2011 +0200 + + Set expandable for tree items. + +commit fb2709781a78e23f5ac19a691f4f77d55119b07b +Author: Frederik Gladhorn +Date: Mon Jul 4 13:06:35 2011 -0700 + + Fix tree test. + +commit 8c1b257cb28939adf3d4c122e4b4bf346886c029 +Author: Frederik Gladhorn +Date: Mon Jul 4 20:15:58 2011 +0200 + + Do not crash when interface->childCount() != children.count(). + +commit 60dad0a2fafbd662266a9e88e3f7462f4d97d57e +Author: Frederik Gladhorn +Date: Mon Jul 4 17:46:31 2011 +0200 + + Actually update the children. + +commit 61ed7b75511674d2f0d32f40089632fca1ff1677 +Author: Frederik Gladhorn +Date: Mon Jul 4 17:44:32 2011 +0200 + + Typo in test. + +commit 452998d59887852bf1c8bfff6ebc015958c2993b +Author: Frederik Gladhorn +Date: Mon Jul 4 16:30:24 2011 +0200 + + Fix test a little. + +commit 82399d5a01d55431e0328db993dbae3d55d7e169 +Author: Frederik Gladhorn +Date: Mon Jul 4 00:39:13 2011 -0700 + + More trees, more debug output, more test. + +commit 8df1a7faf1c73ff8a09d56c82f77a4ea5aa18c69 +Author: Frederik Gladhorn +Date: Sun Jul 3 07:12:27 2011 -0700 + + Better role name for tree item. + +commit c8dcd04660216c98e7535c83db19bb57d9626c78 +Author: Frederik Gladhorn +Date: Sun Jul 3 07:11:53 2011 -0700 + + Remove cruft. + +commit 1fda2f3a3e2d4841f1dba896d87c2aa37a6ede41 +Author: Frederik Gladhorn +Date: Sun Jul 3 07:09:31 2011 -0700 + + Start Tree test. + +commit 0f8ea378047cb6b3673abe435edf6ffd7237b25c +Author: Frederik Gladhorn +Date: Sat Jul 2 00:26:20 2011 +0200 + + Start with expanded tree for now. + +commit 57b60d6b3c97260094750ee35e79db4b065c62e1 +Author: Frederik Gladhorn +Date: Fri Jul 1 21:54:46 2011 +0200 + + Fix GetIndexInParent. + + For at-spi we need to convert one based index to 0-based. + Remove some debug output and add assert. + +commit cc1697ed206b9cece9435a481ea225b52fda47bd +Author: Frederik Gladhorn +Date: Fri Jul 1 21:31:53 2011 +0200 + + Remove assert that was clearly wrong. + +commit cbac97b433632879ab272356d4a579a531cd6dfa +Author: Frederik Gladhorn +Date: Fri Jul 1 21:09:39 2011 +0200 + + React to TableModelChanged. + + For now reset the entire table. + +commit 56bd69e52655b94c1cbf9b5108bd66986aa64897 +Author: Frederik Gladhorn +Date: Thu Jun 30 17:30:41 2011 +0200 + + Improve tables adding cells slightly. + +commit a4b9636ba046fa709b67a2bf5903ff2eb0557f36 +Author: Frederik Gladhorn +Date: Thu Jun 30 10:51:22 2011 +0200 + + Add comments for TableModelChanged. + +commit a40158ba8dc0ffd069bc55928755c3d51cfe95bd +Author: Frederik Gladhorn +Date: Tue Jun 28 16:04:27 2011 +0200 + + Change to use table2 interface. + +commit 5f4b8e66f00c3195ed7759de8ed5e70c07ab9224 +Author: Frederik Gladhorn +Date: Wed Jul 27 13:44:49 2011 +0200 + + Implement text and value interfaces. + +commit a605d19baa31d5b30d8d0d6670306180d2c52f24 +Author: Frederik Gladhorn +Date: Tue Jul 26 19:30:13 2011 +0200 + + Implement GetChildren. + +commit 267d0fd1b628611f2982141346d6cd507893d8d4 +Author: Frederik Gladhorn +Date: Tue Jul 26 18:58:07 2011 +0200 + + Fix GetParent. + +commit 6ebe8f6fc4b22b8f4440fbfe6f689aabeafa7c5c +Author: Frederik Gladhorn +Date: Tue Jul 26 18:26:51 2011 +0200 + + Implement component interface. + +commit 9fdf4eab49a1920778e08a259e930180cfe960e9 +Author: Frederik Gladhorn +Date: Tue Jul 26 16:49:36 2011 +0200 + + Put accessible interface handling back into the adaptor. + +commit 28bc5c0b763897cd0d9ba8821d78a5e16e61b692 +Author: Frederik Gladhorn +Date: Tue Jul 26 16:21:21 2011 +0200 + + Disable tons of things no longer needed from being built. + +commit cf19d24664e5d2cbd3fba71e908455632e94bdb6 +Author: Frederik Gladhorn +Date: Tue Jul 26 15:42:38 2011 +0200 + + Bring back interfaces. + +commit 1ffea85b1cb686704aa4614f4390cd67d285e862 +Author: Frederik Gladhorn +Date: Tue Jul 26 15:23:29 2011 +0200 + + Simplify childatindex and put interfaces into their own function. + +commit 45c152e43be0da4a2f2e7a2a33aa378d09981495 +Author: Frederik Gladhorn +Date: Tue Jul 26 14:57:59 2011 +0200 + + Make GetChildAtIndex nicer. + +commit dd208ab5ed8b8ced0f2b85e78d001d3cc1e1ddeb +Author: Frederik Gladhorn +Date: Tue Jul 26 13:59:22 2011 +0200 + + Simplify sending responses. + +commit 3bd88ab9e3064247e4f09ed9626a2c9d37fd71d7 +Author: Frederik Gladhorn +Date: Tue Jul 26 11:57:19 2011 +0200 + + Don't assert when asking for relations for child==0. + +commit 39919c1274ed877ecf35cfe5688e13c76f5832a8 +Author: Frederik Gladhorn +Date: Tue Jul 26 11:45:26 2011 +0200 + + Cleanup, license. + +commit 531e99b38e2450eebd831c16945308f739a91481 +Author: Frederik Gladhorn +Date: Tue Jul 26 11:43:38 2011 +0200 + + Attributes and relations. + +commit 0acbc0292514958f84d2bb2fc82089994170817c +Author: Frederik Gladhorn +Date: Mon Jul 25 14:02:29 2011 -0700 + + Fix child paths. + +commit 2f3e95aa631758611f977c0d4ff30b37e360524e +Author: Frederik Gladhorn +Date: Mon Jul 25 13:38:30 2011 -0700 + + Fix GetChildAtIndex. + +commit 0fd1f465f65dba19f007cc9ac059a03f7ada7228 +Author: Frederik Gladhorn +Date: Mon Jul 25 07:51:57 2011 -0700 + + Fix parent path. + +commit 01af40b565791e95226b4e2f6460e196146c808a +Author: Frederik Gladhorn +Date: Mon Jul 25 07:45:56 2011 -0700 + + Fix roles. + +commit 02b843f12b9a584fda01ac7a11fbaa76f997bc57 +Author: Frederik Gladhorn +Date: Mon Jul 25 07:20:59 2011 -0700 + + Most basic child navigation. + +commit 979d7b4ca7943d9031bec0776f2131cd311df474 +Author: Frederik Gladhorn +Date: Mon Jul 25 06:39:54 2011 -0700 + + Cleanup, states working. + +commit 7be80c5cfc873028e9a9a7f6a19525eda4a14e1b +Author: José Millán Soto +Date: Sun Jul 17 11:02:41 2011 +0200 + + Handle QAccessible::ObjectShow and QAccessible::ObjectHide + +commit 84d66abeca8974ff2983e94910e9f1eb9a66ba32 +Author: Frederik Gladhorn +Date: Thu Jul 14 17:17:15 2011 +0200 + + Implement more of the accessible interface. + +commit 289d1a421007c8655a5fddaafe798b9cf2d8cbba +Author: Frederik Gladhorn +Date: Thu Jul 14 16:59:10 2011 +0200 + + Start handler for accessible. + +commit 6cdcea58fe7de405d53b21c51fa517ffeb35f7e9 +Author: Frederik Gladhorn +Date: Wed Jul 13 15:17:03 2011 -0700 + + Improve debug message + +commit 196f628ef87fa9f18be64e91d0084e681e7509bb +Author: Frederik Gladhorn +Date: Wed Jul 13 17:50:15 2011 +0200 + + Proof of concept: app name and id. + +commit 6551aa8cf0103579e42a3b75f99692e8460731a1 +Author: Frederik Gladhorn +Date: Wed Jul 13 17:07:14 2011 +0200 + + Start depending on QDBusVirtualObject. + +commit 1bac67b43b25b2edc00f8343c3fb01725b67bcbe +Author: Frederik Gladhorn +Date: Fri Jul 1 13:21:30 2011 +0200 + + Get rid of copy of role names from atspi. + +commit 7431b3dbe723351857f331cb91a86f9c0b80dc49 +Author: Frederik Gladhorn +Date: Fri Jul 1 13:17:40 2011 +0200 + + Use the State enum from at-spi2 directly. + +commit af50afcb0f0d4870df1d2d1d6d6a72b1a50694ec +Author: Frederik Gladhorn +Date: Thu Jun 30 17:19:19 2011 +0200 + + Improve debug output. + +commit 0ba2a09d6c54123fe77d55a17efee842464e3c73 +Author: Frederik Gladhorn +Date: Thu Jun 30 14:31:37 2011 +0200 + + Improve warning about bad QAccessiblePlugin impl. + +commit 1441577a857716d9e04598af5ee3df4ea64af2dd +Author: Frederik Gladhorn +Date: Thu Jun 30 14:31:12 2011 +0200 + + Clean up debug. + +commit 92f2088fdca763f1b23171354dab3ba68e1477cf +Author: Frederik Gladhorn +Date: Thu Jun 30 14:18:15 2011 +0200 + + Fix warning: Creating accessible with different object + +commit b658853124f85d0350c294dd37f2d0d574d50e97 +Author: Frederik Gladhorn +Date: Thu Jun 30 14:01:39 2011 +0200 + + Return the correct root object. + +commit 0e6f8a2e1dd10a729e0b38ea55217b709f6e5f1e +Author: Frederik Gladhorn +Date: Thu Jun 30 11:51:46 2011 +0200 + + Emit value changed properly. + + This seems to be ignored no matter what. + But before we were even sending the wrong string for the change. + +commit c802c9ea23a342810147a9539690abfb9dbbff84 +Author: Frederik Gladhorn +Date: Thu Jun 30 10:58:42 2011 +0200 + + Add warning when building bridge with Qt<4.8. + +commit 89e852c0996a3b94f45384d06ae70defef778876 +Author: Frederik Gladhorn +Date: Thu Jun 30 10:46:02 2011 +0200 + + Add buttons to add/remove list items. + +commit 2ab395376f9d27ee3edf5b31e9a3f740fa6b2c4f +Author: Frederik Gladhorn +Date: Fri Jun 24 17:55:49 2011 +0200 + + Fix license headers in examples. + +commit b7f2b0aee510ce03b15ea4c8ed51e4be4515831a +Author: Frederik Gladhorn +Date: Fri Jun 24 17:44:49 2011 +0200 + + Disable some debug output. + +commit 74c766ecfbeec8a99175b63a95264baddc2e1897 +Author: Frederik Gladhorn +Date: Fri Jun 24 17:20:26 2011 +0200 + + Pay attention to QAccessible::ObjectCreated. + + This is needed for QML loader items it seems. + +commit 1479a4daca18155543ceda5c40ee832975de2c31 +Author: Frederik Gladhorn +Date: Fri Jun 24 17:02:47 2011 +0200 + + Update to current a11y qml api. + +commit 3505595c684861ff7502a93f1ced7f1b90d6bd5e +Merge: 8b85ff6 ff42d41 +Author: Frederik Gladhorn +Date: Fri Jun 24 16:51:21 2011 +0200 + + Merge remote-tracking branch 'origin/declarative' + +commit 8b85ff650cfe03c4485e1110d040e39c70b24050 +Author: Frederik Gladhorn +Date: Fri Jun 24 16:06:45 2011 +0200 + + Component interface for table cells. Cleanup. + +commit 8eb37eb097c300e08eaa13cd34ea60d80c2914fe +Author: Frederik Gladhorn +Date: Thu Jun 23 20:14:09 2011 +0200 + + Don't crash on children of virtual children. + +commit 3ef8806ae4a011fb1a5b361b21a30647ae012ecf +Author: Frederik Gladhorn +Date: Thu Jun 23 20:01:00 2011 +0200 + + Go back to the old GetChildren behavior. + + The recently introduced changes made the bridge less reliable. + Basically this reverts 02384811f4a612c9d84c7e78f8523136f448bc7a. + +commit 80d7c78d2ba3dc952c78e5d1fc3e3950316b96be +Author: Frederik Gladhorn +Date: Thu Jun 23 18:56:33 2011 +0200 + + Properly encode ptr in dbus path. + +commit 11e66b10aebffaecf1caa13f2b247b4dc1d9a218 +Author: Frederik Gladhorn +Date: Thu Jun 23 15:20:30 2011 +0200 + + Removal of accessibles. + + Start to notify about accessibles being destroyed in some cases + (objects go from 0 to real). + +commit adce0bbddc0f69172b25f0576c204311463c4860 +Author: Frederik Gladhorn +Date: Fri Jun 17 02:52:29 2011 -0700 + + Don't assert on creation of some accessibles. + + For now this crashes for itemviews since they lazily create their children. + This needs a proper fix but makes testing hard and crashy at the moment. + +commit 5a7fe968e783a27a607361158698f9d6deace6ba +Author: Didier Roche +Date: Mon Jun 20 11:04:35 2011 +0200 + + Add licensing file + +commit 02384811f4a612c9d84c7e78f8523136f448bc7a +Author: Frederik Gladhorn +Date: Wed Jun 8 20:10:06 2011 +0200 + + Properly give child paths without initializing the child accessibles. + +commit b0a02692e04348d5f379b5ae54b87be859b1cc48 +Author: Frederik Gladhorn +Date: Mon Jun 6 16:15:01 2011 -0700 + + Manage objects in one hash, path to object. + + Before there was a difference made between objects with children and others. + +commit 82314f780e67196481047cc298adeb4a9987374d +Author: José Millán Soto +Date: Mon Jun 13 15:49:53 2011 +0200 + + Changed method name: setCurrentValue to SetCurrentValue + + Changed method name in order to make it work with the current version + of at-spi2-core + See https://bugzilla.gnome.org/show_bug.cgi?id=652596 + +commit 4ad1f04157ae672c1a0c4019921ad23e16b26355 +Author: José Millán Soto +Date: Wed Jun 1 03:25:30 2011 +0200 + + Created new test: testTextEdit() + +commit 608a09c536aa10194437ccf25e260c4d781bfc6f +Author: Frederik Gladhorn +Date: Mon Jun 6 12:42:14 2011 -0700 + + Fix path for items with child id > 0. + + Move creation of dbus path into its own function. + Append the index when we get one. + +commit 8dc92f3a9368bbe6677b997a18eb5c735e72252c +Merge: bec0906 c4fa6cc +Author: Frederik Gladhorn +Date: Sun Jun 5 11:56:59 2011 -0700 + + Merge branch 'pointer-as-path' + +commit c4fa6cc974522248220d2aeb1c7b4612f81af895 +Author: Frederik Gladhorn +Date: Sun Jun 5 11:45:54 2011 -0700 + + Begin testing lists. + +commit 9ac8766daddb6f98347fa2dcd38a8c47241bde2c +Author: Frederik Gladhorn +Date: Sun Jun 5 11:25:03 2011 -0700 + + Don't crash when a list doesn't return a row item. + + I don't see why it happens, but lists would sometimes crash, print a warning instead. + +commit bec09069925cd103e462aeb3ff29887fd867c20e +Author: José Millán Soto +Date: Tue May 31 23:57:37 2011 +0200 + + Improved boundary handling + +commit 20b4ce293bc4393e76063fff8518f663b0f0cc72 +Author: José Millán Soto +Date: Thu May 12 12:30:11 2011 +0200 + + Converting at-spi boundary types to QAccessible + + Does not yet handle at-spi boundary types which do not have an QAccessible equivalent + +commit adb8f1a38757b783bdb8b65a31a8208d3065e4e1 +Author: Frederik Gladhorn +Date: Thu May 19 02:09:49 2011 +0200 + + Different approach to navigating tables. + +commit 7b92b8430866c6fb623d4edf583c4e91b1f6baa1 +Author: José Millán Soto +Date: Thu May 19 02:04:15 2011 +0200 + + Removed unused variable in QSpiAdaptor::GetRelationSet + +commit 4ad5f80ebb46937b7604ffeffa7ab5ba002c5e12 +Author: Frederik Gladhorn +Date: Tue May 17 02:23:57 2011 +0200 + + Base path on ptr. + + Sadly some objects even inside Qt don't seem to get the parent hierarchy right, + so instead of asserting when the index in parent is messed up, print a warning. + +commit d8f07fcfa288715d04d703fd5435e1d211d557c0 +Author: Frederik Gladhorn +Date: Wed May 18 21:17:39 2011 +0200 + + Clean up debug messages. + +commit 7e3373e70e81878e9af84e9eaf53460480a9eafd +Author: Frederik Gladhorn +Date: Wed May 18 21:01:03 2011 +0200 + + Add at-spi2 setup to readme. + +commit 2b77bce4595fa2ac77a4ffc68d7ecb8822aa4271 +Author: Frederik Gladhorn +Date: Wed May 18 19:30:22 2011 +0200 + + Fix license header to LGPL2.1 with proper address. + +commit 382696a5ca728aa0ad070ed3c398314ea5aaf8ea +Author: José Millán Soto +Date: Fri May 13 19:15:56 2011 +0200 + + Added text in color to Simple example + +commit b3dabe6d84d44723714b6b7690d4176921230f8e +Author: José Millán Soto +Date: Fri May 13 19:14:46 2011 +0200 + + Removed startOffsetCopy and endOffsetCopy in QSpiAdaptor::GetAttributeValue + +commit 64051c108a9a45b8d795b574393ce7fc2d0fa9c2 +Author: José Millán Soto +Date: Fri May 13 13:45:48 2011 +0200 + + Improved QSpiAdaptor::GetAttributes + + Removed variables endOffsetCopy and startOffsetCopy + startOffset set correctly + using const QString & instead of QString for iterating through attributes + +commit 06c761c0f1350174df9f79cd228599e87a3bc15b +Author: Frederik Gladhorn +Date: Fri May 13 12:09:43 2011 +0200 + + Reduce usage of the horrible pseudo singleton. + +commit 387d033439acbf9dd469b437259d1779d82198f6 +Author: Frederik Gladhorn +Date: Fri May 13 07:34:27 2011 +0200 + + Clean up destructors. + + Cache doesn't need a vtable. + Remove extra semicolon. + +commit 50c53b06f505c659e9bba90fcb01687ba26c9770 +Author: Frederik Gladhorn +Date: Wed May 11 20:16:49 2011 +0200 + + Add editable combo box and buddies. + +commit b45672ee0746a5779ce4f3d52d94e1267f4d85ff +Author: José Millán Soto +Date: Thu May 12 18:26:35 2011 +0200 + + Improved QSpiAdaptor::GetRelationSet + + The following relations are checked: Label, Labelled, Controller and Controlled + Simple example modified so the line edit in the "Line Edit" tab has a label marked + as buddy widget. + +commit 7d411dc3e3c46f046571dcedd4d37764a37c1dbc +Author: José Millán Soto +Date: Thu May 12 17:24:04 2011 +0200 + + Added dependency: at-spi2-core + +commit b72701cea90cad9c17fd4176cb47a03f90b3f7aa +Author: José Millán Soto +Date: Wed May 11 16:29:33 2011 +0200 + + Implemented QSpiAdaptor::GetRelationSet() + +commit b34869d4ac1beaf6e79de10d5ca42e221c078a0d +Author: José Millán Soto +Date: Wed May 11 15:55:38 2011 +0200 + + Checking in QSpiAdaptor::AddSelection if selection count has changed + +commit 5709b9196f9dd0e4d8593be045e59d3c9d5b9ef8 +Author: Frederik Gladhorn +Date: Wed May 11 19:07:47 2011 +0200 + + Clean up the test main window. + +commit 83c651a289db5456705be10b9420cc1d8c297b25 +Author: Frederik Gladhorn +Date: Wed May 11 18:31:07 2011 +0200 + + Change translated roles for text and editable text to be in line with ATK. + +commit 21cf2faff277f02e042a6374665378b81ec52b81 +Author: Frederik Gladhorn +Date: Wed May 11 18:16:35 2011 +0200 + + Add table contents and more menus to example. + +commit dce8444f7a5e547586d4e8de13c97a836da111fb +Author: Frederik Gladhorn +Date: Wed May 11 18:14:08 2011 +0200 + + Filler should report filler as name. + +commit 0043bd63a8f1125c7391eb0caaec1f0ec6e6ad42 +Author: José Millán Soto +Date: Wed May 11 11:12:50 2011 +0200 + + Modified tst_QtAtSpi::testLineEdit + + Testing caret and selection + +commit fa636e0ec61e6ec6f87949a63c4ef99f10d0ea92 +Author: José Millán Soto +Date: Tue May 10 16:51:27 2011 +0200 + + Added tst_QtAtSpi::testLineEdit() + +commit c9eef14da7fef2257139ff48bc1e6afb2b9037ef +Author: José Millán Soto +Date: Tue May 10 16:44:53 2011 +0200 + + Corrected bug in AccessibleTestWindow::clearChildren + + qDeleteAll(children()) did also delete the layer, so future calls to + addChilren would make the application crash. + Now a new layer is created and the old one and its children are deleted. + +commit 0b8783ee5081c954f07abb906b8d5c1e7b392f51 +Author: José Millán Soto +Date: Tue May 10 16:36:27 2011 +0200 + + Corrected bug in QSpiAdaptor::InsertText + + Using resized text instead of the original one + +commit 56dc549dc105aa289324e917f7533bd5c2a08d7d +Merge: 7820352 9011825 +Author: José Millán Soto +Date: Tue May 10 15:50:10 2011 +0200 + + Merge branch 'master' of gitorious.org:qt-at-spi/qt-at-spi + +commit 78203520f06a414ce05eb98dc144319d298c3d62 +Author: José Millán Soto +Date: Tue May 10 15:40:35 2011 +0200 + + Fixed memory leak in tst_qt-atspi.cpp + +commit 901182575e4273e1d8e88ec8f66e3009d8118eeb +Author: Frederik Gladhorn +Date: Tue May 10 15:30:24 2011 +0200 + + Test Label. + +commit ea45e8a47e6dac829b4163774eabaeed6fbbcfe6 +Author: Frederik Gladhorn +Date: Tue May 10 15:25:49 2011 +0200 + + Remove printf that was used by unit test to get dbus address. + +commit c601d61dd2cd4551c2db53da7149a6b9432a890d +Author: Frederik Gladhorn +Date: Tue May 10 15:15:21 2011 +0200 + + Restructure unit test. + + Before we relied on an external application to run + for the test. This makes the test self-contained. + We now can easily test the implementations for + individual widgets using the full dbus round trip. + +commit 2ea0dae4401eb12c980d7fdb1a0bc63110dca0f9 +Author: Frederik Gladhorn +Date: Tue May 10 01:53:05 2011 +0200 + + Improve finding interfaces for some objects. + + Menus for example would sometimes not be found correctly because in a multi map + the constFind only returns the last inserted item. + This improves menu handling slightly. + +commit 3dd6a5a2cc5490b2dd2727b561b7e7ec494825ee +Merge: 3d079a0 db623fc +Author: José Millán Soto +Date: Mon May 9 19:24:32 2011 +0200 + + Merge remote branch 'upstream/master' into rangeextents + +commit ff42d41545b56b7e572fac8c2d9a625911481d11 +Merge: 93d8fcc ee45d17 +Author: Frederik Gladhorn +Date: Tue May 3 20:09:41 2011 +0200 + + Merge branch 'master' into declarative + +commit db623fc1fa713630459f54780ac75e93ab2112a3 +Merge: ee45d17 27ff33c +Author: Frederik Gladhorn +Date: Mon May 2 01:16:17 2011 +0200 + + Merge branch 'text-events' + +commit 27ff33cbb1fd097a626bcdc2962e0022b95420c0 +Author: Frederik Gladhorn +Date: Mon May 2 00:31:36 2011 +0200 + + Compile with Qt 4.7 and 4.8. + + ifdef of TextUpdated which was added in Qt 4.8. + +commit ee45d17580d4f5c1e30af6ba1f47da71192f1858 +Author: Frederik Gladhorn +Date: Fri Apr 15 15:52:04 2011 +0200 + + Instead of iterating though children, use childAt to find items at a certain position. + +commit 1156e178066649fa265a25b872dd4941b6426d77 +Author: Frederik Gladhorn +Date: Tue Apr 26 17:27:39 2011 +0200 + + Add state for QAccessible::SingleLine. + +commit 5a962723998d9b5862c7b36073627a2f9a5ec4f9 +Author: Frederik Gladhorn +Date: Tue Apr 26 17:06:47 2011 +0200 + + Implement TextChanged. + + This depends on Qt having the IA2 events. + +commit 0866abdeb3c766f8049059a480e22f53b5b5492f +Author: Frederik Gladhorn +Date: Tue Apr 26 17:28:20 2011 +0200 + + Start relations implementation. + +commit 5a438f5ab41cb911e4cfe8a44dba29676dc2a84d +Author: Frederik Gladhorn +Date: Tue Apr 26 17:25:22 2011 +0200 + + Remove unneded temporary var. + +commit 89edf71655192e848412cd44861ab3ef410f2086 +Author: Frederik Gladhorn +Date: Tue Apr 26 17:18:30 2011 +0200 + + Add more key names. Dont assert on missed keyboard events due to dbus. + +commit c237ae76df1c4001ec10de7f41912c0422f6a7fd +Author: Frederik Gladhorn +Date: Tue Apr 26 17:17:18 2011 +0200 + + QSpiAdaptor::GetSelection if no selection return cursor position. + +commit 121d7217ede7f67f6e50903068e0b07ec1a9d16c +Author: Frederik Gladhorn +Date: Tue Apr 26 17:16:23 2011 +0200 + + QSpiAdaptor::GetAttributes return right offsets. + +commit 0f0ed7ad14c63b7a7aca6d061769416aaabde6d3 +Author: Frederik Gladhorn +Date: Tue Apr 26 17:15:36 2011 +0200 + + Fix QSpiAdaptor::characterCount. + +commit 753f43b497f82a52adfaa55f8527d8d8ef7d2faf +Author: Frederik Gladhorn +Date: Tue Apr 26 17:11:39 2011 +0200 + + Remove warning, add comment about p2p. + +commit 93d8fccd3d28be0e37bf152d05215cae4a41e199 +Author: Frederik Gladhorn +Date: Tue Apr 19 17:08:59 2011 +0200 + + Add more line edits. + +commit 92d8ec5e9fb6d0c8ad019877de185bbbc94ae1a1 +Author: Jeremy Whiting +Date: Tue Apr 19 07:40:58 2011 -0600 + + Add missing virtual destructors. + +commit afd5334602ab1d8115ef42538876bacabc043436 +Author: Frederik Gladhorn +Date: Fri Apr 15 22:51:01 2011 +0200 + + Don't try to call inherits on 0ptr. + +commit d06b5aa993618511867d6f6274271aaee8d4f82b +Author: Frederik Gladhorn +Date: Wed Apr 13 14:53:51 2011 +0200 + + Add scene graph example. + +commit e9141794ffa73b1f7d9493ca059218554189ec77 +Author: Frederik Gladhorn +Date: Wed Apr 13 14:40:34 2011 +0200 + + Ignore updates until root has been set. + + Wait until initialization is finished, some objects don't have + proper parents otherwise. + +commit 12d8bdc524cf24c3705acd77a628fc3bc46e896c +Author: Frederik Gladhorn +Date: Wed Apr 13 14:48:24 2011 +0200 + + Create component interface for scene graph items. + + Some clean up of warnings. + +commit f4ed54cc92cffdd60c219b6b242bc68e7a7cb1ce +Author: Frederik Gladhorn +Date: Wed Apr 13 14:40:34 2011 +0200 + + Ignore updates until root has been set. + + Wait until initialization is finished, some objects don't have + proper parents otherwise. + +commit d2627a368834c41f07701aef09e523a415e94194 +Author: Frederik Gladhorn +Date: Mon Mar 28 16:56:13 2011 +0200 + + Make the example a bit bigger so that we can have focused objects. + +commit 857ae372d6a2cb281ffaf3bcd463cf0f7b7f80ca +Author: Frederik Gladhorn +Date: Thu Mar 24 17:35:28 2011 +0100 + + Add qml example. + +commit fdc741669d8e1a9ddc797e45a72ef42b974b7cbf +Author: Frederik Gladhorn +Date: Fri Apr 8 17:52:53 2011 +0200 + + Set Manages Descendants on everything that has the table interface for now. + +commit ce408c45378c03ab49442584f8616a3b3baf61a6 +Author: Frederik Gladhorn +Date: Fri Apr 8 17:43:33 2011 +0200 + + Make some functions const. + +commit 2daf770902ba6897c81e8b635a19a42b2743a75d +Author: Frederik Gladhorn +Date: Fri Apr 8 17:42:50 2011 +0200 + + Improve state handling. Rename QSpiAccessibleCacheItem.state to states. + +commit 3487e82eefcd6285a20f5063b63968c967b091cf +Author: Frederik Gladhorn +Date: Fri Apr 8 17:28:13 2011 +0200 + + Be more careful when accessing table cells. + +commit 8cda7be686baa12fe914d5ad839b3f4d7c8b8362 +Author: Frederik Gladhorn +Date: Tue Apr 5 16:10:43 2011 +0200 + + Fallback for qobjects where queryAccessibleInterface returns 0 + + For QAction queryAccessibleInterface will always return 0 since the + parent cannot be determined. Instead navigate to the parent and + ask for a child interface. + +commit 21f213fcadf95f24306b346484902ffe8f6a75de +Author: Frederik Gladhorn +Date: Mon Apr 4 16:00:14 2011 +0200 + + Remove redundant define QT_ACCESSIBILITY. + +commit 36ca3587c0b8ede3430ee6119d9dccbd99312728 +Author: Frederik Gladhorn +Date: Fri Apr 1 16:42:13 2011 +0200 + + Remove assert. Warning has to be enough. + + This can crash menus when no AT is running. + +commit 535816e1176eda0a7e1e79f6b9d9734b66c7b149 +Author: Frederik Gladhorn +Date: Fri Apr 1 16:39:38 2011 +0200 + + Implement the basics for Application::GetApplicationBusAddress. + + Still needs to return the right string. Not sure where to get it atm. + +commit 5a8316e54f805534d45b6838369520fd17d109b5 +Author: Frederik Gladhorn +Date: Fri Apr 1 14:55:53 2011 +0200 + + Extend the example to inclue lists. + +commit 71ac6ed4ca349f2e8c2212eb3fcd5ba10130c47f +Author: Frederik Gladhorn +Date: Thu Mar 31 16:37:00 2011 +0200 + + git ignore temp files. + +commit 683f71aa88d7fd5bce98665428c960063db12457 +Author: Frederik Gladhorn +Date: Thu Mar 31 16:30:32 2011 +0200 + + Set App name. + +commit 792835257ebf65659bd820c195d4342ecac59349 +Author: Frederik Gladhorn +Date: Tue Mar 29 15:53:39 2011 +0200 + + Fix order of interface removal. + +commit a7861d152bfebb8788139f4ec01220aa395fbbb4 +Author: Frederik Gladhorn +Date: Tue Mar 29 15:51:30 2011 +0200 + + Add comment, remove extra space. + +commit 31caa108ce16627ba45bfc94c106d65674c7b5f5 +Author: Frederik Gladhorn +Date: Tue Mar 29 13:07:36 2011 +0200 + + Fix memleak (queryAccessibleInterface). + +commit d6163b62ab8fff5b2b16b98007f45a237e43698e +Author: Frederik Gladhorn +Date: Fri Mar 25 20:08:38 2011 +0100 + + Do not test hardcoded paths for now. Start menu test. + +commit f7ffb52633b931c0a85b1773aef7fc8e326c548d +Author: Frederik Gladhorn +Date: Fri Mar 25 20:06:44 2011 +0100 + + Delete dead interfaces. + + When we get a dbus call, check if the interface is valid. + +commit cc6cdd499f0de1152c38b54bf639bbcfd6daa236 +Author: Frederik Gladhorn +Date: Fri Mar 25 19:01:05 2011 +0100 + + Watch for object destruction. + + It seems the only way we get notified of invalid interfaces is by + checking for QObject::destroyed. + Still needs removal of children. + +commit 1a665bc1b0fea3fcc71dd3889b0f05651115a5c6 +Author: Frederik Gladhorn +Date: Fri Mar 25 15:07:10 2011 +0100 + + Improve GetAccessibleAtPoint. + + Return a child if there is one at the position. + Menus would return the menubar instead of the child item. + + Remove some clutter. + +commit 7f5629339cc0db1c2e7077ab49d86e83dbe85ea4 +Author: Frederik Gladhorn +Date: Fri Mar 25 13:24:17 2011 +0100 + + Checked state; use right childIndex for state. + + Make checkboxes and friends emit checked state. + State should also take into account it's actual childIndex in the interface. + +commit 175e43d711a2c4f8ca32b6c3669de9787c41533b +Author: Frederik Gladhorn +Date: Thu Mar 24 17:30:32 2011 +0100 + + Use GetChildren for cache item, fix recursion issues. + + We used to simply ask for as many children as the interface had. + That would result in some items (complex widgets) to return themselves in the list of children. + +commit b8f705ede95783961f010817eacefd891d0ea0e0 +Author: Frederik Gladhorn +Date: Thu Mar 24 17:29:38 2011 +0100 + + Order QSpiAccessibleCacheItem according to dbus structure. + +commit 546a8930758b2636220e4cc1ec13f6bccb077600 +Author: Frederik Gladhorn +Date: Thu Mar 24 17:22:00 2011 +0100 + + Remove registerChildren function. + + This is only wasting startup time. + If a client queries our accessibility tree, + the children have to be discovered anyway, but we don't need + to always do that on startup. + +commit 3d079a0eeff7ae8b35dc935dfb9f0e36d23e49e1 +Author: José Millán Soto +Date: Thu Mar 24 14:09:19 2011 +0100 + + Implemented QSpiAdaptor::GetRangeExtents + +commit 875be7726585dc58996b3dc186098be9b2853898 +Author: Frederik Gladhorn +Date: Tue Mar 22 22:03:30 2011 +0100 + + Fix wrong initialization. + +commit 1f7eb03ee7d3cf33fafdf5bffa4d700705ddeac6 +Author: Frederik Gladhorn +Date: Tue Mar 22 12:57:24 2011 +0100 + + Unit test: find dbus and extend. + +commit a951201d2d04716e268917d25dab673748a5748a +Author: Frederik Gladhorn +Date: Wed Mar 16 17:14:41 2011 +0100 + + Clean up use of dbus connection. Extend test. + + Make the unit test actually do something :) + +commit da2b5891da9fb2c24e33d5b7b4025ca928d54121 +Author: Frederik Gladhorn +Date: Tue Mar 15 11:14:28 2011 +0100 + + Unit test: start checking the dbus interface. + +commit ba2408210d6ed9e12548b1b8b56ee17afd4037fd +Author: Frederik Gladhorn +Date: Tue Mar 15 11:12:59 2011 +0100 + + Rename test directory to examples. + +commit 8d6ecc1c6317644521ff0f2e18917dbeb900308d +Author: Frederik Gladhorn +Date: Mon Mar 14 17:05:04 2011 +0100 + + Implement flat review. + + Have a queue of key events and send them depending on the + reply from d-bus. + +commit 9f662530395ca971852ba721afa6081abd4a3dfb +Author: Frederik Gladhorn +Date: Mon Mar 14 14:34:09 2011 +0100 + + Make application Id read/write property as at-spi2 wants. + +commit 5292ab76a78942e067ae5c075b575ab8e4aa4df2 +Author: Frederik Gladhorn +Date: Mon Mar 14 14:33:28 2011 +0100 + + Fix childCount when interface could not be created. + +commit 8cd9825f4d80cc3e74ed2277033f7300fe72a58c +Author: José Millán Soto +Date: Wed Mar 9 03:28:49 2011 +0100 + + Implemented QSpiAdaptor::GetCharacterExtents + +commit 358bfec2f36975668e6eeb65f49dd909f4b7ce7c +Author: Frederik Gladhorn +Date: Fri Mar 4 23:11:40 2011 +0100 + + Fix register children. + + Use the getChild function instead of having the same logic in + registerChildren. + Clean up getChild, it doesn't need the interface as paramerter since + it's part of adaptor. + In GetIndexInParent, return the child index, if the object is a child. + +commit 434a5bacf3368d4824b5c45bb22143883fc8e65d +Author: Frederik Gladhorn +Date: Fri Mar 4 23:10:58 2011 +0100 + + Add a combo box. + +commit e21470575ae80a99746a40a79db8b72ed33ddf13 +Author: Frederik Gladhorn +Date: Fri Mar 4 21:37:21 2011 +0100 + + Remove QSpiObject. Don't keep interfaces that might be deleted. + + QSpiObject was not really making sense any more. + The interfaces we get from notifyAccessibilityUpdate are deleted behind + our backs. + +commit dad46fb141a86966ec740a9edc0b2233e5d6de6a +Author: Frederik Gladhorn +Date: Fri Mar 4 10:52:27 2011 +0100 + + Add README. + +commit ec6b5345b2c6c9af7e596b92907f552252e54eb3 +Author: Frederik Gladhorn +Date: Fri Mar 4 10:41:32 2011 +0100 + + Add warnings when startig apps without QT_ACCESSIBILITY=1. + +commit eaf9e0b7a21b51fa9a5d625a9886cab5403ec7f3 +Author: Frederik Gladhorn +Date: Thu Mar 3 17:38:30 2011 +0100 + + Fix child handling. Cleanup. Use QSpiObjectReference by value. + + Passing around references of QSpiObjectReference is ugly. + The class could be implemented as shared data class if we want to optimize later. + Give it a default ctor that creates a null reference. + + Cleanup some whitespaces. + + Fix several instances where we did not refer to the child paremeter. + Fix child count and implement a getChild to properly handle finding of child objects. + + Add some more widgets to the simple sample. + +commit a1a90bc8f7872c19cf9d2e61ccdd9756474f2da3 +Author: Frederik Gladhorn +Date: Thu Mar 3 13:19:28 2011 +0100 + + Clean up debug output. ASSERT for table interface. + +commit 9872a8ca8b85f272f95bb46e689bb33e50c8c86a +Author: Frederik Gladhorn +Date: Wed Mar 2 22:54:46 2011 +0100 + + Create Component for widgets or items that have a rect. + +commit 8af8f6a910924b1184881099a181cb81c8a216f7 +Author: Frederik Gladhorn +Date: Wed Mar 2 22:29:50 2011 +0100 + + Leak more QAccessebleInterface objects. + + Instead of being crashy leak all QAccessibleInterface objects. + This clearly needs a better solution. + On the plus side menus show up reliably now. + +commit d56844b480e38c83051dd3525a3d4d0b9a358a89 +Author: Frederik Gladhorn +Date: Wed Mar 2 22:00:09 2011 +0100 + + Don't assume that all interfaces have QObjects associated. + + Before in the hash of a11y objects, we kept only those that had + QAccessibleInterface->object()!=0. + +commit 730cd16a293a5ca6fe7aaa18eab7fe74d295dce4 +Author: Frederik Gladhorn +Date: Wed Mar 2 21:47:17 2011 +0100 + + Add shortcut to menu bar. + +commit d6515c3c5c82d6224a5dbbfa47241322749b3991 +Author: Frederik Gladhorn +Date: Tue Mar 1 21:45:07 2011 +0100 + + More asserts. + +commit b23e0edf79274fcc0765a002b4c095f88367098e +Author: Frederik Gladhorn +Date: Tue Mar 1 21:23:48 2011 +0100 + + Don't crash on QSpiAdaptor::GetRowHeader. + + Not implemented for now. The previous code stub just lead to crashing. + +commit 18e9e77ae9d5f38b172f86bd2a89cfe07c668e6f +Author: Frederik Gladhorn +Date: Tue Mar 1 21:16:50 2011 +0100 + + Add asserts and fix a few crashes. + +commit 820d37b849bb51980e71ae432e1b325800c116f4 +Author: Frederik Gladhorn +Date: Tue Mar 1 21:16:29 2011 +0100 + + Add a tab bar and make quit button work. + +commit e62c4a4c3a48480a81bdc8e304b2aff907a405ac +Author: Frederik Gladhorn +Date: Tue Mar 1 17:51:11 2011 +0100 + + Big refactoring of cache. + + The bridge class now takes care of registering interfaces. + The cache is reduced to the dbus cache handling. + Lots of renaming and cleanup. + Menus start to work (not properly updating though). + +commit 6066766f950f7d2d5d0f43157c0b9375af36a2b3 +Author: Frederik Gladhorn +Date: Mon Feb 28 13:10:57 2011 +0100 + + Rich text: IA2 does not accept -1 as parameter to GetText. + + Add a rich text edit and make it's text visible to atspi. + +commit 9f8413377da7054933dab371bddbf320e18da890 +Author: Frederik Gladhorn +Date: Mon Feb 28 00:18:32 2011 +0100 + + Clean up error handling for keylistener. + +commit 95e320303cafa1ddccc853f508a1d73a390a8a77 +Author: Frederik Gladhorn +Date: Mon Feb 28 00:08:39 2011 +0100 + + Move Registry->Embed into its own function. + +commit d298999bfad8f30f4c30ee331cf60e7b651bb0dd +Author: Frederik Gladhorn +Date: Mon Feb 28 00:19:20 2011 +0100 + + Fix stray semicolons. + +commit af0bafb9beaee4e5aa310117c8fea063f1ab5396 +Merge: 6499436 0c8944f +Author: Frederik Gladhorn +Date: Sun Feb 27 23:29:56 2011 +0100 + + Merge branch 'master' into experimental + + Conflicts: + src/application.cpp + +commit 64994367d4f89ee4ac3913291f93c1cc13b16789 +Author: Frederik Gladhorn +Date: Sun Feb 27 23:21:15 2011 +0100 + + Experimental GrabFocus. + + Does not raise the window. Need to figure out how this should behave. + +commit 98fd80d6701689a87e88ed651ca7cd3202b77d9e +Author: Frederik Gladhorn +Date: Sun Feb 27 11:01:20 2011 +0100 + + Forgot header file changes. Try to be clever about isText. + +commit 55c5e048242232ac289b17cc8f27ace16d5d4935 +Author: Frederik Gladhorn +Date: Sun Feb 27 10:53:13 2011 +0100 + + Make async call for keyboard listeners. + + Prepare for not propagating events if the + listener wants to grab them. + +commit 7e957360d50feb24dedb35484675b9747def4ebf +Author: Frederik Gladhorn +Date: Sun Feb 27 10:48:33 2011 +0100 + + Implement GetDefaultAttributes with GetDefaultAttributeSet. + +commit afc5c5e211790dade33c7f6d500e4ff79093149a +Author: Frederik Gladhorn +Date: Sun Feb 27 03:05:28 2011 +0100 + + Implement some Text methods, get rid of ugly defines. + + GetTextAtOffset and friends need to be implemented inside Qt + for some widgets (eg QLineEdit). + Remove #define ACCESSIBLE_INTERFACE getInterface() + +commit f26ad1c688e6c44c8ab5010348c01cc0befbeb30 +Author: Frederik Gladhorn +Date: Fri Feb 25 16:26:23 2011 +0100 + + Remove GetNSelections with in parameter. + + This was just a workaround to test error messages, fixed upstream. + +commit b7796950cc2c8c1b240036642bcfa6651036ba95 +Author: Frederik Gladhorn +Date: Fri Feb 25 16:24:54 2011 +0100 + + Move keyboard handling into QSpiApplication. + +commit 0c8944fe739c146a0f3aab6dddba51d9dc9dcf59 +Author: Frederik Gladhorn +Date: Fri Feb 25 16:09:04 2011 +0100 + + Remove old debug output. + +commit b3d697af7c4a9777b5bdc641de7873597e2a4439 +Author: Frederik Gladhorn +Date: Fri Feb 25 16:05:50 2011 +0100 + + Implement DEC, work with Orca a bit. + + Pretend to be gail. + Implement Focus handling. + Implement Device Events (keyboard). Block the app on them for now but don't react to the result of the call (todo). + Send all kind of messages on Window-Activated events. + Registry: /org/a11y/atspi/Registry is uppercase + Event filters for keyboard stuff. + Emit the last focused to not have focus any more. + Make Application::Id read-write (write broken, needs to be impl). + Add GetNSelections(int) for now, bug in GNOME impl. + Fix QSpiDeviceEvent struct to have ints in sync with at-spi2. + +commit 17afaf18a669eb2bcec7b6ebfc158420b8a5840d +Author: Frederik Gladhorn +Date: Tue Feb 22 13:18:01 2011 +0100 + + Clean includes and rename socket to registry. + +commit d3e3266ccceaa1ec58b3716165d2cc429e29fcd3 +Author: Frederik Gladhorn +Date: Tue Feb 22 13:18:01 2011 +0100 + + Clean includes and rename socket to registry. + +commit f64bf2540d4094a23e1e2e66c9e52cdb81eaead7 +Author: Frederik Gladhorn +Date: Tue Feb 22 11:37:59 2011 +0100 + + Move SpiApplication into its own file. + +commit ce458ebcfffa156ef16f5934daf9e6c55a10e46f +Author: Frederik Gladhorn +Date: Tue Feb 22 11:30:33 2011 +0100 + + Remove unused slot. + +commit 797014013ebf279fd1f96167d24896f4d75b4fbc +Author: Frederik Gladhorn +Date: Tue Feb 22 11:04:34 2011 +0100 + + Remove unused signal + +commit 7aeb376fe39f34baf9300f54460c0d290193a6c5 +Author: Frederik Gladhorn +Date: Tue Feb 22 10:56:50 2011 +0100 + + Cleanup and small improvements. + + Create the Component Interface only for Widgets. + Send active in addition to focused. + Cleanup whitespaces and camel casing. + Let qSpiStatesetFromQState return a list instead of using a parameter for that. + +commit 8899862416c454cf3c32d7c9c1d711b05d3faa53 +Author: Frederik Gladhorn +Date: Thu Feb 17 23:56:13 2011 +0100 + + GetState needs to return a UInt list. + +commit 2f9355afb7515eb1ef2230915d7b30d6a4f54ea7 +Author: Frederik Gladhorn +Date: Thu Feb 17 22:19:46 2011 +0100 + + Try to return the right reference in GetAccessibleAtPoint. + +commit c5fc5c8fccc04cd08ffa4a7ee3d6c372fc6541a6 +Author: Frederik Gladhorn +Date: Thu Feb 17 21:00:36 2011 +0100 + + Fix signatures in Event.xml and make name changes work. + + The signature was (suuv) instead of suuv (one extra struct). + With the PropertyChange signal name and description changes work. + +commit 9015fb5e30389c5fd93c55ea4819a686430f7ce1 +Author: Frederik Gladhorn +Date: Thu Feb 17 20:58:44 2011 +0100 + + Update gitignore file. + +commit 4139318e7dce76aa97733d9f8a61c62c5f167f39 +Author: Frederik Gladhorn +Date: Thu Feb 17 16:01:21 2011 +0100 + + Basic impl of GetIndexInParent. + +commit f44dde6dca6e58e93bae0b99fd6439dc166ce757 +Author: Frederik Gladhorn +Date: Thu Feb 17 15:56:49 2011 +0100 + + Don't crash on children of Complex Widgets. + +commit ca62502297ddc9fc83f6acf4f583b5889d911393 +Author: Frederik Gladhorn +Date: Thu Feb 17 15:32:30 2011 +0100 + + Clean up the example dir structure. + + Move calculator example into its own sub dir. + Rename .pro files after directories. + +commit b3b5626e958f20dfeb3a74ca8b80e3f7daff269a +Author: Frederik Gladhorn +Date: Wed Feb 16 15:30:52 2011 +0100 + + Don't crash when showing menus. + + This is not a proper fix but just works around a crash. + Menus seem to have no proper parent currently. + +commit 2c3e157c42f07d9b7c834117e370987c401b680a +Author: Frederik Gladhorn +Date: Wed Feb 16 15:05:30 2011 +0100 + + Only emit AddAccessible once. + +commit 09e26fc4a9875f5a967e302882ac008929b204e6 +Author: Frederik Gladhorn +Date: Wed Feb 16 15:04:29 2011 +0100 + + Implement ChildrenChanged::add. + + Start to update the client when a new widget is created. + +commit 727287c306927a9474569051386f995c5ad04834 +Author: Frederik Gladhorn +Date: Wed Feb 16 12:16:41 2011 +0100 + + Remove comment. + +commit 163ce0a9897c39759f68b5fa663ac4db2439dbfa +Author: Frederik Gladhorn +Date: Wed Feb 16 11:29:52 2011 +0100 + + Clean connect and whitespace. + +commit c8c9a1051d46ee41b8ca5d1c991446017bf9aaa9 +Author: Frederik Gladhorn +Date: Tue Feb 15 21:02:54 2011 +0100 + + Use uint for AddAccessible. + +commit ad6c8dd1d3248104e2fb0747906725470379259c +Author: Frederik Gladhorn +Date: Tue Feb 15 17:57:39 2011 +0100 + + Whitespace fixes. + +commit a218ef703f5eadbf28ed9eb18f16e39d4218addc +Author: Frederik Gladhorn +Date: Tue Feb 15 17:50:06 2011 +0100 + + In AddAccessible, set the root reference right. + +commit 5c32268fdebae89bac2742544911267879cad6fe +Author: Frederik Gladhorn +Date: Tue Feb 15 15:24:24 2011 +0100 + + Another XML fix: DeSelection/Deselection. + +commit f995a31eeffbcf5495f4e65fc707b12cff78dd00 +Author: Frederik Gladhorn +Date: Thu Feb 10 09:11:16 2011 +0100 + + Use the a11y session bus if available. + + Query the X root object for the address, + use it if found (instead of the session bus). + +commit 6b8c7d07ad7173d370337becfcabf6ffe94cbf37 +Merge: 3a65ec2 53904f6 +Author: Jeremy Whiting +Date: Wed Feb 9 07:43:32 2011 -0700 + + Merge remote-tracking branch 'fregl/master' + Reviewed-by Jeremy Whiting + +commit 53904f63f7c9efa24591f1d98374b5b216b0483e +Author: Frederik Gladhorn +Date: Wed Feb 9 10:50:58 2011 +0100 + + Build with Werror. + + We are free of warnings, let's keep it that way. + +commit 02ff7e7bd3486e9053a36c12118c7c36a5685067 +Author: Frederik Gladhorn +Date: Wed Feb 9 10:50:36 2011 +0100 + + Capitalize properties, fix warnings, update generated files. + + All properties over D-Bus must be upper case for at-spi2. + Fix warning with Q_UNUSED and use qWarning. + Files that are generated were updated to reflect the xml changes. + Sync XML files with upstream. + +commit 267853fc063833220feae3c613f29b3e7b45ee23 +Author: Frederik Gladhorn +Date: Wed Feb 9 10:36:44 2011 +0100 + + Add Registry.xml for the sake of completeness. + +commit d8e0210d29c5fb2d32a557f7d7867009a77e120c +Author: Frederik Gladhorn +Date: Tue Feb 8 21:12:27 2011 +0100 + + Whitespace cleanup. + +commit 44765020b861a0286a05c773e374e7541910d2d8 +Author: Frederik Gladhorn +Date: Tue Feb 8 21:11:28 2011 +0100 + + Ignore temp files. + +commit 43f859aa88c3b11f0b520434cb677729b690453f +Author: Frederik Gladhorn +Date: Tue Feb 8 19:59:45 2011 +0100 + + Clean indentation. + +commit 254f7720ea34f16b6249d5b569f720e361c7d5aa +Author: Frederik Gladhorn +Date: Tue Feb 8 19:57:19 2011 +0100 + + Apparently gnome uses NActions currently. + + Need to verify which is wrong, xml or their implementation. + +commit 3447b7bce623036736b568b8d3709b86db15f694 +Author: Frederik Gladhorn +Date: Tue Feb 8 19:55:57 2011 +0100 + + Add warnings for not implemented marshallers. + +commit 9ba1d00d9ff0fd7ee0c43e67beb154cc1c3758e3 +Author: Frederik Gladhorn +Date: Tue Feb 8 18:09:15 2011 +0100 + + Let Component have QSpiAdaptor as parent. + +commit e08b5acdad7d3572c113a5c858644d3b89fd0afc +Author: Frederik Gladhorn +Date: Tue Feb 8 16:09:13 2011 +0100 + + Clean up role and localized role name mappings. + + While not perfect at least there should be less arbitrary + role enum/string/localized string mappings now. + +commit 92e7d5311be98ce2a1ecdd112310f3dcf3e27eeb +Author: Frederik Gladhorn +Date: Tue Feb 8 10:37:40 2011 +0100 + + Generate Text and Table with parent. + + The generation of these files with QSpiAdaptor as parent + makes it much easier to implement them since they will simply + call the function of QSpiAdaptor. This is easier than the other + boilerplate which uses QMetaObject::invokeMethod and does not + create implementations for all functions. + +commit a5b34fa52f2288ebab0e338403139a396cf03fc0 +Author: Frederik Gladhorn +Date: Tue Feb 8 10:37:07 2011 +0100 + + The type and annotation for GetDefaultAttributeSet was wrong. + +commit bde5e58ec60d3baae040b6e3484c669712ca1394 +Author: Frederik Gladhorn +Date: Tue Feb 8 10:35:59 2011 +0100 + + Add patch to make maintenance of hand edited parts easier. + + Since parent exists in at-spi and qobject, we need to rename one of them. + +commit faff82a35c88aab816fed5e07a971952f6b509ca +Author: Frederik Gladhorn +Date: Sat Feb 5 14:06:07 2011 +0100 + + Dynamically created buttons to test adding of children. + +commit 88287dd98952ce02dc1dca47dfc8c4477d96a27a +Author: Frederik Gladhorn +Date: Fri Feb 4 19:59:00 2011 +0100 + + Add a mapping to localized role names. + +commit d5a3de2d8fee0bfa404f3c7c1c71c31698bd0c85 +Author: Frederik Gladhorn +Date: Fri Feb 4 19:57:26 2011 +0100 + + Set app name and remove empty toolbar. + + Toolbar is currently broken, needs to be fixed. + Menu as well. + Pending patch in Qt, we should probably take QApplication::applicationName as + name if no active window title can be found. + +commit 66ef950e30688ad43c29d4bef5e564fdd31cce19 +Author: Frederik Gladhorn +Date: Fri Feb 4 17:47:24 2011 +0100 + + Get rid of this-> pointers. Cleanup. + +commit 5be4598f750819075813d52f1a6eeccefb173cb4 +Author: Frederik Gladhorn +Date: Fri Feb 4 17:45:18 2011 +0100 + + Add another example app. + +commit 40324b6dbb87de5826a007c8d810295c9410cbaf +Author: Frederik Gladhorn +Date: Fri Feb 4 15:53:41 2011 +0100 + + More cleanup and moving things around. + +commit d91e0bedc18d361ef771ab98fdf7ae1cdfea5153 +Author: Frederik Gladhorn +Date: Fri Feb 4 15:41:00 2011 +0100 + + Add .gitignore file for temp files. + +commit b6ff146b3eb649382baf8df44b2d1e6dae90d9e6 +Author: Frederik Gladhorn +Date: Thu Feb 3 21:02:53 2011 +0100 + + Add comments for role enum values + +commit f676f143ff6addea53cfe197b0a343063605edb7 +Author: Frederik Gladhorn +Date: Thu Feb 3 14:05:23 2011 +0100 + + Prepare for ChildrenChanged implementation. + + Set object names in example for easier debugging. + Add debug output. + +commit e1a26e2ae3925584887ade375b8de93b2592e2f1 +Author: Frederik Gladhorn +Date: Wed Feb 2 16:32:05 2011 +0100 + + Make the code more readable, put plugin parts into own files. + +commit 2d8c611e57f4db5b723a7529f9fb8672d31f2f22 +Author: Frederik Gladhorn +Date: Tue Feb 1 15:40:23 2011 +0100 + + Cleanup some stubs and qdebugs, disable event filter for now. + + I'm not sure what the global event filter was/is supposed to do. + +commit 3a65ec20159cb4170d130c000885dccc8d954309 +Author: Jeremy Whiting +Date: Sat Aug 7 14:47:21 2010 -0600 + + Register QSpiObjectReferenceArray as a metatype so GetChildren can return via dbus. + +commit f9b6a8a1b7db252b2c26333db8223645f3b2f576 +Author: Jeremy Whiting +Date: Tue Jul 27 17:30:03 2010 -0600 + + Added GetChildren method to adaptor class, it doesn't work though neither does GetChildAtIndex + +commit a1c85485bfacac450548f24f63d582acc35ffd13 +Author: Jeremy Whiting +Date: Tue Jul 27 17:29:05 2010 -0600 + + Update our copy of xml/Accessible.xml to sync with at-spi2-core + +commit 195772de33563eca7f0676ddc325b7aec68826e4 +Author: Jeremy Whiting +Date: Sat Aug 7 11:53:43 2010 -0600 + + Add Q_OBJECT macro to QSpiAdaptor so subclass meta objects will be correct. + * Fixes many failed calls to invokeMethod in accessible_adaptor.cpp. + +commit cee52b1842420e0f552acbca7076fb27dbe95512 +Author: Jeremy Whiting +Date: Sun Jul 11 07:12:28 2010 -0600 + + Fix a typo in README.markdown + Add an initial TODO file with some observations/questions + +commit 7c5090aea4b23bf3a3a6cb552a2ed861ecd7a23d +Author: Mark Doffman +Date: Sat Jun 12 14:37:20 2010 +0100 + + Add some very brief technical documentation, a very rough overview + of the code structure and a UML diagram of the core classes. + +commit ba676201380cf8125956ae08fd32e33d1c0ba837 +Author: Mark Doffman +Date: Thu Feb 11 04:06:45 2010 -0800 + + Partial refactoring to move to latest (Since 0.1.6) AT-SPI2 protocol + +commit 88a06e402f5e6568a47014f4676a0e56190fe66b +Author: Mark Doffman +Date: Thu Dec 3 05:22:11 2009 -0800 + + Change method names to comply with D-Bus specifications. + +commit cdbc38794b30f34d210c5eb6f8e63e5f074811d8 +Author: mdoff +Date: Wed Oct 21 04:38:41 2009 -0700 + + Add function for getting supported interfaces when not using caching. + +commit 0bb8eb89bacb29e00cd0dc4411415ad1a91e6fcf +Author: Mark Doffman +Date: Thu Jul 16 11:44:44 2009 +0100 + + Add marshaller initialization functions for the D-Bus proxies. + +commit bd04b5d11c504a6faebf5f8977e6a01be1ec14bc +Author: Mark Doffman +Date: Thu Jun 18 10:28:20 2009 +0100 + + Add key event forwarding. + +commit 790ccdd739dd541c3b681f7e666ba1c86a0069eb +Author: Mark Doffman +Date: Wed Jun 17 10:51:53 2009 +0100 + + Fix problems with mapping the states. The normal state + conversions were repeated causing unsets to be wiped out. + + Fix a memory leak in the getParentPath function. + +commit 9ea2c3dfb1321c805007f7f33ed9de897e9c43ff +Author: Mark Doffman +Date: Wed Jun 3 11:22:19 2009 +0100 + + Update role mappings. + +commit 604cb29d60beb832cc5ef72f4068b8f42aeaecc4 +Author: Mark Doffman +Date: Wed Jun 3 10:22:57 2009 +0100 + + Fix problem where Accessible interface was + deleted while a reference was still held. + +commit c313be2e5ee41ef080bfcf2ca13eba2b6a63a32c +Author: Mark Doffman +Date: Tue Jun 2 16:50:07 2009 +0100 + + Improve the registering of objects using tree navigation + rather than 'queryAccessible'. + + Add window-relative coordinates to the component adaptor. + +commit fc01a4c9c6932d196be7ee542ab9d38d33d31969 +Author: Mark Doffman +Date: Tue Jun 2 08:58:11 2009 +0100 + + Enumerations are now always passed as unsigned ints. + Make modifications to component interface to reflect this. + +commit 1e5f01128d4da0e7533cfbaf036a62cb1f068ee1 +Author: Mark Doffman +Date: Thu May 28 10:17:30 2009 +0100 + + Add new implementation of the action adaptor to fit the + QAccessible2 Action interface. + +commit 59276c2e8293a0a78edd5149732b9abb1d538e88 +Author: Mark Doffman +Date: Wed May 27 14:59:52 2009 +0100 + + Improve the role mappings. + +commit ae33cf836b932220de80c1a4c8aa3242e9e4cd8c +Author: Mark Doffman +Date: Wed May 27 12:16:30 2009 +0100 + + Improve the state mappings. + +commit b4809b16f25134b56a6472215679014191c36403 +Author: Mark Doffman +Date: Wed May 27 08:03:31 2009 +0100 + + Modify cache update to use the 'Show' signal rather + than child added. + +commit 77884b16d4da5e0f899ae797b8c29597684d6ee8 +Author: Mark Doffman +Date: Mon May 25 14:22:36 2009 +0100 + + Add code to update the cache with changes in the accessibles. + +commit b2069a2d7b75ca3eeffab0a89f3d466e24e8a21c +Author: Mark Doffman +Date: Mon May 18 22:26:47 2009 +0100 + + Add missing a11y define from bridge.pro + +commit 02be273b7542c96bd5e15680a8ad211401f990b9 +Author: Mark Doffman +Date: Mon May 18 22:21:32 2009 +0100 + + Add an initial implementation of the table adaptor. + +commit 8606f92fc024ce5fd219716b1cb6ea03cd230e59 +Author: Mark Doffman +Date: Mon May 18 13:06:29 2009 +0100 + + Add a missing define that is the guard for A11y classes. + +commit 35e07047bc2347beb1a24709b1810c7feea24a06 +Author: Mark Doffman +Date: Mon May 18 10:44:08 2009 +0100 + + Improve the Text interface. + Make changes to meet Dublin hackfest protocol changes. + Add the EditableText interface implementation. + +commit 72860ca272cf87594c4e8d8a620d7fb3a13fba30 +Author: Mark Doffman +Date: Wed Apr 22 10:47:52 2009 +0100 + + 2009-04-22 Mark Doffman + All Qt Accessible objects support 'Action' and + 'Component' regardless of their status as a widget. + +commit 16f652d4f180005796ff0a223274e63cf92f4784 +Author: Mark Doffman +Date: Fri Apr 17 11:02:42 2009 +0100 + + 2009-04-17 Mark Doffman + Add first-cut implementations of the Text, Action, + Component & Value interfaces. + +commit 1f9b8f6b184b7520bbf4902e943d34cae7ffc2e8 +Author: Mark Doffman +Date: Wed Apr 15 14:23:34 2009 +0100 + + 2009-04-14 Mark Doffman + Add the skeleton adaptors for a load of interfaces. + Update the XML to be a strict DBus format. + Modify the cache and object to use only + the QAccessibleInterface for accessing relations. + +commit fc8fb7993127d1d4f9da24d750de1c40a1ff79ea +Author: Mark Doffman +Date: Tue Apr 14 12:08:12 2009 +0100 + + 2009-04-14 Mark Doffman + Modify the string for checking keys in + AccessibleBridgePlugin class. Was preventing + creation of the bridge due to different + strings in keys() & create() methods. + +commit b40a87abe471cfbe84f41e7feab9e00aa76f7cb8 +Author: Mark Doffman +Date: Tue Apr 14 09:39:26 2009 +0100 + + 2009-04-14 Mark Doffman + Modify the cache and object to use the + 'navigate' and 'childCount' methods + of the accessible interface. + +commit f985366fb9fd8eaabd5ebe7f6efa02b38c3c50cc +Author: Mark Doffman +Date: Mon Apr 6 14:39:38 2009 +0100 + + 2009-04-06 Mark Doffman + Add toplevel widgets as children of the application. + +commit a6d46601b440e9a6db405eda35547bdb8eb0eeb8 +Author: Mark Doffman +Date: Mon Apr 6 12:52:22 2009 +0100 + + 2009-04-06 Mark Doffman + Modify the transfer of accessible cache items + and add a new class for the Application + accessible object. + +commit 87efcdd997538eec2d42c36a99ac016409968167 +Author: Mark Doffman +Date: Mon Apr 6 08:20:55 2009 +0100 + + 2009-04-05 Mark Doffman + Add the cache object and adaptor for the accessible + bridge. Add an implementation of the accessible + interface. + +commit 00d782dd01578988660960dfb78a17ee3ace8ca6 +Author: Mark Doffman +Date: Mon Jan 5 14:49:51 2009 +0000 + + 2009-01-05 Mark Doffman + Initial commit of new QtAdaptor for AT-SPI diff -Nru qt-at-spi-0.2.0/debian/changelog qt-at-spi-0.2.0+git20120411/debian/changelog --- qt-at-spi-0.2.0/debian/changelog 2012-03-14 22:10:20.000000000 +0000 +++ qt-at-spi-0.2.0+git20120411/debian/changelog 2012-04-12 00:57:18.000000000 +0000 @@ -1,3 +1,21 @@ +qt-at-spi (0.2.0+git20120411-0ubuntu1) precise; urgency=low + + * New upstream bugfix snapshot + - QSpiRect -> QRect and fix CharacterExtents + - Make application a child of the main atspi adaptor. + - Only send key events when there's a listener. + - Fix double delete in getWindow. + - Return null path when asked for invalid child or parent. + - Do not return null path for application. + - Add state transient for list/tree items to fix caching issues + - end focus changes also when listening to state changes in objects + - Return indexOfChild 0-based. + - Fix GetRowAtIndex and Column + - When invisible we can also say not showing. + * debian/docs: Add Changelog file + + -- Luke Yelavich Thu, 12 Apr 2012 10:56:50 +1000 + qt-at-spi (0.2.0-0ubuntu1) precise; urgency=low * New upstream bugfix release diff -Nru qt-at-spi-0.2.0/debian/docs qt-at-spi-0.2.0+git20120411/debian/docs --- qt-at-spi-0.2.0/debian/docs 2012-01-09 08:06:43.000000000 +0000 +++ qt-at-spi-0.2.0+git20120411/debian/docs 2012-04-12 00:56:48.000000000 +0000 @@ -1 +1,2 @@ README +Changelog diff -Nru qt-at-spi-0.2.0/src/application.cpp qt-at-spi-0.2.0+git20120411/src/application.cpp --- qt-at-spi-0.2.0/src/application.cpp 2012-03-14 14:10:50.000000000 +0000 +++ qt-at-spi-0.2.0+git20120411/src/application.cpp 2012-04-10 00:42:43.000000000 +0000 @@ -39,7 +39,6 @@ QSpiApplicationAdaptor::QSpiApplicationAdaptor(const QDBusConnection &connection, QObject *parent) : QObject(parent), dbusConnection(connection) { - qApp->installEventFilter(this); } enum QSpiKeyEventType { @@ -48,6 +47,16 @@ QSPI_KEY_EVENT_LAST_DEFINED }; +void QSpiApplicationAdaptor::sendEvents(bool active) +{ + if (active) { + qApp->installEventFilter(this); + } else { + qApp->removeEventFilter(this); + } +} + + bool QSpiApplicationAdaptor::eventFilter(QObject *target, QEvent *event) { if (!event->spontaneous()) diff -Nru qt-at-spi-0.2.0/src/application.h qt-at-spi-0.2.0+git20120411/src/application.h --- qt-at-spi-0.2.0/src/application.h 2012-03-14 14:10:50.000000000 +0000 +++ qt-at-spi-0.2.0+git20120411/src/application.h 2012-04-10 00:42:43.000000000 +0000 @@ -34,6 +34,7 @@ class QSpiApplicationAdaptor :public QObject { Q_OBJECT + Q_PROPERTY(int Id READ id WRITE setId) public: QSpiApplicationAdaptor(const QDBusConnection &connection, QObject *parent); @@ -41,10 +42,11 @@ // the Id property gets written and read by the accessibility framework // we do nothing with it internally, it is only for the at-spi2 to identify us - Q_PROPERTY(int Id READ id WRITE setId) int id() const; void setId(int value); + void sendEvents(bool active); + Q_SIGNALS: void windowActivated(QObject* window, bool active); diff -Nru qt-at-spi-0.2.0/src/atspiadaptor.cpp qt-at-spi-0.2.0+git20120411/src/atspiadaptor.cpp --- qt-at-spi-0.2.0/src/atspiadaptor.cpp 2012-03-14 14:10:50.000000000 +0000 +++ qt-at-spi-0.2.0+git20120411/src/atspiadaptor.cpp 2012-04-10 23:02:36.000000000 +0000 @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -31,6 +32,8 @@ #include "standardactionwrapper.h" #include "constant_mappings.h" +#include "application.h" + #define ACCESSIBLE_LAST_TEXT "QIA2_LAST_TEXT" #define ACCESSIBLE_LAST_STATE "QIA2_LAST_STATE" @@ -102,6 +105,8 @@ , sendWindow_shade(0) , sendWindow_unshade(0) { + m_applicationAdaptor = new QSpiApplicationAdaptor(m_dbus->connection(), this); + connect(m_applicationAdaptor, SIGNAL(windowActivated(QObject*,bool)), this, SLOT(windowActivated(QObject*,bool))); } AtSpiAdaptor::~AtSpiAdaptor() @@ -762,28 +767,16 @@ */ void AtSpiAdaptor::updateEventListeners() { -// QStringList watchedExpressions; QDBusMessage m = QDBusMessage::createMethodCall("org.a11y.atspi.Registry", "/org/a11y/atspi/registry", "org.a11y.atspi.Registry", "GetRegisteredEvents"); - QDBusMessage listenersReply = m_dbus->connection().call(m); - if (listenersReply.type() == QDBusMessage::ReplyMessage) { - const QVariant foo = listenersReply.arguments().at(0); - const QDBusArgument a = foo.value(); - Q_ASSERT(a.currentSignature() == "a(ss)"); - a.beginArray(); - while (!a.atEnd()) { - a.beginStructure(); - QString listenerAddress; - a >> listenerAddress; - QString watchedExpression; - a >> watchedExpression; - setBitFlag(watchedExpression); -// watchedExpressions.append(watchedExpression); - a.endStructure(); + QDBusReply listenersReply = m_dbus->connection().call(m); + if (listenersReply.isValid()) { + const QSpiEventListenerArray evList = listenersReply.value(); + Q_FOREACH(const QSpiEventListener &ev, evList) { + setBitFlag(ev.eventName); } - a.endArray(); -// qDebug() << "Currently active listeners: " << watchedExpressions; + m_applicationAdaptor->sendEvents(!evList.isEmpty()); } else { qWarning() << "Could not query active accessibility event listeners."; } @@ -972,7 +965,7 @@ break; } case QAccessible::Focus: { - if(sendFocus) + if(sendFocus || sendObject || sendObject_state_changed) sendFocusChanged(interface, child); break; } @@ -1304,15 +1297,17 @@ } else { QAccessibleInterface *parent = accessibleParent(interface, child); if (parent) - childIndex = parent->indexOfChild(interface); + childIndex = parent->indexOfChild(interface) - 1; delete parent; } sendReply(connection, message, childIndex); } else if (function == "GetParent") { QString path; QAccessibleInterface *parent = accessibleParent(interface, child); - if (!parent || parent->role(0) == QAccessible::Application) { - path = QSPI_OBJECT_PATH_ROOT; + if (!parent) { + path = ATSPI_DBUS_PATH_NULL; + } else if (parent->role(0) == QAccessible::Application) { + path = ATSPI_DBUS_PATH_ROOT; } else { path = pathForInterface(parent, 0); } @@ -1323,8 +1318,11 @@ sendReply(connection, message, QVariant::fromValue( QDBusVariant(QVariant::fromValue(QSpiObjectReference(connection, QDBusObjectPath(path)))))); } else if (function == "GetChildAtIndex") { - Q_ASSERT(child == 0); // Don't support child of virtual child int index = message.arguments().first().toInt() + 1; + if (child || index < 0 || index > interface->childCount()) { + interface = 0; + child = 0; + } sendReply(connection, message, QVariant::fromValue( QSpiObjectReference(connection, QDBusObjectPath(pathForInterface(interface, index))))); } else if (function == "GetInterfaces") { @@ -1342,6 +1340,15 @@ setSpiStateBit(&spiState, ATSPI_STATE_ACTIVE); } } + QAccessible::Role role = interface->role(child); + if (role == QAccessible::TreeItem || + role == QAccessible::ListItem) { + /* Transient means libatspi2 will not cache items. + This is important because when adding/removing an item + the cache becomes outdated and we don't change the paths of + items in lists/trees/tables. */ + setSpiStateBit(&spiState, ATSPI_STATE_TRANSIENT); + } sendReply(connection, message, QVariant::fromValue(spiStateSetFromSpiStates(spiState))); } else if (function == "GetAttributes") { @@ -1547,24 +1554,16 @@ // Component static QAccessibleInterface *getWindow(QAccessibleInterface* interface) { - QAccessibleInterface *current=NULL, *tmp=NULL; - - interface->navigate(QAccessible::Ancestor, 0, ¤t); - - while (current && - current->role(0) != QAccessible::Window && - current->role(0) != QAccessible::Application) - { - tmp = NULL; - current->navigate (QAccessible::Ancestor, 1, &tmp); - current = tmp; - } - - if (current) { - return current; - } else { - return NULL; + QAccessibleInterface *original = interface; + while (interface && + interface->role(0) != QAccessible::Window) { + QAccessibleInterface *oldParent = interface; + oldParent->navigate(QAccessible::Ancestor, 1, &interface); + // do not delete the parameter we got as that would lead to double delete + if (oldParent != original) + delete oldParent; } + return interface; } static QRect getRelativeRect(QAccessibleInterface* interface, int child) @@ -1678,20 +1677,15 @@ return true; } -QSpiRect AtSpiAdaptor::getExtents(QAccessibleInterface *interface, int child, uint coordType) +QRect AtSpiAdaptor::getExtents(QAccessibleInterface *interface, int child, uint coordType) { - QSpiRect val; QRect rect; - if (coordType == 0) + if (coordType == ATSPI_COORD_TYPE_SCREEN) { rect = interface->rect(child); - else + } else { rect = getRelativeRect(interface, child); - - val.x = rect.x(); - val.y = rect.y(); - val.width = rect.width(); - val.height = rect.height(); - return val; + } + return rect; } // Action interface @@ -1982,105 +1976,47 @@ return list; } -QVariantList AtSpiAdaptor::getCharacterExtents(QAccessibleInterface *interface, int offset, uint coordType) const +QRect AtSpiAdaptor::getCharacterExtents(QAccessibleInterface *interface, int offset, uint coordType) const { - int x; - int y; - int width; - int height; - - // QAccessible2 has RelativeToParent as a coordinate type instead of relative - // to top-level window, which is an AT-SPI coordinate type. - if (static_cast(coordType) != QAccessible2::RelativeToScreen) { - const QWidget *widget = qobject_cast(interface->object()); - if (!widget) { - return QVariantList() << 0 << 0 << 0 << 0; - } - const QWidget *parent = widget->parentWidget(); - while (parent) { - widget = parent; - parent = widget->parentWidget(); - } - x = -widget->x(); - y = -widget->y(); - } else { - x = 0; - y = 0; - } - QRect rect = interface->textInterface()->characterRect(offset, QAccessible2::RelativeToScreen); - width = rect.width(); - height = rect.height(); - x += rect.x(); - y += rect.y(); - - QVariantList list; - list << x << y << width << height; - return list; + if (coordType == ATSPI_COORD_TYPE_WINDOW) + rect = translateRectToWindowCoordinates(interface, rect); + return rect; } -QVariantList AtSpiAdaptor::getRangeExtents(QAccessibleInterface *interface, - int startOffset, int endOffset, uint coordType) const +QRect AtSpiAdaptor::getRangeExtents(QAccessibleInterface *interface, + int startOffset, int endOffset, uint coordType) const { - int x; - int y; - int width; - int height; - if (endOffset == -1) endOffset = interface->textInterface()->characterCount(); if (endOffset <= startOffset) { - return QVariantList() << 0 << 0 << 0 << 0; + return QRect(); } - int xOffset = 0, yOffset = 0; - QAccessibleTextInterface *textInterface = interface->textInterface(); - - // QAccessible2 has RelativeToParent as a coordinate type instead of relative - // to top-level window, which is an AT-SPI coordinate type. - if (static_cast(coordType) != QAccessible2::RelativeToScreen) { - const QWidget *widget = qobject_cast(interface->object()); - if (!widget) { - return QVariantList() << 0 << 0 << 0 << 0; - } - const QWidget *parent = widget->parentWidget(); - while (parent) { - widget = parent; - parent = widget->parentWidget(); - } - xOffset = -widget->x(); - yOffset = -widget->y(); + QRect rect = interface->textInterface()->characterRect(startOffset, QAccessible2::RelativeToScreen); + for (int i=startOffset + 1; i <= endOffset; i++) { + rect = rect | interface->textInterface()->characterRect(i, QAccessible2::RelativeToScreen); } - int minX=INT_MAX, minY=INT_MAX, maxX=0, maxY=0; - - for (int i=startOffset; icharacterRect(i, QAccessible2::RelativeToScreen); - if (rect.x() < minX) { - minX = rect.x(); - } - if (rect.y() < minY) { - minY = rect.y(); - } - if ((rect.x() + rect.width()) > maxX) { - maxX = (rect.x() + rect.width()); - } - if ((rect.y() + rect.height()) > maxY) { - maxY = (rect.y() + rect.height()); - } - } + // relative to window + if (coordType == ATSPI_COORD_TYPE_WINDOW) + rect = translateRectToWindowCoordinates(interface, rect); - width = maxX - minX; - height = maxY - minY; - y = minY + yOffset; - x = minX + xOffset; - QVariantList list; - list << x << y << width << height; - return list; + return rect; } +QRect translateRectToWindowCoordinates(QAccessibleInterface *interface, const QRect &rect) +{ + QAccessibleInterface *window = getWindow(interface); + if (window) { + QRect ret = rect.translated(-window->rect(0).x(), -window->rect(0).y()); + delete window; + return ret; + } + return rect; +} // Editable Text interface bool AtSpiAdaptor::editableTextInterface(QAccessibleInterface *interface, int child, const QString &function, const QDBusMessage &message, const QDBusConnection &connection) @@ -2269,33 +2205,40 @@ } else if (function == "GetColumnAtIndex") { int index = message.arguments().at(0).toInt(); - int ret = 0; - if (index > 1) { + int ret = -1; + if (index >= 0) { QAccessibleInterface *iface; - interface->navigate(QAccessible::Child, index, &iface); + interface->navigate(QAccessible::Child, index + 1, &iface); if (iface) { - qDebug() << "iface: " << iface->text(QAccessible::Name, 0); - - QAccessibleTable2CellInterface *cell = static_cast(iface); - ret = cell->columnIndex(); - delete cell; + if (iface->role(0) == QAccessible::ColumnHeader) { + ret = index; + } else if (iface->role(0) == QAccessible::RowHeader) { + ret = -1; + } else { + QAccessibleTable2CellInterface *cell = static_cast(iface); + ret = cell->columnIndex(); + delete cell; + } } } connection.send(message.createReply(ret)); } else if (function == "GetRowAtIndex") { // FIXME merge with GetColumnAtIndex int index = message.arguments().at(0).toInt(); - int ret = 0; - qDebug() << "QSpiAdaptor::GetRowAtIndex" << index; - if (index > 1) { + int ret = -1; + if (index >= 0) { QAccessibleInterface *iface; - interface->navigate(QAccessible::Child, index, &iface); + interface->navigate(QAccessible::Child, index + 1, &iface); if (iface) { - qDebug() << "iface: " << iface->text(QAccessible::Name, 0); - - QAccessibleTable2CellInterface *cell = static_cast(iface); - ret = cell->rowIndex(); - delete cell; + if (iface->role(0) == QAccessible::ColumnHeader) { + ret = -1; + } else if (iface->role(0) == QAccessible::RowHeader) { + ret = index % interface->table2Interface()->columnCount(); + } else { + QAccessibleTable2CellInterface *cell = static_cast(iface); + ret = cell->rowIndex(); + delete cell; + } } } connection.send(message.createReply(ret)); diff -Nru qt-at-spi-0.2.0/src/atspiadaptor.h qt-at-spi-0.2.0+git20120411/src/atspiadaptor.h --- qt-at-spi-0.2.0/src/atspiadaptor.h 2012-03-14 14:10:50.000000000 +0000 +++ qt-at-spi-0.2.0+git20120411/src/atspiadaptor.h 2012-04-10 00:42:43.000000000 +0000 @@ -29,6 +29,7 @@ class QAccessibleInterface; class QSpiAccessibleInterface; +class QSpiApplicationAdaptor; typedef QSharedPointer QAIPointer; @@ -88,7 +89,9 @@ QStringList accessibleInterfaces(QAccessibleInterface *interface, int child) const; // component helper functions - static QSpiRect getExtents(QAccessibleInterface *interface, int child, uint coordType); + static QRect getExtents(QAccessibleInterface *interface, int child, uint coordType); + static QRect getExtents(const QAIPointer &interface, uint coordType); + static QRect translateRectToWindowCoordinates(QAccessibleInterface *interface, const QRect &rect); // action helper functions QSpiActionArray getActions(QAccessibleActionInterface* interface) const; @@ -96,8 +99,8 @@ // text helper functions QVariantList getAttributes(QAccessibleInterface *interface, int offset, bool includeDefaults) const; QVariantList getAttributeValue(QAccessibleInterface *interface, int offset, const QString &attributeName) const; - QVariantList getCharacterExtents(QAccessibleInterface *interface, int offset, uint coordType) const; - QVariantList getRangeExtents(QAccessibleInterface *interface, int startOffset, int endOffset, uint coordType) const; + QRect getCharacterExtents(QAccessibleInterface *interface, int offset, uint coordType) const; + QRect getRangeExtents(QAccessibleInterface *interface, int startOffset, int endOffset, uint coordType) const; QAccessible2::BoundaryType qAccessibleBoundaryType(int atspiTextBoundaryType) const; static bool inheritsQAction(QObject *object); @@ -105,6 +108,7 @@ // private vars QSpiObjectReference accessibilityRegistry; DBusConnection *m_dbus; + QSpiApplicationAdaptor *m_applicationAdaptor; /// Assigned from the accessibility registry. int m_applicationId; diff -Nru qt-at-spi-0.2.0/src/bridge.cpp qt-at-spi-0.2.0+git20120411/src/bridge.cpp --- qt-at-spi-0.2.0/src/bridge.cpp 2012-03-14 14:10:50.000000000 +0000 +++ qt-at-spi-0.2.0+git20120411/src/bridge.cpp 2012-04-10 00:42:43.000000000 +0000 @@ -24,7 +24,6 @@ #include "atspiadaptor.h" -#include "application.h" #include "cache.h" #include "constant_mappings.h" #include "dbusconnection.h" @@ -66,9 +65,6 @@ dbusAdaptor = new AtSpiAdaptor(dbusConnection, this); dBusConnection().registerVirtualObject(QSPI_OBJECT_PATH_ACCESSIBLE, dbusAdaptor, QDBusConnection::SubPath); dbusAdaptor->registerApplication(); - - QSpiApplicationAdaptor *applicationAdaptor = new QSpiApplicationAdaptor(dbusConnection->connection(), this); - connect(applicationAdaptor, SIGNAL(windowActivated(QObject*,bool)), dbusAdaptor, SLOT(windowActivated(QObject*,bool))); } QSpiAccessibleBridge::~QSpiAccessibleBridge() diff -Nru qt-at-spi-0.2.0/src/constant_mappings.cpp qt-at-spi-0.2.0+git20120411/src/constant_mappings.cpp --- qt-at-spi-0.2.0/src/constant_mappings.cpp 2012-03-14 14:10:50.000000000 +0000 +++ qt-at-spi-0.2.0+git20120411/src/constant_mappings.cpp 2012-04-11 06:04:24.000000000 +0000 @@ -141,8 +141,10 @@ || (state & QAccessible::Animated)) setSpiStateBit(&spiState, ATSPI_STATE_ANIMATED); if ((state & QAccessible::Invisible) - || (state & QAccessible::Offscreen)) + || (state & QAccessible::Offscreen)) { unsetSpiStateBit(&spiState, ATSPI_STATE_SHOWING); + unsetSpiStateBit(&spiState, ATSPI_STATE_VISIBLE); + } if (state & QAccessible::Sizeable) setSpiStateBit(&spiState, ATSPI_STATE_RESIZABLE); // if (state & QAccessible::Movable) diff -Nru qt-at-spi-0.2.0/src/constant_mappings.h qt-at-spi-0.2.0+git20120411/src/constant_mappings.h --- qt-at-spi-0.2.0/src/constant_mappings.h 2012-03-14 14:10:50.000000000 +0000 +++ qt-at-spi-0.2.0+git20120411/src/constant_mappings.h 2012-04-10 00:42:43.000000000 +0000 @@ -36,7 +36,6 @@ #define ATSPI_DBUS_PATH_REGISTRY "/org/a11y/atspi/registry" #define ATSPI_DBUS_INTERFACE_REGISTRY "org.a11y.atspi.Registry" -#define ATSPI_DBUS_PATH_NULL "/org/a11y/atspi/null" #define ATSPI_DBUS_PATH_ROOT "/org/a11y/atspi/accessible/root" #define ATSPI_DBUS_PATH_DEC "/org/a11y/atspi/registry/deviceeventcontroller" diff -Nru qt-at-spi-0.2.0/src/struct_marshallers.cpp qt-at-spi-0.2.0+git20120411/src/struct_marshallers.cpp --- qt-at-spi-0.2.0/src/struct_marshallers.cpp 2012-03-14 14:10:50.000000000 +0000 +++ qt-at-spi-0.2.0+git20120411/src/struct_marshallers.cpp 2012-04-10 00:42:43.000000000 +0000 @@ -17,16 +17,15 @@ * License along with this library. If not, see . */ +#include "struct_marshallers.h" + +#include #include -#include "struct_marshallers.h" #include "bridge.h" -#define QSPI_OBJECT_PATH_PREFIX "/org/a11y/atspi/accessible/" -#define QSPI_OBJECT_PATH_NULL QSPI_OBJECT_PATH_PREFIX "null" - QSpiObjectReference::QSpiObjectReference() - : path(QDBusObjectPath(QSPI_OBJECT_PATH_NULL)) + : path(QDBusObjectPath(ATSPI_DBUS_PATH_NULL)) {} /* QSpiAccessibleCacheArray */ @@ -105,24 +104,22 @@ return argument; } -/* QSpiRect */ -/*---------------------------------------------------------------------------*/ -QDBusArgument &operator<<(QDBusArgument &argument, const QSpiRect &rect) +QDBusArgument &operator<<(QDBusArgument &argument, const QSpiEventListener &ev) { argument.beginStructure(); - argument << rect.x; - argument << rect.y; - argument << rect.width; - argument << rect.height; + argument << ev.listenerAddress; + argument << ev.eventName; argument.endStructure(); return argument; } -const QDBusArgument &operator>>(const QDBusArgument &argument, QSpiRect &rect) +const QDBusArgument &operator>>(const QDBusArgument &argument, QSpiEventListener &ev) { - Q_UNUSED(rect) - qWarning() << "QDBusArgument &operator>>(const QDBusArgument &argument, QSpiRect &rect): implement me!"; + argument.beginStructure(); + argument >> ev.listenerAddress; + argument >> ev.eventName; + argument.endStructure(); return argument; } @@ -199,10 +196,11 @@ qDBusRegisterMetaType(); qDBusRegisterMetaType(); qDBusRegisterMetaType(); - qDBusRegisterMetaType(); qDBusRegisterMetaType(); qDBusRegisterMetaType(); qDBusRegisterMetaType(); + qDBusRegisterMetaType(); + qDBusRegisterMetaType(); qDBusRegisterMetaType(); qDBusRegisterMetaType(); qDBusRegisterMetaType(); diff -Nru qt-at-spi-0.2.0/src/struct_marshallers.h qt-at-spi-0.2.0+git20120411/src/struct_marshallers.h --- qt-at-spi-0.2.0/src/struct_marshallers.h 2012-03-14 14:10:50.000000000 +0000 +++ qt-at-spi-0.2.0+git20120411/src/struct_marshallers.h 2012-04-10 00:42:43.000000000 +0000 @@ -103,6 +103,23 @@ QDBusArgument &operator<<(QDBusArgument &argument, const QSpiAction &action); const QDBusArgument &operator>>(const QDBusArgument &argument, QSpiAction &action); +/* QSpiEventListenerArray */ +/*---------------------------------------------------------------------------*/ + +struct QSpiEventListener +{ + QString listenerAddress; + QString eventName; +}; + +typedef QList QSpiEventListenerArray; + +Q_DECLARE_METATYPE(QSpiEventListener) +Q_DECLARE_METATYPE(QSpiEventListenerArray) + +QDBusArgument &operator<<(QDBusArgument &argument, const QSpiEventListener &action); +const QDBusArgument &operator>>(const QDBusArgument &argument, QSpiEventListener &action); + /* QSpiRelationArray */ /*---------------------------------------------------------------------------*/ @@ -125,22 +142,6 @@ typedef QList QSpiTextRangeList; Q_DECLARE_METATYPE(QSpiTextRangeList) -/* QSpiRect */ -/*---------------------------------------------------------------------------*/ - -struct QSpiRect -{ - int x; - int y; - int width; - int height; -}; - -Q_DECLARE_METATYPE(QSpiRect) - -QDBusArgument &operator<<(QDBusArgument &argument, const QSpiRect &rect); -const QDBusArgument &operator>>(const QDBusArgument &argument, QSpiRect &rect); - /* QSpiAttributeSet */ /*---------------------------------------------------------------------------*/ @@ -186,6 +187,6 @@ /*---------------------------------------------------------------------------*/ -void qSpiInitializeStructTypes (); +void qSpiInitializeStructTypes(); #endif /* Q_SPI_STRUCT_MARSHALLERS_H */ diff -Nru qt-at-spi-0.2.0/tests/tst_qt-atspi.cpp qt-at-spi-0.2.0+git20120411/tests/tst_qt-atspi.cpp --- qt-at-spi-0.2.0/tests/tst_qt-atspi.cpp 2012-03-14 14:10:50.000000000 +0000 +++ qt-at-spi-0.2.0+git20120411/tests/tst_qt-atspi.cpp 2012-04-10 23:02:36.000000000 +0000 @@ -23,6 +23,7 @@ #include #include #include +#include #include @@ -117,10 +118,20 @@ QString tst_QtAtSpi::getParent(QDBusInterface* interface) { - interface->property("Parent"); - QSpiObjectReference parent; - const QDBusArgument a = interface->property("Parent").value(); - a >> parent; + if (!interface->isValid()) + return QString(); + + QVariant var = interface->property("Parent"); + if (!var.canConvert()) { + qWarning() << "Invalid parent"; + return QString(); + } + qDebug() << "VAR: " << var; + + QSpiObjectReference parent = var.value(); +// const QDBusArgument a = var.value(); + +// a >> parent; return parent.path.path(); } @@ -136,6 +147,7 @@ // Oxygen style creates many extra items, it's simply unusable here qDebug() << "Using plastique style..."; qApp->setStyle("plastique"); + qApp->setApplicationName("tst_QtAtSpi app"); QCOMPARE(qgetenv("QT_ACCESSIBILITY"), QByteArray("1")); dbus = DBusConnection(); @@ -185,6 +197,8 @@ l->setText("Hello A11y"); m_window->addWidget(l); + // Application + QCOMPARE(getParent(mainWindow), QLatin1String(ATSPI_DBUS_PATH_ROOT)); QStringList children = getChildren(mainWindow); QDBusInterface* labelInterface = getInterface(children.at(0), "org.a11y.atspi.Accessible"); @@ -193,6 +207,7 @@ QCOMPARE(getChildren(labelInterface).count(), 0); QCOMPARE(labelInterface->call(QDBus::Block, "GetRoleName").arguments().first().toString(), QLatin1String("label")); QCOMPARE(labelInterface->call(QDBus::Block, "GetRole").arguments().first().toUInt(), 29u); + QCOMPARE(getParent(labelInterface), mainWindow->path()); l->setText("New text"); QCOMPARE(labelInterface->property("Name").toString(), l->text()); @@ -331,6 +346,27 @@ QCOMPARE(cell6->property("Name").toString(), QLatin1String("1.0 0.1")); + QDBusInterface* treeTableIface = getInterface(children.at(0), "org.a11y.atspi.Table"); + + QCOMPARE(treeTableIface->call(QDBus::Block, "GetRowAtIndex", 0).arguments().first().toInt(), -1); + QCOMPARE(treeTableIface->call(QDBus::Block, "GetRowAtIndex", 1).arguments().first().toInt(), -1); + QCOMPARE(treeTableIface->call(QDBus::Block, "GetRowAtIndex", 2).arguments().first().toInt(), 0); + QCOMPARE(treeTableIface->call(QDBus::Block, "GetRowAtIndex", 3).arguments().first().toInt(), 0); + QCOMPARE(treeTableIface->call(QDBus::Block, "GetRowAtIndex", 4).arguments().first().toInt(), 1); + QCOMPARE(treeTableIface->call(QDBus::Block, "GetRowAtIndex", 5).arguments().first().toInt(), 1); + QCOMPARE(treeTableIface->call(QDBus::Block, "GetRowAtIndex", 6).arguments().first().toInt(), 2); + QCOMPARE(treeTableIface->call(QDBus::Block, "GetRowAtIndex", 7).arguments().first().toInt(), 2); + + QCOMPARE(treeTableIface->call(QDBus::Block, "GetColumnAtIndex", 0).arguments().first().toInt(), 0); + QCOMPARE(treeTableIface->call(QDBus::Block, "GetColumnAtIndex", 1).arguments().first().toInt(), 1); + QCOMPARE(treeTableIface->call(QDBus::Block, "GetColumnAtIndex", 2).arguments().first().toInt(), 0); + QCOMPARE(treeTableIface->call(QDBus::Block, "GetColumnAtIndex", 3).arguments().first().toInt(), 1); + QCOMPARE(treeTableIface->call(QDBus::Block, "GetColumnAtIndex", 4).arguments().first().toInt(), 0); + QCOMPARE(treeTableIface->call(QDBus::Block, "GetColumnAtIndex", 5).arguments().first().toInt(), 1); + QCOMPARE(treeTableIface->call(QDBus::Block, "GetColumnAtIndex", 6).arguments().first().toInt(), 0); + QCOMPARE(treeTableIface->call(QDBus::Block, "GetColumnAtIndex", 7).arguments().first().toInt(), 1); + + delete treeTableIface; delete cell1; delete cell2; delete cell3; delete cell4; m_window->clearChildren(); delete treeIface; @@ -367,6 +403,16 @@ QEXPECT_FAIL("", "Due to missing space the count is off by one.", Continue); QCOMPARE(callResult.at(2).toInt(), 17); + // Check if at least CharacterExtents and RangeExtents give a consistent result + QDBusReply replyRect20 = textInterface->call(QDBus::Block, "GetCharacterExtents", 20, ATSPI_COORD_TYPE_SCREEN); + QVERIFY(replyRect20.isValid()); + QRect r1 = replyRect20.value(); + QDBusReply replyRect21 = textInterface->call(QDBus::Block, "GetCharacterExtents", 21, ATSPI_COORD_TYPE_SCREEN); + QRect r2 = replyRect21.value(); + QDBusReply reply = textInterface->call(QDBus::Block, "GetRangeExtents", 20, 21, ATSPI_COORD_TYPE_SCREEN); + QRect rect = reply.value(); + QCOMPARE(rect, r1|r2); + m_window->clearChildren(); delete textInterface; }