summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>2023-06-01 14:01:45 +0200
committerSamuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>2023-06-01 15:53:13 +0200
commitd3996db28d88d219a9a1acc98af0cc862ac3d704 (patch)
tree8e830d1eedee2ec7abb7700c6f5d2283756bc895
parentef30d351da288b3513cfd30cb82bff7e0827fcb3 (diff)
tdf#155504 Add "Go to" function to shapes
Change-Id: Ic1f39c65565f92ceb86e3b19d45aed7014b88e2a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152487 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
-rw-r--r--sw/source/core/access/AccessibilityCheck.cxx6
-rw-r--r--sw/source/core/access/AccessibilityIssue.cxx10
-rw-r--r--sw/source/core/inc/AccessibilityIssue.hxx1
3 files changed, 15 insertions, 2 deletions
diff --git a/sw/source/core/access/AccessibilityCheck.cxx b/sw/source/core/access/AccessibilityCheck.cxx
index e9cead1fe243..4502eae1a01c 100644
--- a/sw/source/core/access/AccessibilityCheck.cxx
+++ b/sw/source/core/access/AccessibilityCheck.cxx
@@ -1361,7 +1361,11 @@ void AccessibilityCheck::checkObject(SdrObject* pObject)
{
OUString sName = pObject->GetName();
OUString sIssueText = SwResId(STR_NO_ALT).replaceAll("%OBJECT_NAME%", sName);
- lclAddIssue(m_aIssueCollection, sIssueText, sfx::AccessibilityIssueID::NO_ALT_SHAPE);
+ auto pIssue = lclAddIssue(m_aIssueCollection, sIssueText,
+ sfx::AccessibilityIssueID::NO_ALT_SHAPE);
+ pIssue->setIssueObject(IssueObject::SHAPE);
+ pIssue->setObjectID(pObject->GetName());
+ pIssue->setDoc(*m_pDoc);
}
}
}
diff --git a/sw/source/core/access/AccessibilityIssue.cxx b/sw/source/core/access/AccessibilityIssue.cxx
index 300f42eeaf6a..e11531ecd474 100644
--- a/sw/source/core/access/AccessibilityIssue.cxx
+++ b/sw/source/core/access/AccessibilityIssue.cxx
@@ -38,7 +38,7 @@ void AccessibilityIssue::setObjectID(OUString const& rID) { m_sObjectID = rID; }
bool AccessibilityIssue::canGotoIssue() const
{
- if (m_eIssueObject != IssueObject::UNKNOWN)
+ if (m_pDoc && m_eIssueObject != IssueObject::UNKNOWN)
return true;
return false;
}
@@ -59,6 +59,14 @@ void AccessibilityIssue::gotoIssue() const
pWrtShell->ShowCursor();
}
break;
+ case IssueObject::SHAPE:
+ {
+ SwWrtShell* pWrtShell = m_pDoc->GetDocShell()->GetWrtShell();
+ pWrtShell->GotoDrawingObject(m_sObjectID);
+ if (comphelper::LibreOfficeKit::isActive())
+ pWrtShell->ShowCursor();
+ }
+ break;
case IssueObject::TABLE:
{
SwWrtShell* pWrtShell = m_pDoc->GetDocShell()->GetWrtShell();
diff --git a/sw/source/core/inc/AccessibilityIssue.hxx b/sw/source/core/inc/AccessibilityIssue.hxx
index 9cffdd405b9a..208f2656d0f5 100644
--- a/sw/source/core/inc/AccessibilityIssue.hxx
+++ b/sw/source/core/inc/AccessibilityIssue.hxx
@@ -21,6 +21,7 @@ enum class IssueObject
UNKNOWN,
GRAPHIC,
OLE,
+ SHAPE,
TABLE,
TEXT,
};