summaryrefslogtreecommitdiffstats
path: root/src/widgets/accessible
diff options
context:
space:
mode:
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;