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/plugins/accessible/widgets/qaccessiblemenu.cpp | |
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/plugins/accessible/widgets/qaccessiblemenu.cpp')
-rw-r--r-- | src/plugins/accessible/widgets/qaccessiblemenu.cpp | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/src/plugins/accessible/widgets/qaccessiblemenu.cpp b/src/plugins/accessible/widgets/qaccessiblemenu.cpp index 9771f23881..e188db284f 100644 --- a/src/plugins/accessible/widgets/qaccessiblemenu.cpp +++ b/src/plugins/accessible/widgets/qaccessiblemenu.cpp @@ -113,14 +113,11 @@ QAccessibleInterface *QAccessibleMenu::parent() const int QAccessibleMenu::indexOfChild( const QAccessibleInterface *child) const { - int index = -1; QAccessible::Role r = child->role(); if ((r == QAccessible::MenuItem || r == QAccessible::Separator) && menu()) { - index = menu()->actions().indexOf(qobject_cast<QAction*>(child->object())); - if (index != -1) - ++index; + return menu()->actions().indexOf(qobject_cast<QAction*>(child->object())); } - return index; + return -1; } #ifndef QT_NO_MENUBAR @@ -149,14 +146,11 @@ QAccessibleInterface *QAccessibleMenuBar::child(int index) const int QAccessibleMenuBar::indexOfChild(const QAccessibleInterface *child) const { - int index = -1; QAccessible::Role r = child->role(); if ((r == QAccessible::MenuItem || r == QAccessible::Separator) && menuBar()) { - index = menuBar()->actions().indexOf(qobject_cast<QAction*>(child->object())); - if (index != -1) - ++index; + return menuBar()->actions().indexOf(qobject_cast<QAction*>(child->object())); } - return index; + return -1; } #endif // QT_NO_MENUBAR @@ -188,10 +182,8 @@ int QAccessibleMenuItem::childCount() const int QAccessibleMenuItem::indexOfChild(const QAccessibleInterface * child) const { - Q_ASSERT(child == 0); - if (child->role() == QAccessible::PopupMenu && child->object() == m_action->menu()) - return 1; - + if (child && child->role() == QAccessible::PopupMenu && child->object() == m_action->menu()) + return 0; return -1; } @@ -227,7 +219,8 @@ int QAccessibleMenuItem::navigate(QAccessible::RelationFlag relation, int entry, int index = parentIface->indexOfChild(this); if (index != -1) { index += (relation == QAccessible::Down ? +1 : -1); - *target = parentIface->child(index - 1); + if (index >= 0) + *target = parentIface->child(index); } } delete parentIface; |