sw/source/uibase/docvw/OutlineContentVisibilityWin.cxx | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-)
New commits: commit 589cfd3ef33ddb42ea265e2ab2b87d32f1f1f67d Author: Jim Raykowski <rayk...@gmail.com> AuthorDate: Sun Sep 25 22:18:39 2022 -0800 Commit: Jim Raykowski <rayk...@gmail.com> CommitDate: Wed Sep 28 16:40:27 2022 +0200 tdf#140892 Account for list bullets and numbering when placing outline folding button Change-Id: I2cdd9916c0f1327d9a48443d00205490bfb04f31 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140585 Tested-by: Jenkins Reviewed-by: Jim Raykowski <rayk...@gmail.com> diff --git a/sw/source/uibase/docvw/OutlineContentVisibilityWin.cxx b/sw/source/uibase/docvw/OutlineContentVisibilityWin.cxx index 33d0b72ffd41..998548550274 100644 --- a/sw/source/uibase/docvw/OutlineContentVisibilityWin.cxx +++ b/sw/source/uibase/docvw/OutlineContentVisibilityWin.cxx @@ -131,13 +131,19 @@ void SwOutlineContentVisibilityWin::Set() SetQuickHelpText(sQuickHelp); // Set the position of the window - SwRect aFrameAreaRect = GetFrame()->getFrameArea(); - aFrameAreaRect.AddTop(GetFrame()->GetTopMargin()); + SwRect aFrameAreaRect = pTextFrame->getFrameArea(); + aFrameAreaRect.AddTop(pTextFrame->GetTopMargin()); + SwSpecialPos aSpecialPos; + aSpecialPos.nExtendRange = pTextNode->HasVisibleNumberingOrBullet() ? SwSPExtendRange::BEFORE + : SwSPExtendRange::NONE; + SwCursorMoveState aMoveState; + aMoveState.m_pSpecialPos = &aSpecialPos; SwRect aCharRect; - GetFrame()->GetCharRect(aCharRect, SwPosition(*pTextNode)); + pTextFrame->GetCharRect(aCharRect, SwPosition(*(pTextFrame->GetTextNodeForParaProps())), + &aMoveState); Point aPxPt(GetEditWin()->GetOutDev()->LogicToPixel( Point(aCharRect.Left(), aFrameAreaRect.Center().getY()))); - if (GetFrame()->IsRightToLeft()) + if (pTextFrame->IsRightToLeft()) aPxPt.AdjustX(2); else aPxPt.AdjustX(-(GetSizePixel().getWidth() + 2));