aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickaccessibleattached_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/qquickaccessibleattached_p.h')
-rw-r--r--src/quick/items/qquickaccessibleattached_p.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/quick/items/qquickaccessibleattached_p.h b/src/quick/items/qquickaccessibleattached_p.h
index 74f486ae7d..6c10b496d0 100644
--- a/src/quick/items/qquickaccessibleattached_p.h
+++ b/src/quick/items/qquickaccessibleattached_p.h
@@ -127,11 +127,29 @@ public:
return obj->setProperty(propertyName, value);
}
+ static QObject *findAccessible(QObject *object, QAccessible::Role role = QAccessible::NoRole)
+ {
+ while (object) {
+ QObject *att = QQuickAccessibleAttached::attachedProperties(object);
+ if (att && (role == QAccessible::NoRole || att->property("role").toInt() == role)) {
+ break;
+ }
+ object = object->parent();
+ }
+ return object;
+ }
+
+public Q_SLOTS:
+ void valueChanged() {
+ QAccessibleValueChangeEvent ev(parent(), parent()->property("value"));
+ QAccessible::updateAccessibility(&ev);
+ }
Q_SIGNALS:
void roleChanged();
void nameChanged();
void descriptionChanged();
+
private:
QAccessible::Role m_role;
QString m_name;