diff options
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/dialog/rlrcitem.cxx | 2 | ||||
-rw-r--r-- | svx/source/dialog/svxruler.cxx | 13 |
2 files changed, 13 insertions, 2 deletions
diff --git a/svx/source/dialog/rlrcitem.cxx b/svx/source/dialog/rlrcitem.cxx index 873663b27e30..a73cd00bdac5 100644 --- a/svx/source/dialog/rlrcitem.cxx +++ b/svx/source/dialog/rlrcitem.cxx @@ -131,7 +131,7 @@ void SvxRulerItem::StateChangedAtToolBoxControl( sal_uInt16 nSID, SfxItemState e { const SvxLRSpaceItem *pItem = dynamic_cast<const SvxLRSpaceItem*>( pState ); SAL_WARN_IF(pState != nullptr && pItem == nullptr, "svx.dialog", "SvxLRSpaceItem expected"); - rRuler.UpdateParaBorder(); + rRuler.UpdateBorder(pItem); } break; case SID_RULER_TEXT_RIGHT_TO_LEFT : diff --git a/svx/source/dialog/svxruler.cxx b/svx/source/dialog/svxruler.cxx index 6e960a18433d..d676c3c1208f 100644 --- a/svx/source/dialog/svxruler.cxx +++ b/svx/source/dialog/svxruler.cxx @@ -881,11 +881,16 @@ void SvxRuler::UpdatePara(const SvxLRSpaceItem *pItem) // new value of paragraph } } -void SvxRuler::UpdateParaBorder() +void SvxRuler::UpdateBorder(const SvxLRSpaceItem * pItem) { /* Border distance */ if(bActive) { + if (pItem) + mxBorderItem.reset(new SvxLRSpaceItem(*pItem)); + else + mxBorderItem.reset(); + StartListening_Impl(); } } @@ -1206,6 +1211,9 @@ tools::Long SvxRuler::GetLeftFrameMargin() const nLeft = mxColumnItem->GetActiveColumnDescription().nStart; } + if (mxBorderItem && (!mxColumnItem || mxColumnItem->IsTable())) + nLeft += mxBorderItem->GetLeft(); + return nLeft; } @@ -1257,6 +1265,9 @@ tools::Long SvxRuler::GetRightFrameMargin() const else if(!bHorz && mxULSpaceItem) lResult += mxULSpaceItem->GetLower(); + if (bHorz && mxBorderItem && (!mxColumnItem || mxColumnItem->IsTable())) + lResult += mxBorderItem->GetRight(); + if(bHorz) lResult = mxPagePosItem->GetWidth() - lResult; else |