summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorMaxim Monastirsky <momonasmon@gmail.com>2018-08-23 10:06:46 +0300
committerMaxim Monastirsky <momonasmon@gmail.com>2018-08-24 01:47:41 +0200
commitb576d593cd702560f84ac28d8a17905e5e7b8353 (patch)
treec88f84a1b959b43caf3df0cd7ceb1d666c91b177 /sw
parent58f2e4690b57f0fa7a95be3a023d54d8967f5529 (diff)
Explicitly set line ends for measure lines
So they won't be lost on file export Change-Id: I7da183e4b392fd9f3019b1f3029db15a56eff84d Reviewed-on: https://gerrit.libreoffice.org/59483 Tested-by: Jenkins Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/frmedt/feshview.cxx14
1 files changed, 10 insertions, 4 deletions
diff --git a/sw/source/core/frmedt/feshview.cxx b/sw/source/core/frmedt/feshview.cxx
index 37a526d855e2..30543a47b605 100644
--- a/sw/source/core/frmedt/feshview.cxx
+++ b/sw/source/core/frmedt/feshview.cxx
@@ -904,7 +904,8 @@ void SwFEShell::SetLineEnds(SfxItemSet& rAttr, SdrObject const & rObj, sal_uInt1
nSlotId == SID_LINE_ARROW_CIRCLE ||
nSlotId == SID_LINE_CIRCLE_ARROW ||
nSlotId == SID_LINE_ARROW_SQUARE ||
- nSlotId == SID_LINE_SQUARE_ARROW) )
+ nSlotId == SID_LINE_SQUARE_ARROW ||
+ nSlotId == SID_DRAW_MEASURELINE) )
return;
// set attributes of line start and ends
@@ -958,6 +959,7 @@ void SwFEShell::SetLineEnds(SfxItemSet& rAttr, SdrObject const & rObj, sal_uInt1
switch (nSlotId)
{
case SID_LINE_ARROWS:
+ case SID_DRAW_MEASURELINE:
{
// connector with arrow ends
rAttr.Put(XLineStartItem(SvxResId(RID_SVXSTR_ARROW), aArrow));
@@ -3086,9 +3088,13 @@ long SwFEShell::GetSectionWidth( SwFormat const & rFormat ) const
}
else if(dynamic_cast<const SdrMeasureObj*>( pObj) != nullptr)
{
- sal_Int32 nYMiddle((aRect.Top() + aRect.Bottom()) / 2);
- static_cast<SdrMeasureObj*>(pObj)->SetPoint(Point(aStart.X(), nYMiddle), 0);
- static_cast<SdrMeasureObj*>(pObj)->SetPoint(Point(aEnd.X(), nYMiddle), 1);
+ sal_Int32 nYMiddle((aRect.Top() + aRect.Bottom()) / 2);
+ static_cast<SdrMeasureObj*>(pObj)->SetPoint(Point(aStart.X(), nYMiddle), 0);
+ static_cast<SdrMeasureObj*>(pObj)->SetPoint(Point(aEnd.X(), nYMiddle), 1);
+
+ SfxItemSet aAttr(pObj->getSdrModelFromSdrObject().GetItemPool());
+ SetLineEnds(aAttr, *pObj, nSlotId);
+ pObj->SetMergedItemSet(aAttr);
}
else if(dynamic_cast<const SdrCaptionObj*>( pObj) != nullptr)
{