From a5123f05769dbecd6af8b7de71d209257be24a8a Mon Sep 17 00:00:00 2001 From: Samuel Mehrbrodt Date: Tue, 30 Oct 2018 22:37:54 +0100 Subject: qt5 a11y: Add table selection support Change-Id: I4e655a2b4c6a0057935ac5e47c93b16e763d4357 Reviewed-on: https://gerrit.libreoffice.org/62675 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt --- vcl/qt5/Qt5AccessibleWidget.cxx | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/vcl/qt5/Qt5AccessibleWidget.cxx b/vcl/qt5/Qt5AccessibleWidget.cxx index bf066f96df54..bb547c6bc974 100644 --- a/vcl/qt5/Qt5AccessibleWidget.cxx +++ b/vcl/qt5/Qt5AccessibleWidget.cxx @@ -40,6 +40,7 @@ #include #include #include +#include #include #include #include @@ -986,16 +987,22 @@ QString Qt5AccessibleWidget::rowDescription(int row) const return toQString(xTable->getAccessibleRowDescription(row)); } -bool Qt5AccessibleWidget::selectColumn(int /* column */) +bool Qt5AccessibleWidget::selectColumn(int column) { - SAL_INFO("vcl.qt5", "Unsupported QAccessibleTableInterface::selectColumn"); - return false; + Reference xTableSelection(m_xAccessible->getAccessibleContext(), + UNO_QUERY); + if (!xTableSelection.is()) + return nullptr; + return xTableSelection->selectColumn(column); } -bool Qt5AccessibleWidget::selectRow(int /* row */) +bool Qt5AccessibleWidget::selectRow(int row) { - SAL_INFO("vcl.qt5", "Unsupported QAccessibleTableInterface::selectRow"); - return false; + Reference xTableSelection(m_xAccessible->getAccessibleContext(), + UNO_QUERY); + if (!xTableSelection.is()) + return nullptr; + return xTableSelection->selectRow(row); } int Qt5AccessibleWidget::selectedCellCount() const @@ -1053,14 +1060,20 @@ QAccessibleInterface* Qt5AccessibleWidget::summary() const bool Qt5AccessibleWidget::unselectColumn(int column) { - SAL_INFO("vcl.qt5", "Unsupported QAccessibleTableInterface::unselectColumn"); - return false; + Reference xTableSelection(m_xAccessible->getAccessibleContext(), + UNO_QUERY); + if (!xTableSelection.is()) + return nullptr; + return xTableSelection->unselectColumn(column); } bool Qt5AccessibleWidget::unselectRow(int row) { - SAL_INFO("vcl.qt5", "Unsupported QAccessibleTableInterface::unselectRow"); - return false; + Reference xTableSelection(m_xAccessible->getAccessibleContext(), + UNO_QUERY); + if (!xTableSelection.is()) + return nullptr; + return xTableSelection->unselectRow(row); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit