diff options
author | Frederik Gladhorn <frederik.gladhorn@nokia.com> | 2011-11-15 18:32:55 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-11-21 15:53:16 +0100 |
commit | 6e7f08182ea9a6e0e4f89c6b13ff8dcae1d3b87c (patch) | |
tree | f21315ed7fae074c147230f101a7d5be07d2ea6b /src/plugins/accessible/widgets | |
parent | 6f9fb98886c592060fb8c17520c49947659d0817 (diff) |
Accessibility: Clean up usage of navigate.
Prefer to use parent/child functions instead.
Change-Id: Ic92165b9439eb750c9d762ddf5dcd2a5ccf0277d
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Diffstat (limited to 'src/plugins/accessible/widgets')
-rw-r--r-- | src/plugins/accessible/widgets/complexwidgets.cpp | 27 | ||||
-rw-r--r-- | src/plugins/accessible/widgets/itemviews.cpp | 5 | ||||
-rw-r--r-- | src/plugins/accessible/widgets/qaccessiblemenu.cpp | 39 | ||||
-rw-r--r-- | src/plugins/accessible/widgets/qaccessiblewidgets.cpp | 3 |
4 files changed, 32 insertions, 42 deletions
diff --git a/src/plugins/accessible/widgets/complexwidgets.cpp b/src/plugins/accessible/widgets/complexwidgets.cpp index f26637bd17..5f144b6952 100644 --- a/src/plugins/accessible/widgets/complexwidgets.cpp +++ b/src/plugins/accessible/widgets/complexwidgets.cpp @@ -512,12 +512,11 @@ int QAccessibleItemRow::navigate(RelationFlag relation, int index, return index;} case Sibling: if (index) { - QAccessibleInterface *ifaceParent = 0; - navigate(Ancestor, 1, &ifaceParent); + QAccessibleInterface *ifaceParent = parent(); if (ifaceParent) { - int entry = ifaceParent->navigate(Child, index, iface); + *iface = ifaceParent->child(index - 1); delete ifaceParent; - return entry; + return *iface ? 0 : -1; } } return -1; @@ -589,11 +588,11 @@ QAccessible::State QAccessibleItemRow::state(int child) const if (!view) return st; - QAccessibleInterface *parent = 0; + QAccessibleInterface *parentIface = parent(); QRect globalRect; - if (navigate(Ancestor, 1, &parent) == 0) { - globalRect = parent->rect(0); - delete parent; + if (parentIface) { + globalRect = parentIface->rect(0); + delete parentIface; } if (!globalRect.intersects(rect(child))) st |= Invisible; @@ -998,11 +997,11 @@ void QAccessibleItemView::setText(Text t, int child, const QString &text) } } -QRect QAccessibleItemView::rect(int child) const +QRect QAccessibleItemView::rect(int childIndex) const { if (atViewport()) { QRect r; - if (!child) { + if (!childIndex) { // Make sure that the rect *include* the vertical and horizontal headers, while // not including the potential vertical and horizontal scrollbars. QAbstractItemView *w = itemView(); @@ -1025,16 +1024,16 @@ QRect QAccessibleItemView::rect(int child) const r.adjust(0, 0, -vscrollWidth, -hscrollHeight); } } else { - QAccessibleInterface *iface = 0; - if (navigate(Child, child, &iface) == 0) { + QAccessibleInterface *iface = child(childIndex - 1); + if (iface) { r = iface->rect(0); delete iface; } } return r; } else { - QRect r = QAccessibleAbstractScrollArea::rect(child); - if (child == 1) { + QRect r = QAccessibleAbstractScrollArea::rect(childIndex); + if (childIndex == 1) { // include the potential vertical and horizontal headers const QHeaderView *header = verticalHeader(); diff --git a/src/plugins/accessible/widgets/itemviews.cpp b/src/plugins/accessible/widgets/itemviews.cpp index 98d298263c..8b03bba686 100644 --- a/src/plugins/accessible/widgets/itemviews.cpp +++ b/src/plugins/accessible/widgets/itemviews.cpp @@ -851,10 +851,9 @@ int QAccessibleTable2Cell::navigate(RelationFlag relation, int index, QAccessibl case Sibling: if (index > 0) { QAccessibleInterface *parent = queryAccessibleInterface(view); - int ret = parent->navigate(QAccessible::Child, index, iface); + *iface = parent->child(index - 1); delete parent; - if (*iface) - return ret; + return *iface ? 0 : -1; } return -1; diff --git a/src/plugins/accessible/widgets/qaccessiblemenu.cpp b/src/plugins/accessible/widgets/qaccessiblemenu.cpp index f2978267b8..8e0f2a0c1a 100644 --- a/src/plugins/accessible/widgets/qaccessiblemenu.cpp +++ b/src/plugins/accessible/widgets/qaccessiblemenu.cpp @@ -272,50 +272,45 @@ QAccessibleInterface *QAccessibleMenuItem::child(int index) const return 0; } -int QAccessibleMenuItem::navigate(RelationFlag relation, int entry, QAccessibleInterface ** target ) const +int QAccessibleMenuItem::navigate(RelationFlag relation, int entry, QAccessibleInterface **target) const { - int ret = -1; if (entry < 0) { *target = 0; - return ret; + return -1; } switch (relation) { case Child: *target = child(entry - 1); - ret = *target ? 0 : -1; break; case Ancestor: *target = parent(); - return 0; + break; case Up: case Down:{ - QAccessibleInterface *parent = 0; - int ent = navigate(Ancestor, 1, &parent); - if (ent == 0) { - int index = parent->indexOfChild(this); + QAccessibleInterface *parentIface = parent(); + if (parentIface) { + int index = parentIface->indexOfChild(this); if (index != -1) { index += (relation == Down ? +1 : -1); - ret = parent->navigate(Child, index, target); + *target = parentIface->child(index - 1); } } - delete parent; - break;} + delete parentIface; + break; + } case Sibling: { - QAccessibleInterface *parent = 0; - int ent = navigate(Ancestor, 1, &parent); - if (ent == 0) { - ret = parent->navigate(Child, entry, target); - } - delete parent; - break;} + QAccessibleInterface *parentIface = parent(); + if (parentIface) + *target = parentIface->child(entry - 1); + delete parentIface; + break; + } default: break; } - if (ret == -1) - *target = 0; - return ret; + return *target ? 0 : -1; } QObject *QAccessibleMenuItem::object() const diff --git a/src/plugins/accessible/widgets/qaccessiblewidgets.cpp b/src/plugins/accessible/widgets/qaccessiblewidgets.cpp index a79507b3ce..31a3aa7032 100644 --- a/src/plugins/accessible/widgets/qaccessiblewidgets.cpp +++ b/src/plugins/accessible/widgets/qaccessiblewidgets.cpp @@ -1419,9 +1419,6 @@ int QAccessibleTitleBar::navigate(RelationFlag relation, int entry, QAccessibleI case Ancestor: *iface = parent(); return iface ? 0 : -1; - case Sibling: - return navigate(Child, entry, iface); - break; default: break; } |