summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiklas Johansson <sleeping.pillow@gmail.com>2014-11-05 09:44:24 +0100
committerMichael Stahl <mstahl@redhat.com>2014-11-07 11:39:33 +0000
commit162535ded77633a07871be917b719861bcaf9f43 (patch)
tree0879c538f3f63dfc364c1b6d2f564986af65e9e1
parentc244e2e2d64ee88e0e3f44f573247c8ce566e190 (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> (cherry picked from commit a1a9f0e5c4f7d7331072854250a7eb9046e4f111) Reviewed-on: https://gerrit.libreoffice.org/12298 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
-rw-r--r--winaccessibility/source/service/AccObjectWinManager.cxx16
1 files changed, 14 insertions, 2 deletions
diff --git a/winaccessibility/source/service/AccObjectWinManager.cxx b/winaccessibility/source/service/AccObjectWinManager.cxx
index 32c155e87977..f257541d65bb 100644
--- a/winaccessibility/source/service/AccObjectWinManager.cxx
+++ b/winaccessibility/source/service/AccObjectWinManager.cxx
@@ -548,7 +548,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());
}
@@ -710,7 +713,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() )
@@ -793,6 +799,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:
@@ -1037,6 +1046,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: