sw/source/core/crsr/crstrvl.cxx | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-)
New commits: commit c0c84b9c394f63f53f7ea55cbe7f6808b78e7f46 Author: Andreas Heinisch <andreas.heini...@yahoo.de> AuthorDate: Wed Jul 2 23:42:40 2025 +0200 Commit: Andreas Heinisch <andreas.heini...@yahoo.de> CommitDate: Tue Jul 8 16:31:44 2025 +0200 tdf#143157 - Include expanded text in index fields Include expanded text in the tooltip of index fields. Change-Id: Ife87a4f09e3cc2511637bfbf5b2f44e6598bfbb3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187293 Reviewed-by: Andreas Heinisch <andreas.heini...@yahoo.de> Tested-by: Jenkins diff --git a/sw/source/core/crsr/crstrvl.cxx b/sw/source/core/crsr/crstrvl.cxx index a95ec37264ac..8515e71e6980 100644 --- a/sw/source/core/crsr/crstrvl.cxx +++ b/sw/source/core/crsr/crstrvl.cxx @@ -1809,29 +1809,38 @@ bool SwCursorShell::GetContentAtPos( const Point& rPt, if( bRet ) { - const sal_Int32* pEnd = pTextAttr->GetEnd(); - if( pEnd ) - rContentAtPos.sStr = - pTextNd->GetExpandText(GetLayout(), pTextAttr->GetStart(), *pEnd - pTextAttr->GetStart()); - else if( RES_TXTATR_TOXMARK == pTextAttr->Which()) + OUStringBuffer aStringBuffer; + if (RES_TXTATR_TOXMARK == pTextAttr->Which()) { // tdf#143157 - include first and secondary keys in index fields const auto& aSwTOXMark = pTextAttr->GetTOXMark(); const auto aSecondaryKey = aSwTOXMark.GetSecondaryKey(); - OUStringBuffer aStringBuffer(aSwTOXMark.GetPrimaryKey()); + aStringBuffer.append(aSwTOXMark.GetPrimaryKey()); if (!aSecondaryKey.isEmpty()) { if (!aStringBuffer.isEmpty()) aStringBuffer.append(" > "); aStringBuffer.append(aSecondaryKey); } - if (!aStringBuffer.isEmpty()) + + const auto aAlternativeText = aSwTOXMark.GetAlternativeText(); + if (!aStringBuffer.isEmpty() && !aAlternativeText.isEmpty()) aStringBuffer.append(" > "); - aStringBuffer.append(aSwTOXMark.GetAlternativeText()); + aStringBuffer.append(aAlternativeText); + } - rContentAtPos.sStr = aStringBuffer.makeStringAndClear(); + // tdf#143157 - include expanded text in index fields + const sal_Int32* pEnd = pTextAttr->GetEnd(); + if (pEnd) + { + const auto aExpandText = pTextNd->GetExpandText( + GetLayout(), pTextAttr->GetStart(), *pEnd - pTextAttr->GetStart()); + if (!aStringBuffer.isEmpty() && !aExpandText.isEmpty()) + aStringBuffer.append(" > "); + aStringBuffer.append(aExpandText); } + rContentAtPos.sStr = aStringBuffer.makeStringAndClear(); rContentAtPos.eContentAtPos = RES_TXTATR_TOXMARK == pTextAttr->Which()