sw/source/core/access/AccessibilityCheck.cxx |   17 +++++++++++++++--
 sw/source/core/access/AccessibilityIssue.cxx |    1 +
 sw/source/core/inc/AccessibilityIssue.hxx    |    1 +
 3 files changed, 17 insertions(+), 2 deletions(-)

New commits:
commit 9068376ac4addcac9b9024567d74266a61a6b004
Author:     Balazs Varga <balazs.varga.ext...@allotropia.de>
AuthorDate: Thu Jul 6 13:44:10 2023 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@allotropia.de>
CommitDate: Mon Jul 10 08:33:25 2023 +0200

    tdf#156135 - Add "Go to" action for "Avoid floating text" issue type
    
    Change-Id: Ie98f291141f38ac5544c9e51a209fb9bf1f26d1f
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154107
    Tested-by: Jenkins
    Reviewed-by: Samuel Mehrbrodt <samuel.mehrbr...@allotropia.de>

diff --git a/sw/source/core/access/AccessibilityCheck.cxx 
b/sw/source/core/access/AccessibilityCheck.cxx
index ad054d3c0578..5dc306192ce0 100644
--- a/sw/source/core/access/AccessibilityCheck.cxx
+++ b/sw/source/core/access/AccessibilityCheck.cxx
@@ -1128,7 +1128,13 @@ public:
         const SwNode* startFly = pCurrent->FindFlyStartNode();
         if (startFly
             && startFly->GetFlyFormat()->GetAnchor().GetAnchorId() != 
RndStdIds::FLY_AS_CHAR)
-            lclAddIssue(m_rIssueCollection, SwResId(STR_FLOATING_TEXT));
+        {
+            auto pIssue = lclAddIssue(m_rIssueCollection, 
SwResId(STR_FLOATING_TEXT));
+            pIssue->setIssueObject(IssueObject::TEXTFRAME);
+            pIssue->setObjectID(startFly->GetFlyFormat()->GetName());
+            pIssue->setDoc(pCurrent->GetDoc());
+            pIssue->setNode(pCurrent);
+        }
     }
 };
 
@@ -1378,7 +1384,14 @@ void AccessibilityCheck::checkObject(SwNode* pCurrent, 
SdrObject* pObject)
     // (Floating objects with text create problems with reading order)
     if (pObject->HasText()
         && FindFrameFormat(pObject)->GetAnchor().GetAnchorId() != 
RndStdIds::FLY_AS_CHAR)
-        lclAddIssue(m_aIssueCollection, SwResId(STR_FLOATING_TEXT));
+    {
+        auto pIssue = lclAddIssue(m_aIssueCollection, 
SwResId(STR_FLOATING_TEXT));
+        pIssue->setIssueObject(IssueObject::TEXTFRAME);
+        pIssue->setObjectID(pObject->GetName());
+        pIssue->setDoc(*m_pDoc);
+        if (pCurrent)
+            pIssue->setNode(pCurrent);
+    }
 
     const SdrObjKind nObjId = pObject->GetObjIdentifier();
     const SdrInventor nInv = pObject->GetObjInventor();
diff --git a/sw/source/core/access/AccessibilityIssue.cxx 
b/sw/source/core/access/AccessibilityIssue.cxx
index ebda9a25083b..a9ddc2b75b62 100644
--- a/sw/source/core/access/AccessibilityIssue.cxx
+++ b/sw/source/core/access/AccessibilityIssue.cxx
@@ -60,6 +60,7 @@ void AccessibilityIssue::gotoIssue() const
     {
         case IssueObject::GRAPHIC:
         case IssueObject::OLE:
+        case IssueObject::TEXTFRAME:
         {
             SwWrtShell* pWrtShell = m_pDoc->GetDocShell()->GetWrtShell();
             bool bSelected = pWrtShell->GotoFly(m_sObjectID, FLYCNTTYPE_ALL, 
true);
diff --git a/sw/source/core/inc/AccessibilityIssue.hxx 
b/sw/source/core/inc/AccessibilityIssue.hxx
index 5a6d3e772333..608a41ee2e1f 100644
--- a/sw/source/core/inc/AccessibilityIssue.hxx
+++ b/sw/source/core/inc/AccessibilityIssue.hxx
@@ -28,6 +28,7 @@ enum class IssueObject
     TEXT,
     DOCUMENT_TITLE,
     FOOTNOTE,
+    TEXTFRAME,
 };
 
 class SW_DLLPUBLIC AccessibilityIssue final : public sfx::AccessibilityIssue

Reply via email to