diff options
author | Maxim Monastirsky <momonasmon@gmail.com> | 2018-08-23 10:06:46 +0300 |
---|---|---|
committer | Maxim Monastirsky <momonasmon@gmail.com> | 2018-08-24 01:47:41 +0200 |
commit | b576d593cd702560f84ac28d8a17905e5e7b8353 (patch) | |
tree | c88f84a1b959b43caf3df0cd7ceb1d666c91b177 /sw | |
parent | 58f2e4690b57f0fa7a95be3a023d54d8967f5529 (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.cxx | 14 |
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) { |