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()

Reply via email to