summaryrefslogtreecommitdiffstats
path: root/src/plugins/accessible/widgets
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@nokia.com>2011-11-15 18:32:55 +0100
committerQt by Nokia <qt-info@nokia.com>2011-11-21 15:53:16 +0100
commit6e7f08182ea9a6e0e4f89c6b13ff8dcae1d3b87c (patch)
treef21315ed7fae074c147230f101a7d5be07d2ea6b /src/plugins/accessible/widgets
parent6f9fb98886c592060fb8c17520c49947659d0817 (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.cpp27
-rw-r--r--src/plugins/accessible/widgets/itemviews.cpp5
-rw-r--r--src/plugins/accessible/widgets/qaccessiblemenu.cpp39
-rw-r--r--src/plugins/accessible/widgets/qaccessiblewidgets.cpp3
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;
}