From 5ea2eab00d70c4dfef1050387c5db376aff95b39 Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Wed, 28 Sep 2011 15:36:52 +0200 Subject: Simplify QAccessibleAbstractScrollArea and Calendar. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Iea1df37fd9fd486295458ec7627f5b6908053cdf Reviewed-on: http://codereview.qt-project.org/5727 Reviewed-by: Qt Sanity Bot Reviewed-by: Jan-Arve Sæther --- .../accessible/widgets/qaccessiblewidgets.cpp | 50 ++++++---------------- 1 file changed, 14 insertions(+), 36 deletions(-) (limited to 'src/plugins/accessible/widgets/qaccessiblewidgets.cpp') 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 -- cgit v1.2.3