diff options
author | Michael Weghorn <m.weghorn@posteo.de> | 2024-05-07 08:28:52 +0200 |
---|---|---|
committer | Michael Weghorn <m.weghorn@posteo.de> | 2024-05-07 16:16:49 +0200 |
commit | 047475fb4c50f0c99aa283c3a882763ae57b8c85 (patch) | |
tree | b71f32890fdd877f0a0e6ccbbac42d385d660c52 /vcl/unx/gtk3/a11y/atkutil.cxx | |
parent | fedd4886b0b63ea3254ea4ce4b7f9b5b73af95f0 (diff) |
gtk3 a11y: Drop VclEventId::TabpageActivate processing
Drop the manual processing of `VclEventId::TabpageActivate`
in the gtk3 a11y bridge.
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.
By now, most if not all tab pages should be native GTK widgets
anyway.
For non-native ones, `VCLXAccessibleTabControl::ProcessWindowEvent`
contains handling for the `VclEventId::TabpageActivate` event that
should be taking care of forwarding that as the corresponding
a11y event to the a11y bridges. If anything is still missing after
this commit, that's probably a good starting point for further
analysis.
Change-Id: I5b3f64c973d4030d2b68be6dff1d771bc0cef405
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167255
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Diffstat (limited to 'vcl/unx/gtk3/a11y/atkutil.cxx')
-rw-r--r-- | vcl/unx/gtk3/a11y/atkutil.cxx | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/vcl/unx/gtk3/a11y/atkutil.cxx b/vcl/unx/gtk3/a11y/atkutil.cxx index d10bc3b27967..51b783b2d4fd 100644 --- a/vcl/unx/gtk3/a11y/atkutil.cxx +++ b/vcl/unx/gtk3/a11y/atkutil.cxx @@ -274,27 +274,6 @@ void DocumentFocusListener::detachRecursive( } } -/*****************************************************************************/ - -/* - * page tabs in gtk are widgets, so we need to simulate focus events for those - */ - -static void handle_tabpage_activated(vcl::Window *pWindow) -{ - uno::Reference< accessibility::XAccessible > xAccessible = - pWindow->GetAccessible(); - - if( ! xAccessible.is() ) - return; - - uno::Reference< accessibility::XAccessibleSelection > xSelection( - xAccessible->getAccessibleContext(), uno::UNO_QUERY); - - if( xSelection.is() ) - atk_wrapper_notify_focus_change(xSelection->getSelectedAccessibleChild(0)); -} - rtl::Reference<DocumentFocusListener> GtkSalData::GetDocumentFocusListener() { rtl::Reference<DocumentFocusListener> xDFL = m_xDocumentFocusListener.get(); @@ -312,9 +291,6 @@ static void WindowEventHandler(void *, VclSimpleEvent& rEvent) { switch (rEvent.GetId()) { - case VclEventId::TabpageActivate: - handle_tabpage_activated(static_cast< ::VclWindowEvent const * >(&rEvent)->GetWindow()); - break; case VclEventId::ComboboxSetText: // This looks quite strange to me. Stumbled over this when fixing #i104290#. |