Accessibility: Fix selection change notifications on Linux
The selection update is not implemented on other platforms (if needed at all). Task-number: QTBUG-39440 Change-Id: I8eb8c4eb1c23ba2d246bc95f1c77dc9da9e22495 Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
This commit is contained in:
parent
fad17cf79c
commit
0eaa86dd01
@ -1047,6 +1047,8 @@ void AtSpiAdaptor::notify(QAccessibleEvent *event)
|
||||
}
|
||||
break;
|
||||
}
|
||||
case QAccessible::SelectionAdd:
|
||||
case QAccessible::SelectionRemove:
|
||||
case QAccessible::Selection: {
|
||||
QAccessibleInterface * iface = event->accessibleInterface();
|
||||
if (!iface) {
|
||||
@ -1104,7 +1106,6 @@ void AtSpiAdaptor::notify(QAccessibleEvent *event)
|
||||
case QAccessible::ParentChanged:
|
||||
case QAccessible::DialogStart:
|
||||
case QAccessible::DialogEnd:
|
||||
case QAccessible::SelectionRemove:
|
||||
case QAccessible::PopupMenuStart:
|
||||
case QAccessible::PopupMenuEnd:
|
||||
case QAccessible::SoundPlayed:
|
||||
@ -1146,7 +1147,6 @@ void AtSpiAdaptor::notify(QAccessibleEvent *event)
|
||||
case QAccessible::TextAttributeChanged:
|
||||
case QAccessible::TextColumnChanged:
|
||||
case QAccessible::VisibleDataChanged:
|
||||
case QAccessible::SelectionAdd:
|
||||
case QAccessible::SelectionWithin:
|
||||
case QAccessible::LocationChanged:
|
||||
case QAccessible::HelpChanged:
|
||||
|
@ -3198,7 +3198,7 @@ void QListView::selectionChanged(const QItemSelection &selected,
|
||||
QModelIndex sel = selected.indexes().value(0);
|
||||
if (sel.isValid()) {
|
||||
int entry = visualIndex(sel);
|
||||
QAccessibleEvent event(this, QAccessible::Selection);
|
||||
QAccessibleEvent event(this, QAccessible::SelectionAdd);
|
||||
event.setChild(entry);
|
||||
QAccessible::updateAccessibility(&event);
|
||||
}
|
||||
|
@ -3337,7 +3337,7 @@ void QTableView::selectionChanged(const QItemSelection &selected,
|
||||
QModelIndex sel = selected.indexes().value(0);
|
||||
if (sel.isValid()) {
|
||||
int entry = d->accessibleTable2Index(sel);
|
||||
QAccessibleEvent event(this, QAccessible::Selection);
|
||||
QAccessibleEvent event(this, QAccessible::SelectionAdd);
|
||||
event.setChild(entry);
|
||||
QAccessible::updateAccessibility(&event);
|
||||
}
|
||||
|
@ -3981,7 +3981,7 @@ void QTreeView::selectionChanged(const QItemSelection &selected,
|
||||
if (sel.isValid()) {
|
||||
int entry = d->accessibleTree2Index(sel);
|
||||
Q_ASSERT(entry >= 0);
|
||||
QAccessibleEvent event(this, QAccessible::Selection);
|
||||
QAccessibleEvent event(this, QAccessible::SelectionAdd);
|
||||
event.setChild(entry);
|
||||
QAccessible::updateAccessibility(&event);
|
||||
}
|
||||
|
@ -2779,7 +2779,7 @@ 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);
|
||||
QAccessibleEvent selectionEvent(listView, QAccessible::SelectionAdd);
|
||||
selectionEvent.setChild(1);
|
||||
QAccessibleEvent focusEvent(listView, QAccessible::Focus);
|
||||
focusEvent.setChild(1);
|
||||
@ -2787,7 +2787,7 @@ void tst_QAccessibility::listTest()
|
||||
QVERIFY(QTestAccessibility::containsEvent(&focusEvent));
|
||||
QTest::mouseClick(listView->viewport(), Qt::LeftButton, 0, listView->visualItemRect(listView->item(2)).center());
|
||||
|
||||
QAccessibleEvent selectionEvent2(listView, QAccessible::Selection);
|
||||
QAccessibleEvent selectionEvent2(listView, QAccessible::SelectionAdd);
|
||||
selectionEvent2.setChild(2);
|
||||
QAccessibleEvent focusEvent2(listView, QAccessible::Focus);
|
||||
focusEvent2.setChild(2);
|
||||
@ -3281,7 +3281,7 @@ void tst_QAccessibility::tableTest()
|
||||
tableView->setSelectionBehavior(QAbstractItemView::SelectItems);
|
||||
tableView->setSelectionMode(QAbstractItemView::SingleSelection);
|
||||
tableView->selectionModel()->select(index00, QItemSelectionModel::ClearAndSelect);
|
||||
QAccessibleEvent event(tableView, QAccessible::Selection);
|
||||
QAccessibleEvent event(tableView, QAccessible::SelectionAdd);
|
||||
event.setChild(12);
|
||||
QCOMPARE(QTestAccessibility::containsEvent(&event), true);
|
||||
QTestAccessibility::clearEvents();
|
||||
|
Loading…
x
Reference in New Issue
Block a user