diff options
author | Niklas Johansson <sleeping.pillow@gmail.com> | 2014-11-05 09:44:24 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-11-06 09:48:58 +0000 |
commit | a1a9f0e5c4f7d7331072854250a7eb9046e4f111 (patch) | |
tree | 96fb4edc9ef85d65b580dd1c1dd514fc631cdeb8 /winaccessibility | |
parent | 40f4284df5c4668a6f908b723d29a47411f5ff81 (diff) |
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/12261
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'winaccessibility')
-rw-r--r-- | winaccessibility/source/service/AccObjectWinManager.cxx | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/winaccessibility/source/service/AccObjectWinManager.cxx b/winaccessibility/source/service/AccObjectWinManager.cxx index d8ea5d4ab31e..93f1cbb4151e 100644 --- a/winaccessibility/source/service/AccObjectWinManager.cxx +++ b/winaccessibility/source/service/AccObjectWinManager.cxx @@ -545,7 +545,10 @@ void AccObjectWinManager::DeleteAccObj( XAccessible* pXAcc ) size_t i = XResIdAccList.erase(accObj.GetResID()); assert(i != 0); 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()); } @@ -707,7 +710,10 @@ sal_Bool AccObjectWinManager::InsertAccObj( XAccessible* pXAcc,XAccessible* pPar pObj.SetParentHWND( pWnd ); //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); if ( aIter != XHWNDDocList.end() ) @@ -790,6 +796,9 @@ AccObjectWinManager::CreateAccEventListener(XAccessible* pXAcc) case /*AccessibleRole::*/CANVAS: case /*AccessibleRole::*/COMBO_BOX: case /*AccessibleRole::*/DOCUMENT: + case /*AccessibleRole::*/DOCUMENT_PRESENTATION: + case /*AccessibleRole::*/DOCUMENT_SPREADSHEET: + case /*AccessibleRole::*/DOCUMENT_TEXT: case /*AccessibleRole::*/END_NOTE: case /*AccessibleRole::*/FILLER: case /*AccessibleRole::*/FOOTNOTE: @@ -1034,6 +1043,9 @@ sal_Bool AccObjectWinManager::IsContainer(XAccessible* pAccessible) case /*AccessibleRole::*/CANVAS: case /*AccessibleRole::*/COMBO_BOX: case /*AccessibleRole::*/DOCUMENT: + case /*AccessibleRole::*/DOCUMENT_PRESENTATION: + case /*AccessibleRole::*/DOCUMENT_SPREADSHEET: + case /*AccessibleRole::*/DOCUMENT_TEXT: case /*AccessibleRole::*/EMBEDDED_OBJECT: case /*AccessibleRole::*/END_NOTE: case /*AccessibleRole::*/FILLER: |