diff options
Diffstat (limited to 'src/quick/items/qquickaccessibleattached_p.h')
-rw-r--r-- | src/quick/items/qquickaccessibleattached_p.h | 18 |
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; |