Kaydet (Commit) a1a9f0e5 authored tarafından Niklas Johansson's avatar Niklas Johansson Kaydeden (comit) Caolán McNamara

fdo#81264 Accessiblitiy focus not tracked for cells in Calc

When the accessibility roles for DOCUMENT_SPREADSHEET etc. was introduced
the following places in Windows specific files where not updated to take
these new roles into account. This patch should hopefully fix that. As a
side effect the initial code for tracking cell movement in Calc works again.
Well at least as well as it did before the change, there are still some
quirks left to fix.

Change-Id: If3cacdc27a73c4cee85b1450c406d490bd741456
Reviewed-on: https://gerrit.libreoffice.org/12261Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 40f4284d
...@@ -545,7 +545,10 @@ void AccObjectWinManager::DeleteAccObj( XAccessible* pXAcc ) ...@@ -545,7 +545,10 @@ void AccObjectWinManager::DeleteAccObj( XAccessible* pXAcc )
size_t i = XResIdAccList.erase(accObj.GetResID()); size_t i = XResIdAccList.erase(accObj.GetResID());
assert(i != 0); assert(i != 0);
DeleteFromHwndXAcc(pXAcc); DeleteFromHwndXAcc(pXAcc);
if (DOCUMENT == accObj.GetRole()) if( accObj.GetRole() == DOCUMENT ||
accObj.GetRole() == DOCUMENT_PRESENTATION ||
accObj.GetRole() == DOCUMENT_SPREADSHEET ||
accObj.GetRole() == DOCUMENT_TEXT )
{ {
XHWNDDocList.erase(accObj.GetParentHWND()); XHWNDDocList.erase(accObj.GetParentHWND());
} }
...@@ -707,7 +710,10 @@ sal_Bool AccObjectWinManager::InsertAccObj( XAccessible* pXAcc,XAccessible* pPar ...@@ -707,7 +710,10 @@ sal_Bool AccObjectWinManager::InsertAccObj( XAccessible* pXAcc,XAccessible* pPar
pObj.SetParentHWND( pWnd ); pObj.SetParentHWND( pWnd );
//for file name support //for file name support
if ( pObj.GetRole() == DOCUMENT ) if( pObj.GetRole() == DOCUMENT ||
pObj.GetRole() == DOCUMENT_PRESENTATION ||
pObj.GetRole() == DOCUMENT_SPREADSHEET ||
pObj.GetRole() == DOCUMENT_TEXT )
{ {
XHWNDToDocumentHash::iterator aIter = XHWNDDocList.find(pWnd); XHWNDToDocumentHash::iterator aIter = XHWNDDocList.find(pWnd);
if ( aIter != XHWNDDocList.end() ) if ( aIter != XHWNDDocList.end() )
...@@ -790,6 +796,9 @@ AccObjectWinManager::CreateAccEventListener(XAccessible* pXAcc) ...@@ -790,6 +796,9 @@ AccObjectWinManager::CreateAccEventListener(XAccessible* pXAcc)
case /*AccessibleRole::*/CANVAS: case /*AccessibleRole::*/CANVAS:
case /*AccessibleRole::*/COMBO_BOX: case /*AccessibleRole::*/COMBO_BOX:
case /*AccessibleRole::*/DOCUMENT: case /*AccessibleRole::*/DOCUMENT:
case /*AccessibleRole::*/DOCUMENT_PRESENTATION:
case /*AccessibleRole::*/DOCUMENT_SPREADSHEET:
case /*AccessibleRole::*/DOCUMENT_TEXT:
case /*AccessibleRole::*/END_NOTE: case /*AccessibleRole::*/END_NOTE:
case /*AccessibleRole::*/FILLER: case /*AccessibleRole::*/FILLER:
case /*AccessibleRole::*/FOOTNOTE: case /*AccessibleRole::*/FOOTNOTE:
...@@ -1034,6 +1043,9 @@ sal_Bool AccObjectWinManager::IsContainer(XAccessible* pAccessible) ...@@ -1034,6 +1043,9 @@ sal_Bool AccObjectWinManager::IsContainer(XAccessible* pAccessible)
case /*AccessibleRole::*/CANVAS: case /*AccessibleRole::*/CANVAS:
case /*AccessibleRole::*/COMBO_BOX: case /*AccessibleRole::*/COMBO_BOX:
case /*AccessibleRole::*/DOCUMENT: case /*AccessibleRole::*/DOCUMENT:
case /*AccessibleRole::*/DOCUMENT_PRESENTATION:
case /*AccessibleRole::*/DOCUMENT_SPREADSHEET:
case /*AccessibleRole::*/DOCUMENT_TEXT:
case /*AccessibleRole::*/EMBEDDED_OBJECT: case /*AccessibleRole::*/EMBEDDED_OBJECT:
case /*AccessibleRole::*/END_NOTE: case /*AccessibleRole::*/END_NOTE:
case /*AccessibleRole::*/FILLER: case /*AccessibleRole::*/FILLER:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment