diff options
Diffstat (limited to 'src/plugins/platforms/android/qandroidplatformaccessibility.cpp')
-rw-r--r-- | src/plugins/platforms/android/qandroidplatformaccessibility.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/plugins/platforms/android/qandroidplatformaccessibility.cpp b/src/plugins/platforms/android/qandroidplatformaccessibility.cpp index 30114b17a2..b29190d3e9 100644 --- a/src/plugins/platforms/android/qandroidplatformaccessibility.cpp +++ b/src/plugins/platforms/android/qandroidplatformaccessibility.cpp @@ -52,7 +52,7 @@ QAndroidPlatformAccessibility::~QAndroidPlatformAccessibility() void QAndroidPlatformAccessibility::notifyAccessibilityUpdate(QAccessibleEvent *event) { - if (event == nullptr || !event->accessibleInterface()) + if (!isActive() || event == nullptr || !event->accessibleInterface()) return; // We do not need implementation of all events, as current statues are polled @@ -61,12 +61,22 @@ void QAndroidPlatformAccessibility::notifyAccessibilityUpdate(QAccessibleEvent * // so that the element can be moved on the screen if it's focused. if (event->type() == QAccessible::LocationChanged) { - QtAndroidAccessibility::notifyLocationChange(); + QtAndroidAccessibility::notifyLocationChange(event->uniqueId()); } else if (event->type() == QAccessible::ObjectHide) { QtAndroidAccessibility::notifyObjectHide(event->uniqueId()); } else if (event->type() == QAccessible::Focus) { QtAndroidAccessibility::notifyObjectFocus(event->uniqueId()); + } else if (event->type() == QAccessible::ValueChanged) { + QtAndroidAccessibility::notifyValueChanged(event->uniqueId()); + } else if (event->type() == QAccessible::ScrollingEnd) { + QtAndroidAccessibility::notifyScrolledEvent(event->uniqueId()); } } +void QAndroidPlatformAccessibility::setRootObject(QObject *obj) +{ + QPlatformAccessibility::setRootObject(obj); + QtAndroidAccessibility::createAccessibilityContextObject(obj); +} + QT_END_NAMESPACE |