diff options
author | Frederik Gladhorn <frederik.gladhorn@nokia.com> | 2012-01-09 13:13:33 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-11 11:18:51 +0100 |
commit | 30ad53a0a6b1f6d5d50fe12777dc1045dec22803 (patch) | |
tree | 8801287de779c5554e86daafeac8bed69c2ea680 /src/widgets/accessible | |
parent | 630131d58542dc3a69587b4a982b04544d30b92b (diff) |
Make QAccessibleInterface::indexOfChild() 0-based.
Makes the code nicer and more consistent with the rest of the world.
Change-Id: I5ba0ee39f5b0afd1a079a3cea9990d123955ed3f
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 | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/widgets/accessible/qaccessiblewidget.cpp b/src/widgets/accessible/qaccessiblewidget.cpp index cfc76bc253..3c215ba64c 100644 --- a/src/widgets/accessible/qaccessiblewidget.cpp +++ b/src/widgets/accessible/qaccessiblewidget.cpp @@ -424,14 +424,16 @@ int QAccessibleWidget::navigate(QAccessible::RelationFlag relation, int entry, switch (relation) { case QAccessible::Covers: if (entry > 0) { - QAccessibleInterface *pIface = QAccessible::queryAccessibleInterface(parentObject()); + QAccessibleInterface *pIface = parent(); if (!pIface) return -1; QRect r = rect(); int sibCount = pIface->childCount(); QAccessibleInterface *sibling = 0; - for (int i = pIface->indexOfChild(this) + 1; i <= sibCount && entry; ++i) { + // FIXME: this code looks very suspicious + // why start at this index? + for (int i = pIface->indexOfChild(this) + 2; i <= sibCount && entry; ++i) { sibling = pIface->child(i - 1); if (!sibling || (sibling->state().invisible)) { delete sibling; @@ -460,8 +462,9 @@ int QAccessibleWidget::navigate(QAccessible::RelationFlag relation, int entry, QRect r = rect(); int index = pIface->indexOfChild(this); QAccessibleInterface *sibling = 0; - for (int i = 1; i < index && entry; ++i) { - sibling = pIface->child(i - 1); + // FIXME: why end at index? + for (int i = 0; i < index && entry; ++i) { + sibling = pIface->child(i); Q_ASSERT(sibling); if (!sibling || (sibling->state().invisible)) { delete sibling; @@ -595,10 +598,7 @@ int QAccessibleWidget::childCount() const int QAccessibleWidget::indexOfChild(const QAccessibleInterface *child) const { QWidgetList cl = childWidgets(widget()); - int index = cl.indexOf(qobject_cast<QWidget *>(child->object())); - if (index != -1) - ++index; - return index; + return cl.indexOf(qobject_cast<QWidget *>(child->object())); } // from qwidget.cpp |