summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
Diffstat (limited to 'svx')
-rw-r--r--svx/source/dialog/rlrcitem.cxx2
-rw-r--r--svx/source/dialog/svxruler.cxx13
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