From 8bed283f137c14a7be1fb9027eae5eae3ce796be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Mill=C3=A1n=20Soto?= Date: Sat, 22 Sep 2012 23:19:44 +0200 Subject: [PATCH] Correct accessibility index handling in QListView QListView::currentChanged and QListView::selectionChanged changed to use 0-based indexes instead of 1-based indexes. Change-Id: Ie618970c9a37ec76156dbfab2e86685c3c8f374c Reviewed-by: Frederik Gladhorn --- src/widgets/itemviews/qlistview.cpp | 6 +++--- tests/auto/other/qaccessibility/tst_qaccessibility.cpp | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/widgets/itemviews/qlistview.cpp b/src/widgets/itemviews/qlistview.cpp index ff703c9d8a..592354836a 100644 --- a/src/widgets/itemviews/qlistview.cpp +++ b/src/widgets/itemviews/qlistview.cpp @@ -3162,7 +3162,7 @@ void QListView::currentChanged(const QModelIndex ¤t, const QModelIndex &pr #ifndef QT_NO_ACCESSIBILITY if (QAccessible::isActive()) { if (current.isValid()) { - int entry = visualIndex(current) + 1; + int entry = visualIndex(current); QAccessibleEvent event(this, QAccessible::Focus); event.setChild(entry); QAccessible::updateAccessibility(&event); @@ -3183,14 +3183,14 @@ void QListView::selectionChanged(const QItemSelection &selected, // ### does not work properly for selection ranges. QModelIndex sel = selected.indexes().value(0); if (sel.isValid()) { - int entry = visualIndex(sel) + 1; + int entry = visualIndex(sel); QAccessibleEvent event(this, QAccessible::Selection); event.setChild(entry); QAccessible::updateAccessibility(&event); } QModelIndex desel = deselected.indexes().value(0); if (desel.isValid()) { - int entry = visualIndex(desel) + 1; + int entry = visualIndex(desel); QAccessibleEvent event(this, QAccessible::SelectionRemove); event.setChild(entry); QAccessible::updateAccessibility(&event); diff --git a/tests/auto/other/qaccessibility/tst_qaccessibility.cpp b/tests/auto/other/qaccessibility/tst_qaccessibility.cpp index 9d614703c6..58ddf531c5 100644 --- a/tests/auto/other/qaccessibility/tst_qaccessibility.cpp +++ b/tests/auto/other/qaccessibility/tst_qaccessibility.cpp @@ -2369,17 +2369,17 @@ void tst_QAccessibility::listTest() // Check for events QTest::mouseClick(listView->viewport(), Qt::LeftButton, 0, listView->visualItemRect(listView->item(1)).center()); QAccessibleEvent selectionEvent(listView, QAccessible::Selection); - selectionEvent.setChild(2); + selectionEvent.setChild(1); QAccessibleEvent focusEvent(listView, QAccessible::Focus); - focusEvent.setChild(2); + focusEvent.setChild(1); QVERIFY(QTestAccessibility::containsEvent(&selectionEvent)); QVERIFY(QTestAccessibility::containsEvent(&focusEvent)); QTest::mouseClick(listView->viewport(), Qt::LeftButton, 0, listView->visualItemRect(listView->item(2)).center()); QAccessibleEvent selectionEvent2(listView, QAccessible::Selection); - selectionEvent2.setChild(3); + selectionEvent2.setChild(2); QAccessibleEvent focusEvent2(listView, QAccessible::Focus); - focusEvent2.setChild(3); + focusEvent2.setChild(2); QVERIFY(QTestAccessibility::containsEvent(&selectionEvent2)); QVERIFY(QTestAccessibility::containsEvent(&focusEvent2));