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:
parent
aec1edfe40
commit
1d8ae2799d
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user