diff options
author | Frederik Gladhorn <frederik.gladhorn@nokia.com> | 2011-10-11 16:20:47 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-10-27 11:12:38 +0200 |
commit | 5aa14793c422dc77f3b464c27091dcd1b2ed1c72 (patch) | |
tree | 8a167a67e5d1456a774e176db31a627d0a89cd33 /src/widgets/accessible | |
parent | 8f912c5c0f3f89e6f3042c0a948ccd155e57e216 (diff) |
Add default actions to QAccessibleWidget.
Change-Id: I9f251aad663fd0b8db2ef068c6581241d91c090d
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Diffstat (limited to 'src/widgets/accessible')
-rw-r--r-- | src/widgets/accessible/qaccessiblewidget.cpp | 27 | ||||
-rw-r--r-- | src/widgets/accessible/qaccessiblewidget.h | 8 |
2 files changed, 34 insertions, 1 deletions
diff --git a/src/widgets/accessible/qaccessiblewidget.cpp b/src/widgets/accessible/qaccessiblewidget.cpp index 9e11ab88c6..b4613a6eb8 100644 --- a/src/widgets/accessible/qaccessiblewidget.cpp +++ b/src/widgets/accessible/qaccessiblewidget.cpp @@ -819,6 +819,33 @@ QString QAccessibleWidget::text(Text t, int child) const return str; } +QStringList QAccessibleWidget::actionNames() const +{ + QStringList names; + if (widget()->isEnabled()) { + if (widget()->focusPolicy() != Qt::NoFocus) + names << SetFocusAction; + } + return names; +} + +void QAccessibleWidget::doAction(const QString &actionName) +{ + if (!widget()->isEnabled()) + return; + + if (actionName == SetFocusAction) { + if (widget()->isWindow()) + widget()->activateWindow(); + widget()->setFocus(); + } +} + +QStringList QAccessibleWidget::keyBindingsForAction(const QString &actionName) const +{ + return QStringList(); +} + /*! \reimp */ QAccessible::Role QAccessibleWidget::role(int child) const { diff --git a/src/widgets/accessible/qaccessiblewidget.h b/src/widgets/accessible/qaccessiblewidget.h index 9a6dae69e7..e3b5a86356 100644 --- a/src/widgets/accessible/qaccessiblewidget.h +++ b/src/widgets/accessible/qaccessiblewidget.h @@ -54,8 +54,9 @@ QT_MODULE(Gui) class QAccessibleWidgetPrivate; -class Q_WIDGETS_EXPORT QAccessibleWidget : public QAccessibleObject +class Q_WIDGETS_EXPORT QAccessibleWidget : public QAccessibleObject, public QAccessibleActionInterface { + Q_ACCESSIBLE_OBJECT public: explicit QAccessibleWidget(QWidget *o, Role r = Client, const QString& name = QString()); @@ -80,6 +81,11 @@ public: QVariant invokeMethod(Method method, int child, const QVariantList ¶ms); + // QAccessibleActionInterface + QStringList actionNames() const; + void doAction(const QString &actionName); + QStringList keyBindingsForAction(const QString &actionName) const; + protected: ~QAccessibleWidget(); QWidget *widget() const; |