Sophie

Sophie

distrib > Mageia > cauldron > x86_64 > media > core-release-src > by-pkgid > 4c532bfb9916518564da5ba2805999f5 > files > 129

qtbase5-5.15.12-3.mga10.src.rpm

From 075bc3b80308e29c54f3375087d5863ecd441ab4 Mon Sep 17 00:00:00 2001
From: Michael Weghorn <m.weghorn@posteo.de>
Date: Thu, 13 Jul 2023 17:15:40 +0200
Subject: [PATCH 131/147] a11y atspi: Map ButtonMenu role to AT-SPI equivalent
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

at-spi2-core commit [1]

    commit ed16f50e4930e32c29f80552eb698baa35b4677e
    Author: Fushan Wen <qydwhotmail@gmail.com>
    Date:   Thu Jul 21 21:49:32 2022 +0800

        Add `ATK_ROLE_PUSH_BUTTON_MENU`

        This role allows to specify a button will open a menu. It's widely used
        in Hamburger buttons, and Qt has QAccessible:ButtonMenu role for it.

added a new ATSPI_ROLE_PUSH_BUTTON_MENU role to AT-SPI,
so map to that from QAccessible::ButtonMenu when building
against a recent enough AT-SPI version.

Note that only a follow-up fix [2] for the above-mentioned
at-spi2-core commit increased ATSPI_ROLE_COUNT accordingly:

    commit b0a062fd02c0cef5cc73b67aae282216856b8d8a
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Thu Jul 13 14:15:33 2023 +0200

        Increase ATSPI_ROLE_COUNT after ed16f50e4

            commit ed16f50e4930e32c29f80552eb698baa35b4677e
            Date:   Thu Jul 21 21:49:32 2022 +0800

                Add `ATK_ROLE_PUSH_BUTTON_MENU`

        added a new role, so increase the role count
        accordingly.

[1] https://gitlab.gnome.org/GNOME/at-spi2-core/-/commit/ed16f50e4930e32c29f80552eb698baa35b4677e
[2] https://gitlab.gnome.org/GNOME/at-spi2-core/-/commit/b0a062fd02c0cef5cc73b67aae282216856b8d8a

Change-Id: If7082c7478c95c6cc68d1c735de47933599f8d2b
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
(cherry picked from commit beb1a48ef7b6bb19fee638bd58e494c41b776248)
---
 src/platformsupport/linuxaccessibility/bridge.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/platformsupport/linuxaccessibility/bridge.cpp b/src/platformsupport/linuxaccessibility/bridge.cpp
index fdc8cd3198..b17e1749c8 100644
--- a/src/platformsupport/linuxaccessibility/bridge.cpp
+++ b/src/platformsupport/linuxaccessibility/bridge.cpp
@@ -229,7 +229,11 @@ static RoleMapping map[] = {
     //: Role of an accessible object
     { QAccessible::ButtonDropDown, ATSPI_ROLE_PUSH_BUTTON, QT_TRANSLATE_NOOP("QSpiAccessibleBridge", "button with drop down") },
     //: Role of an accessible object
+#if ATSPI_ROLE_COUNT > 130
+    { QAccessible::ButtonMenu, ATSPI_ROLE_PUSH_BUTTON_MENU, QT_TRANSLATE_NOOP("QSpiAccessibleBridge", "button menu") },
+#else
     { QAccessible::ButtonMenu, ATSPI_ROLE_PUSH_BUTTON, QT_TRANSLATE_NOOP("QSpiAccessibleBridge", "button menu") },
+#endif
     //: Role of an accessible object - a button that expands a grid.
     { QAccessible::ButtonDropGrid, ATSPI_ROLE_PUSH_BUTTON, QT_TRANSLATE_NOOP("QSpiAccessibleBridge", "button with drop down grid") },
     //: Role of an accessible object - blank space between other objects.
-- 
2.40.1