diff options
Diffstat (limited to 'src/quick/accessible')
-rw-r--r-- | src/quick/accessible/qaccessiblequickitem.cpp | 22 | ||||
-rw-r--r-- | src/quick/accessible/qaccessiblequickitem_p.h | 5 |
2 files changed, 27 insertions, 0 deletions
diff --git a/src/quick/accessible/qaccessiblequickitem.cpp b/src/quick/accessible/qaccessiblequickitem.cpp index bc2b4de86a..c8b2d9ec3e 100644 --- a/src/quick/accessible/qaccessiblequickitem.cpp +++ b/src/quick/accessible/qaccessiblequickitem.cpp @@ -193,6 +193,28 @@ bool QAccessibleQuickItem::isAccessible() const return item()->d_func()->isAccessible; } +QStringList QAccessibleQuickItem::actionNames() const +{ + QStringList actions = QQmlAccessible::actionNames(); + if (state().focusable) + actions.append(QAccessibleActionInterface::setFocusAction()); + return actions; +} + +void QAccessibleQuickItem::doAction(const QString &actionName) +{ + if (actionName == QAccessibleActionInterface::setFocusAction()) { + item()->forceActiveFocus(); + } else { + QQmlAccessible::doAction(actionName); + } +} + +QStringList QAccessibleQuickItem::keyBindingsForAction(const QString &actionName) const +{ + return QQmlAccessible::keyBindingsForAction(actionName); +} + QString QAccessibleQuickItem::text(QAccessible::Text textType) const { // handles generic behavior not specific to an item diff --git a/src/quick/accessible/qaccessiblequickitem_p.h b/src/quick/accessible/qaccessiblequickitem_p.h index 354e0bf9f7..d1facf2199 100644 --- a/src/quick/accessible/qaccessiblequickitem_p.h +++ b/src/quick/accessible/qaccessiblequickitem_p.h @@ -74,6 +74,11 @@ public: bool isAccessible() const; + // Action Interface + QStringList actionNames() const; + void doAction(const QString &actionName); + QStringList keyBindingsForAction(const QString &actionName) const; + // Value Interface QVariant currentValue() const; void setCurrentValue(const QVariant &value); |