summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2012-11-06 13:28:17 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-11-15 16:04:12 +0100
commit581d3adb2bcba6ca73114ddf04eb11d9b5e75bca (patch)
tree43955a15c237466abc484dbbadd5aadf9a0746d7 /src/plugins/platforms
parent65866bcff560abcab329958ce1980284a81ced94 (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')
-rw-r--r--src/plugins/platforms/cocoa/qcocoaaccessibility.mm9
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;
}