summaryrefslogtreecommitdiffstats
path: root/src/widgets/accessible
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@nokia.com>2011-10-11 16:20:47 +0200
committerQt by Nokia <qt-info@nokia.com>2011-10-27 11:12:38 +0200
commit5aa14793c422dc77f3b464c27091dcd1b2ed1c72 (patch)
tree8a167a67e5d1456a774e176db31a627d0a89cd33 /src/widgets/accessible
parent8f912c5c0f3f89e6f3042c0a948ccd155e57e216 (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.cpp27
-rw-r--r--src/widgets/accessible/qaccessiblewidget.h8
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 &params);
+ // QAccessibleActionInterface
+ QStringList actionNames() const;
+ void doAction(const QString &actionName);
+ QStringList keyBindingsForAction(const QString &actionName) const;
+
protected:
~QAccessibleWidget();
QWidget *widget() const;