summaryrefslogtreecommitdiff
path: root/vcl/unx/gtk3_kde5/a11y
AgeCommit message (Collapse)Author
2024-10-16gtk3 a11y: Drop unused DocumentFocusListener classMichael Weghorn
Code calling the ctor was dropped in commit 4aa2cc878dae3b34b16ccacd9358fda5e6d6a197 Date: Thu Jun 20 10:46:59 2024 +0200 loplugin:unusedmethods which dropped GtkSalData::GetDocumentFocusListener unused since commit c45c64aeb57dce91965d7be54601128946455c90 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Mon May 6 14:44:36 2024 +0200 tdf#160806 tdf#160837 gtk3 a11y: Drop handling of some VclEventIds Change-Id: Iee8134371fce26cb21481695ab8379d4fc61065c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174988 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-05-07gtk3 a11y: Drop WindowEventHandler completelyMichael Weghorn
As mentioned in commit c45c64aeb57dce91965d7be54601128946455c90 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Mon May 6 14:44:36 2024 +0200 tdf#160806 tdf#160837 gtk3 a11y: Drop handling of some VclEventIds , the a11y bridge should not have to handle VCL events itself, but all relevant events should be forwarded to the a11y event listener as appropriate `AccessibleEventObject` and be handled by the a11y event listener instead, see `AtkListener::notifyEvent` for the gtk3 implementation. Now that handling of all VCL events has been dropped in previous commits, drop the `WindowEventHandler` completely. This also means that the call to `InitAtkBridge` when initializing the `GtkInstance` and the `DeInitAtkBridge` on destruction is no longer necessary. In a quick test with the Orca screen reader and the gtk3 VCL plugin, nothing suspicious showed up, things were still working as expected and experienced prior to the change series dropping the VCL event handling from the gtk3 a11y bridge. Change-Id: Ieed270b636f361c57cd4e78aceaecc7d174409d6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167256 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2022-09-03tdf#150683 gtk3 a11y: Expose AtkTableCell interface for cellsMichael Weghorn
While LO doesn't have any UNO a11y interface for table cells, the methods for the `AtkTableCell` interface can be implemented by using the methods from the `XAccessibleTable` interface of the table (which is the parent of the cell), similar to the way this was impemented for winaccessibility and the qt5/qt6/kf5 VCL plugins in commit 97a88e30e2e084ab860635ff4e0a03442d8a12af Author: Michael Weghorn <m.weghorn@posteo.de> Date: Wed Sep 8 14:37:53 2021 +0100 tdf#100086 tdf#124832 wina11y: Implement IAccessibleTableCell and commit 6735a37747a3443ebd1c29c870a5eb26990350f2 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Tue Sep 21 14:47:51 2021 +0200 qt5 a11y: Implement QAccessibleTableCellInterface With this and the Orca commit to make use of the AT-SPI TableCell interface to query the position for a cell [1], announcing selected cells that have a cell/child index that doesn't fit into 32 bit now also works for the gtk3 VCL plugin, see the full commit message of commit 206543c7bef58fc559852553a3b2faba0b604259 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Fri Sep 2 13:06:08 2022 +0200 [API CHANGE] tdf#150683 a11y: Switch a11y child index to 64 bit for more background information. In a quick test with Accerciser and the gtk3 VCL plugin as follows, the output looked as expected: 1) start LO Writer, "Table" -> "Insert Table" 2) select to create table with 2 rows, 2 columns 3) make sure "Heading" is checked, "Heading rows": 1 4) "Insert" 5) in the first row, type "First heading" into first column, "Second heading" into second column 5) start Accerciser 7) select the table cell element "A2" in Accerciser's treeview of the a11y hierarchy (which refers to the table cell in the second row, first column) 8) type these in Accerciser's IPython console: In [1]: acc.queryTableCell() Out[1]: <pyatspi.tablecell.TableCell at 0x7fa17cf2b550> In [2]: acc.queryTableCell().position Out[2]: (1, row=1, column=0) In [3]: acc.queryTableCell().rowSpan Out[3]: 1 In [4]: acc.queryTableCell().columnSpan Out[4]: 1 In [5]: acc.queryTableCell().get_table() Out[5]: <Atspi.Accessible object at 0x7fa17cf975c0 (AtspiAccessible at 0x55bfe77b4e10)> In [6]: acc.queryTableCell().get_table().name Out[6]: 'Table1-1' In [7]: acc.queryTableCell().get_columnHeaderCells()[0] Out[7]: <Atspi.Accessible object at 0x7fa17d2e7b00 (AtspiAccessible at 0x55bfe77ab240)> In [8]: acc.queryTableCell().get_columnHeaderCells()[0].name Out[8]: 'A1' [1] https://gitlab.gnome.org/GNOME/orca/-/commit/cb105d4d21c09d3e832273b493a407e8b48887fb Change-Id: Ia6ee90bea5c2f2faef6ed269981702f36496a3e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139278 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2021-05-10rename to remove the gtk3 prefixCaolán McNamara
Change-Id: I219798ed42aff11d09fd45c26ca1a018c2d22c08 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115239 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2019-10-03Fix --enable-gtk3-kde5Stephan Bergmann
...after 09f77e8ed51fc64fccc6a14e87eed48b2f15a28d "loplugin:unusedmethods" Change-Id: I6cc0aaf7e14b58311b236f0c7974fb2ccf8ee799 Reviewed-on: https://gerrit.libreoffice.org/80157 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-09-30drop gtk2 supportCaolán McNamara
Change-Id: Ie838cabfecfef7e3225c1555536d5c9cf3b43f15 Reviewed-on: https://gerrit.libreoffice.org/77405 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-01-23Introduce gtk3_kde5 vcl pluginMilian Wolff
This is a hybrid plugin which mostly wraps the GTK3 vclplug. Only the file and folder picker are replaced by KDE dialogs. This gives us a well-maintained GTK LO base with basic KDE integration with minimum effort. To prevent issues with nested event loops, the KDE dialogs are launched from a separate process, the new lo_kde5filepicker helper executable. A trivial stdin/stdout IPC mechanism transfers the data between LO and the Qt/KDE helper. The usage of an external process also allows us to copy'n'paste between LO and the KDE file dialog without freezing the UI, as would happen when one would do this in-process. This is in general also the architecture applied by the kmozillahelper, which is used to integrate KDE file dialogs into Firefox. While the KDE dialog is shown, the GTK3 main window is disabled and close requests are ignored. The KDE dialog in turn also sets the LO window as transient parent. Together, this makes the illusion perfect and the KDE dialog behaves like a modal dialog. This works properly also with multiple LO main windows, and only individual windows will get blocked as one would expect. Functionality wise, most of the features of the KDE4 dialog are supported. You can pick files and folders, and save files under a new name. Some custom checkbox widgets are supported, but lists, buttons and preview widgets are not yet implemented. Also, loading remote files via KIO is not possible yet. Change-Id: I1a97cf7c272307a19ace4222d5f12253bc722829 Reviewed-on: https://gerrit.libreoffice.org/47718 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>