QAccessibleCache: Generalize macOS-specific hooks to all Apple platforms

These are used from the iOS platform plugin as well, so rename the hooks
to make it clear what's going on.

Change-Id: I701550a189b0047b8c604c9c27986f780aa157d4
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit c3f1533fba88c2e9fc4ce238f68055e37675292c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Tor Arne Vestbø 2024-05-26 21:38:22 +02:00 committed by Qt Cherry-pick Bot
parent aec1edfe40
commit 1d8ae2799d
3 changed files with 11 additions and 11 deletions

View File

@ -172,8 +172,8 @@ void QAccessibleCache::deleteInterface(QAccessible::Id id, QObject *obj)
objectToId.remove(obj); objectToId.remove(obj);
delete iface; delete iface;
#ifdef Q_OS_MAC #ifdef Q_OS_APPLE
removeCocoaElement(id); removeAccessibleElement(id);
#endif #endif
} }

View File

@ -3,7 +3,7 @@
#include "qaccessiblecache_p.h" #include "qaccessiblecache_p.h"
// qcocoaaccessibilityelement.h in Cocoa platform plugin // qcocoaaccessibilityelement.h in platform plugin
@interface QT_MANGLE_NAMESPACE(QMacAccessibilityElement) @interface QT_MANGLE_NAMESPACE(QMacAccessibilityElement)
- (void)invalidate; - (void)invalidate;
@end @end
@ -12,19 +12,19 @@ QT_BEGIN_NAMESPACE
void QAccessibleCache::insertElement(QAccessible::Id axid, QT_MANGLE_NAMESPACE(QMacAccessibilityElement) *element) const void QAccessibleCache::insertElement(QAccessible::Id axid, QT_MANGLE_NAMESPACE(QMacAccessibilityElement) *element) const
{ {
cocoaElements[axid] = element; accessibleElements[axid] = element;
} }
void QAccessibleCache::removeCocoaElement(QAccessible::Id axid) void QAccessibleCache::removeAccessibleElement(QAccessible::Id axid)
{ {
QT_MANGLE_NAMESPACE(QMacAccessibilityElement) *element = elementForId(axid); QT_MANGLE_NAMESPACE(QMacAccessibilityElement) *element = elementForId(axid);
[element invalidate]; [element invalidate];
cocoaElements.remove(axid); accessibleElements.remove(axid);
} }
QT_MANGLE_NAMESPACE(QMacAccessibilityElement) *QAccessibleCache::elementForId(QAccessible::Id axid) const QT_MANGLE_NAMESPACE(QMacAccessibilityElement) *QAccessibleCache::elementForId(QAccessible::Id axid) const
{ {
return cocoaElements.value(axid); return accessibleElements.value(axid);
} }
QT_END_NAMESPACE QT_END_NAMESPACE

View File

@ -41,7 +41,7 @@ public:
QAccessible::Id insert(QObject *object, QAccessibleInterface *iface) const; QAccessible::Id insert(QObject *object, QAccessibleInterface *iface) const;
void deleteInterface(QAccessible::Id id, QObject *obj = nullptr); void deleteInterface(QAccessible::Id id, QObject *obj = nullptr);
#ifdef Q_OS_MAC #ifdef Q_OS_APPLE
QT_MANGLE_NAMESPACE(QMacAccessibilityElement) *elementForId(QAccessible::Id axid) const; QT_MANGLE_NAMESPACE(QMacAccessibilityElement) *elementForId(QAccessible::Id axid) const;
void insertElement(QAccessible::Id axid, QT_MANGLE_NAMESPACE(QMacAccessibilityElement) *element) const; void insertElement(QAccessible::Id axid, QT_MANGLE_NAMESPACE(QMacAccessibilityElement) *element) const;
#endif #endif
@ -56,9 +56,9 @@ private:
mutable QHash<QAccessibleInterface *, QAccessible::Id> interfaceToId; mutable QHash<QAccessibleInterface *, QAccessible::Id> interfaceToId;
mutable QMultiHash<QObject *, QPair<QAccessible::Id, const QMetaObject*>> objectToId; mutable QMultiHash<QObject *, QPair<QAccessible::Id, const QMetaObject*>> objectToId;
#ifdef Q_OS_MAC #ifdef Q_OS_APPLE
void removeCocoaElement(QAccessible::Id axid); void removeAccessibleElement(QAccessible::Id axid);
mutable QHash<QAccessible::Id, QT_MANGLE_NAMESPACE(QMacAccessibilityElement) *> cocoaElements; mutable QHash<QAccessible::Id, QT_MANGLE_NAMESPACE(QMacAccessibilityElement) *> accessibleElements;
#endif #endif
friend class QAccessible; friend class QAccessible;