summaryrefslogtreecommitdiffstats
path: root/src/plugins/accessible
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@nokia.com>2011-09-28 15:36:52 +0200
committerQt by Nokia <qt-info@nokia.com>2011-10-03 15:31:42 +0200
commit5ea2eab00d70c4dfef1050387c5db376aff95b39 (patch)
treeae208eea2d4756e66938c227487a8c9b03d59b58 /src/plugins/accessible
parent9ac51af0838c87ea0e21a12243ef82513c5df3e5 (diff)
Simplify QAccessibleAbstractScrollArea and Calendar.
Change-Id: Iea1df37fd9fd486295458ec7627f5b6908053cdf Reviewed-on: http://codereview.qt-project.org/5727 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Diffstat (limited to 'src/plugins/accessible')
-rw-r--r--src/plugins/accessible/widgets/complexwidgets.cpp123
-rw-r--r--src/plugins/accessible/widgets/complexwidgets.h9
-rw-r--r--src/plugins/accessible/widgets/qaccessiblewidgets.cpp50
-rw-r--r--src/plugins/accessible/widgets/qaccessiblewidgets.h7
4 files changed, 54 insertions, 135 deletions
diff --git a/src/plugins/accessible/widgets/complexwidgets.cpp b/src/plugins/accessible/widgets/complexwidgets.cpp
index 52a1ae6fcb..c193fe863c 100644
--- a/src/plugins/accessible/widgets/complexwidgets.cpp
+++ b/src/plugins/accessible/widgets/complexwidgets.cpp
@@ -1847,57 +1847,14 @@ QAccessibleAbstractScrollArea::QAccessibleAbstractScrollArea(QWidget *widget)
Q_ASSERT(qobject_cast<QAbstractScrollArea *>(widget));
}
-QString QAccessibleAbstractScrollArea::text(Text textType, int child) const
-{
- if (child == Self)
- return QAccessibleWidget::text(textType, 0);
- QWidgetList children = accessibleChildren();
- if (child < 1 || child > children.count())
- return QString();
- QAccessibleInterface *childInterface = queryAccessibleInterface(children.at(child - 1));
- if (!childInterface)
- return QString();
- QString string = childInterface->text(textType, 0);
- delete childInterface;
- return string;
-}
-
-void QAccessibleAbstractScrollArea::setText(Text textType, int child, const QString &text)
-{
- if (text.isEmpty())
- return;
- if (child == 0) {
- QAccessibleWidget::setText(textType, 0, text);
- return;
- }
- QWidgetList children = accessibleChildren();
- if (child < 1 || child > children.count())
- return;
- QAccessibleInterface *childInterface = queryAccessibleInterface(children.at(child - 1));
- if (!childInterface)
- return;
- childInterface->setText(textType, 0, text);
- delete childInterface;
-}
-
-QAccessible::State QAccessibleAbstractScrollArea::state(int child) const
+QVariant QAccessibleAbstractScrollArea::invokeMethod(QAccessible::Method, int, const QVariantList &)
{
- if (child == Self)
- return QAccessibleWidget::state(child);
- QWidgetList children = accessibleChildren();
- if (child < 1 || child > children.count())
- return QAccessibleWidget::state(Self);
- QAccessibleInterface *childInterface = queryAccessibleInterface(children.at(child - 1));
- if (!childInterface)
- return QAccessibleWidget::state(Self);
- QAccessible::State returnState = childInterface->state(0);
- delete childInterface;
- return returnState;
+ return QVariant();
}
-QVariant QAccessibleAbstractScrollArea::invokeMethod(QAccessible::Method, int, const QVariantList &)
+QAccessibleInterface *QAccessibleAbstractScrollArea::child(int index) const
{
- return QVariant();
+ return QAccessible::queryAccessibleInterface(accessibleChildren().at(index));
}
int QAccessibleAbstractScrollArea::childCount() const
@@ -1948,9 +1905,10 @@ int QAccessibleAbstractScrollArea::navigate(RelationFlag relation, int entry, QA
// to the reader. :-)
switch (relation) {
case Child:
- if (entry > 0)
- targetWidget = children.at(entry - 1);
- break;
+ if (entry > 0) {
+ *target = child(entry - 1);
+ return *target ? 0 : -1;
+ }
case Left:
if (entry < 1)
break;
@@ -2039,46 +1997,31 @@ int QAccessibleAbstractScrollArea::navigate(RelationFlag relation, int entry, QA
return *target ? 0: -1;
}
-QRect QAccessibleAbstractScrollArea::rect(int child) const
-{
- if (!abstractScrollArea()->isVisible())
- return QRect();
- if (child == Self)
- return QAccessibleWidget::rect(child);
- QWidgetList children = accessibleChildren();
- if (child < 1 || child > children.count())
- return QRect();
- const QWidget *childWidget = children.at(child - 1);
- if (!childWidget->isVisible())
- return QRect();
- return QRect(childWidget->mapToGlobal(QPoint(0, 0)), childWidget->size());
-}
-
-int QAccessibleAbstractScrollArea::childAt(int x, int y) const
-{
- if (!abstractScrollArea()->isVisible())
- return -1;
-#if 0
- const QRect globalSelfGeometry = rect(Self);
- if (!globalSelfGeometry.isValid() || !globalSelfGeometry.contains(QPoint(x, y)))
- return -1;
- const QWidgetList children = accessibleChildren();
- for (int i = 0; i < children.count(); ++i) {
- const QWidget *child = children.at(i);
- const QRect globalChildGeometry = QRect(child->mapToGlobal(QPoint(0, 0)), child->size());
- if (globalChildGeometry.contains(QPoint(x, y))) {
- return ++i;
- }
- }
- return 0;
-#else
- for (int i = childCount(); i >= 0; --i) {
- if (rect(i).contains(x, y))
- return i;
- }
- return -1;
-#endif
-}
+//int QAccessibleAbstractScrollArea::childAt(int x, int y) const
+//{
+// if (!abstractScrollArea()->isVisible())
+// return -1;
+//#if 0
+// const QRect globalSelfGeometry = rect(Self);
+// if (!globalSelfGeometry.isValid() || !globalSelfGeometry.contains(QPoint(x, y)))
+// return -1;
+// const QWidgetList children = accessibleChildren();
+// for (int i = 0; i < children.count(); ++i) {
+// const QWidget *child = children.at(i);
+// const QRect globalChildGeometry = QRect(child->mapToGlobal(QPoint(0, 0)), child->size());
+// if (globalChildGeometry.contains(QPoint(x, y))) {
+// return ++i;
+// }
+// }
+// return 0;
+//#else
+// for (int i = childCount(); i >= 0; --i) {
+// if (rect().contains(x, y))
+// return i;
+// }
+// return -1;
+//#endif
+//}
QAbstractScrollArea *QAccessibleAbstractScrollArea::abstractScrollArea() const
{
diff --git a/src/plugins/accessible/widgets/complexwidgets.h b/src/plugins/accessible/widgets/complexwidgets.h
index 9abec34510..a8c63a026a 100644
--- a/src/plugins/accessible/widgets/complexwidgets.h
+++ b/src/plugins/accessible/widgets/complexwidgets.h
@@ -74,16 +74,13 @@ public:
Undefined
};
- QString text(Text textType, int child) const;
- void setText(Text textType, int child, const QString &text);
- State state(int child) const;
- QVariant invokeMethod(QAccessible::Method method, int child, const QVariantList &params);
+ QAccessibleInterface *child(int index) const;
+ QVariant invokeMethod(QAccessible::Method method, int, const QVariantList &params);
int childCount() const;
int indexOfChild(const QAccessibleInterface *child) const;
bool isValid() const;
int navigate(RelationFlag relation, int entry, QAccessibleInterface **target) const;
- QRect rect(int child) const;
- int childAt(int x, int y) const;
+// int childAt(int x, int y) const;
//protected:
QAbstractScrollArea *abstractScrollArea() const;
diff --git a/src/plugins/accessible/widgets/qaccessiblewidgets.cpp b/src/plugins/accessible/widgets/qaccessiblewidgets.cpp
index 9b3d37f50d..22644aad2b 100644
--- a/src/plugins/accessible/widgets/qaccessiblewidgets.cpp
+++ b/src/plugins/accessible/widgets/qaccessiblewidgets.cpp
@@ -1200,6 +1200,17 @@ int QAccessibleCalendarWidget::indexOfChild(const QAccessibleInterface *child) c
return 1;
}
+QAccessibleInterface *QAccessibleCalendarWidget::child(int index) const
+{
+ if (index < 0 || index >= childCount())
+ return 0;
+
+ if (childCount() > 1 && index == 0)
+ return queryAccessibleInterface(navigationBar());
+
+ return queryAccessibleInterface(calendarView());
+}
+
int QAccessibleCalendarWidget::navigate(RelationFlag relation, int entry, QAccessibleInterface **target) const
{
*target = 0;
@@ -1208,15 +1219,8 @@ int QAccessibleCalendarWidget::navigate(RelationFlag relation, int entry, QAcces
QWidget *targetWidget = 0;
switch (relation) {
case Child:
- if (childCount() == 1) {
- targetWidget = calendarView();
- } else {
- if (entry == 1)
- targetWidget = navigationBar();
- else
- targetWidget = calendarView();
- }
- break;
+ *target = child(entry - 1);
+ return *target ? 0 : -1;
case Up:
if (entry == 2)
targetWidget = navigationBar();
@@ -1229,33 +1233,7 @@ int QAccessibleCalendarWidget::navigate(RelationFlag relation, int entry, QAcces
return QAccessibleWidget::navigate(relation, entry, target);
}
*target = queryAccessibleInterface(targetWidget);
- return *target ? 0: -1;
-}
-
-QRect QAccessibleCalendarWidget::rect(int child) const
-{
- if (!calendarWidget()->isVisible() || child > childCount())
- return QRect();
- if (child == 0)
- return QAccessibleWidget::rect(child);
- QWidget *childWidget = 0;
- if (childCount() == 2)
- childWidget = child == 1 ? navigationBar() : calendarView();
- else
- childWidget = calendarView();
- return QRect(childWidget->mapToGlobal(QPoint(0, 0)), childWidget->size());
-}
-
-int QAccessibleCalendarWidget::childAt(int x, int y) const
-{
- const QPoint globalTargetPos = QPoint(x, y);
- if (!rect(0).contains(globalTargetPos))
- return -1;
- if (rect(1).contains(globalTargetPos))
- return 1;
- if (rect(2).contains(globalTargetPos))
- return 2;
- return 0;
+ return *target ? 0 : -1;
}
QCalendarWidget *QAccessibleCalendarWidget::calendarWidget() const
diff --git a/src/plugins/accessible/widgets/qaccessiblewidgets.h b/src/plugins/accessible/widgets/qaccessiblewidgets.h
index 2a595d79dd..8d0a13a04a 100644
--- a/src/plugins/accessible/widgets/qaccessiblewidgets.h
+++ b/src/plugins/accessible/widgets/qaccessiblewidgets.h
@@ -228,13 +228,14 @@ class QAccessibleCalendarWidget : public QAccessibleWidget
public:
explicit QAccessibleCalendarWidget(QWidget *widget);
- QVariant invokeMethod(QAccessible::Method method, int child, const QVariantList &params);
int childCount() const;
int indexOfChild(const QAccessibleInterface *child) const;
int navigate(RelationFlag relation, int entry, QAccessibleInterface **target) const;
- QRect rect(int child) const;
- int childAt(int x, int y) const;
+ QAccessibleInterface *child(int index) const;
+
+
+ QVariant invokeMethod(QAccessible::Method method, int child, const QVariantList &params);
protected:
QCalendarWidget *calendarWidget() const;