summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorJan-Arve Saether <jan-arve.saether@nokia.com>2012-01-19 14:20:54 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-06 10:15:09 +0100
commit1d18fd01645e3b9efcd1a2c5dd030a5fc0f5892a (patch)
tree84c4e4df3f91f80e07641a5a3b0b0cfcecbe6705 /src/widgets
parentfdf9ee12916651c708dcd63d557e11e36ec7eb4e (diff)
Remove QAccessible::FocusChild, add focusChild()
Also cleanup (reduce) all implementations of navigate() in order to make the final removal of navigate smoother. Change-Id: I2c216db8f5b2e40afcce8f859fc775053adc2fe3 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/accessible/qaccessiblewidget.cpp41
-rw-r--r--src/widgets/accessible/qaccessiblewidget.h1
2 files changed, 15 insertions, 27 deletions
diff --git a/src/widgets/accessible/qaccessiblewidget.cpp b/src/widgets/accessible/qaccessiblewidget.cpp
index a4a86e5d31..be579fecf8 100644
--- a/src/widgets/accessible/qaccessiblewidget.cpp
+++ b/src/widgets/accessible/qaccessiblewidget.cpp
@@ -339,10 +339,6 @@ QAccessible::Relation QAccessibleWidget::relationTo(const QAccessibleInterface *
if (!o)
return relation;
- QWidget *focus = widget()->focusWidget();
- if (object() == focus && isAncestor(o, focus))
- relation |= QAccessible::FocusChild;
-
QACConnectionObject *connectionObject = (QACConnectionObject*)object();
for (int sig = 0; sig < d->primarySignals.count(); ++sig) {
if (connectionObject->isSender(o, d->primarySignals.at(sig).toAscii())) {
@@ -383,6 +379,20 @@ QAccessibleInterface *QAccessibleWidget::child(int index) const
}
/*! \reimp */
+QAccessibleInterface *QAccessibleWidget::focusChild() const
+{
+ if (widget()->hasFocus())
+ return QAccessible::queryAccessibleInterface(object());
+
+ QWidget *fw = widget()->focusWidget();
+ if (!fw)
+ return 0;
+
+ if (isAncestor(widget(), fw) || fw == widget())
+ return QAccessible::queryAccessibleInterface(fw);
+}
+
+/*! \reimp */
int QAccessibleWidget::navigate(QAccessible::RelationFlag relation, int entry,
QAccessibleInterface **target) const
{
@@ -394,29 +404,6 @@ int QAccessibleWidget::navigate(QAccessible::RelationFlag relation, int entry,
switch (relation) {
// Logical
- case QAccessible::FocusChild:
- {
- if (widget()->hasFocus()) {
- targetObject = object();
- break;
- }
-
- QWidget *fw = widget()->focusWidget();
- if (!fw)
- return -1;
-
- if (isAncestor(widget(), fw) || fw == widget())
- targetObject = fw;
- /* ###
- QWidget *parent = fw;
- while (parent && !targetObject) {
- parent = parent->parentWidget();
- if (parent == widget())
- targetObject = fw;
- }
- */
- }
- break;
case QAccessible::Label:
if (entry > 0) {
QAccessibleInterface *pIface = QAccessible::queryAccessibleInterface(parentObject());
diff --git a/src/widgets/accessible/qaccessiblewidget.h b/src/widgets/accessible/qaccessiblewidget.h
index f96d298f90..d34d852e27 100644
--- a/src/widgets/accessible/qaccessiblewidget.h
+++ b/src/widgets/accessible/qaccessiblewidget.h
@@ -62,6 +62,7 @@ public:
int childCount() const;
int indexOfChild(const QAccessibleInterface *child) const;
QAccessible::Relation relationTo(const QAccessibleInterface *other) const;
+ QAccessibleInterface *focusChild() const;
QRect rect() const;