From a14aff64a1cb207c8e462ea4d59b3e393369b398 Mon Sep 17 00:00:00 2001 From: Jan Arve Saether Date: Fri, 30 May 2014 09:42:02 +0200 Subject: Accessibility: Add actions for value interfaces To support increment / decrement of sliders, dials and spin boxes. (anything with an {in,de}crementAction or a valueInterface. Other platforms will follow the same pattern in follow-up patches. Task-number: QTBUG-38832 Change-Id: Ie570acc39b3d9494a8bb9f624b61a398b1d8de89 Reviewed-by: Frederik Gladhorn --- .../android/accessibility/QtAccessibilityDelegate.java | 17 ++++++++++++++--- .../android/accessibility/QtNativeAccessibility.java | 2 ++ 2 files changed, 16 insertions(+), 3 deletions(-) (limited to 'src/android/accessibility/jar/src') diff --git a/src/android/accessibility/jar/src/org/qtproject/qt5/android/accessibility/QtAccessibilityDelegate.java b/src/android/accessibility/jar/src/org/qtproject/qt5/android/accessibility/QtAccessibilityDelegate.java index 70b02d8d04..c2e2ea5b49 100644 --- a/src/android/accessibility/jar/src/org/qtproject/qt5/android/accessibility/QtAccessibilityDelegate.java +++ b/src/android/accessibility/jar/src/org/qtproject/qt5/android/accessibility/QtAccessibilityDelegate.java @@ -335,13 +335,24 @@ public class QtAccessibilityDelegate extends View.AccessibilityDelegate { // Log.i(TAG, "ACTION " + action + " on " + virtualViewId); // dumpNodes(virtualViewId); + boolean success = false; switch (action) { case AccessibilityNodeInfo.ACTION_CLICK: - boolean success = QtNativeAccessibility.clickAction(virtualViewId); + success = QtNativeAccessibility.clickAction(virtualViewId); if (success) sendEventForVirtualViewId(virtualViewId, AccessibilityEvent.TYPE_VIEW_CLICKED); - return success; + break; + case AccessibilityNodeInfo.ACTION_SCROLL_FORWARD: + success = QtNativeAccessibility.scrollForward(virtualViewId); + if (success) + sendEventForVirtualViewId(virtualViewId, AccessibilityEvent.TYPE_VIEW_SCROLLED); + break; + case AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD: + success = QtNativeAccessibility.scrollBackward(virtualViewId); + if (success) + sendEventForVirtualViewId(virtualViewId, AccessibilityEvent.TYPE_VIEW_SCROLLED); + break; } - return false; + return success; } } diff --git a/src/android/accessibility/jar/src/org/qtproject/qt5/android/accessibility/QtNativeAccessibility.java b/src/android/accessibility/jar/src/org/qtproject/qt5/android/accessibility/QtNativeAccessibility.java index 8a53623957..f0bf4a0897 100644 --- a/src/android/accessibility/jar/src/org/qtproject/qt5/android/accessibility/QtNativeAccessibility.java +++ b/src/android/accessibility/jar/src/org/qtproject/qt5/android/accessibility/QtNativeAccessibility.java @@ -53,6 +53,8 @@ class QtNativeAccessibility static native Rect screenRect(int objectId); static native int hitTest(float x, float y); static native boolean clickAction(int objectId); + static native boolean scrollForward(int objectId); + static native boolean scrollBackward(int objectId); static native boolean populateNode(int objectId, AccessibilityNodeInfo node); } -- cgit v1.2.3