summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBoris Dušek <me@dusek.me>2015-01-05 23:32:41 +0100
committerBoris Dušek <me@dusek.me>2015-02-13 06:59:52 +0000
commite9bbe07501c4f76029fed0aa218b5376754951d9 (patch)
tree51b76a019f2a6fb5adb9a81fe6a7707f97cc5f04 /src
parent250e80ceb98e96514c886a8fb0d507fced1fc982 (diff)
OS X Accessibility: implement AXStyleRangeForIndex in QTextEdit
Not tested as I have no idea what VoiceOver uses it for (it seems to never query this attribute during any operation I tested). Change-Id: Ie5e2b765a9956bcf2be9b659b8914e393ed1ea90 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/platforms/cocoa/qcocoaaccessibilityelement.mm7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoaaccessibilityelement.mm b/src/plugins/platforms/cocoa/qcocoaaccessibilityelement.mm
index 47ba50a443..d3bdbb9009 100644
--- a/src/plugins/platforms/cocoa/qcocoaaccessibilityelement.mm
+++ b/src/plugins/platforms/cocoa/qcocoaaccessibilityelement.mm
@@ -357,7 +357,7 @@ static void convertLineOffset(QAccessibleTextInterface *text, int &line, int &of
// NSAccessibilityRangeForIndexParameterizedAttribute,
NSAccessibilityBoundsForRangeParameterizedAttribute,
// NSAccessibilityRTFForRangeParameterizedAttribute,
-// NSAccessibilityStyleRangeForIndexParameterizedAttribute,
+ NSAccessibilityStyleRangeForIndexParameterizedAttribute,
NSAccessibilityAttributedStringForRangeParameterizedAttribute,
nil
];
@@ -424,6 +424,11 @@ static void convertLineOffset(QAccessibleTextInterface *text, int &line, int &of
QPoint point(static_cast<int>(nsPoint.x), static_cast<int>(qt_mac_flipYCoordinate(nsPoint.y)));
int offset = iface->textInterface()->offsetAtPoint(point);
return [NSValue valueWithRange:NSMakeRange(static_cast<NSUInteger>(offset), 1)];
+ } else if ([attribute isEqualToString: NSAccessibilityStyleRangeForIndexParameterizedAttribute]) {
+ int start = 0;
+ int end = 0;
+ iface->textInterface()->attributes([parameter intValue], &start, &end);
+ return [NSValue valueWithRange:NSMakeRange(static_cast<NSUInteger>(start), static_cast<NSUInteger>(end - start))];
}
return nil;
}