diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2012-11-06 13:28:17 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-11-15 16:04:12 +0100 |
commit | 581d3adb2bcba6ca73114ddf04eb11d9b5e75bca (patch) | |
tree | 43955a15c237466abc484dbbadd5aadf9a0746d7 /src/plugins/platforms/cocoa/qcocoaaccessibility.mm | |
parent | 65866bcff560abcab329958ce1980284a81ced94 (diff) |
Accessibility Mac: Implement value interface
Change-Id: Iea6e3c69b220d35bddb1798ff991f8e67e1749e3
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoaaccessibility.mm')
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoaaccessibility.mm | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoaaccessibility.mm b/src/plugins/platforms/cocoa/qcocoaaccessibility.mm index 2a03829b7a..66cb979031 100644 --- a/src/plugins/platforms/cocoa/qcocoaaccessibility.mm +++ b/src/plugins/platforms/cocoa/qcocoaaccessibility.mm @@ -65,12 +65,14 @@ void QCococaAccessibility::notifyAccessibilityUpdate(QAccessibleEvent *event) return; switch (event->type()) { + case QAccessible::ValueChanged: case QAccessible::TextInserted : case QAccessible::TextRemoved : case QAccessible::TextUpdated : { QCocoaAccessibleElement *element = [QCocoaAccessibleElement elementWithInterface : interface parent : nil]; NSAccessibilityPostNotification(element, NSAccessibilityValueChangedNotification); break; } + default: delete interface; break; @@ -273,7 +275,8 @@ QString translateAction(NSString *nsAction) bool hasValueAttribute(QAccessibleInterface *interface) { const QAccessible::Role qtrole = interface->role(); - if (qtrole == QAccessible::EditableText) { + if (qtrole == QAccessible::EditableText + || interface->valueInterface()) { return true; } @@ -301,6 +304,10 @@ id getValueAttribute(QAccessibleInterface *interface) } } + if (QAccessibleValueInterface *valueInterface = interface->valueInterface()) { + return QCFString::toNSString(QString::number(valueInterface->currentValue().toDouble())); + } + return nil; } |