[Libreoffice-commits] core.git: Branch 'libreoffice-4-3' - winaccessibility/source

Niklas Johansson sleeping.pillow at gmail.com
Fri Nov 7 03:39:59 PST 2014


 winaccessibility/source/service/AccObjectWinManager.cxx |   16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

New commits:
commit 162535ded77633a07871be917b719861bcaf9f43
Author: Niklas Johansson <sleeping.pillow at gmail.com>
Date:   Wed Nov 5 09:44:24 2014 +0100

    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 at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit a1a9f0e5c4f7d7331072854250a7eb9046e4f111)
    Reviewed-on: https://gerrit.libreoffice.org/12298
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>

diff --git a/winaccessibility/source/service/AccObjectWinManager.cxx b/winaccessibility/source/service/AccObjectWinManager.cxx
index 32c155e..f257541 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:


More information about the Libreoffice-commits mailing list