sd/source/ui/view/drtxtob.cxx | 50 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+)
New commits: commit 29733bb39a16fc0e1398a7c18781226cfe755ff3 Author: Szymon Kłos <szymon.k...@collabora.com> AuthorDate: Thu Nov 14 11:05:40 2019 +0100 Commit: Szymon Kłos <szymon.k...@collabora.com> CommitDate: Thu Nov 14 12:20:08 2019 +0100 jsdialog: send paragraph margins for impress Change-Id: Ie0d4d3dc33de66609c005b77c1ef9802446ad57c Reviewed-on: https://gerrit.libreoffice.org/82658 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Szymon Kłos <szymon.k...@collabora.com> diff --git a/sd/source/ui/view/drtxtob.cxx b/sd/source/ui/view/drtxtob.cxx index 28903c556424..b1faba5c269d 100644 --- a/sd/source/ui/view/drtxtob.cxx +++ b/sd/source/ui/view/drtxtob.cxx @@ -48,6 +48,9 @@ #include <editeng/writingmodeitem.hxx> #include <editeng/frmdiritem.hxx> #include <editeng/fhgtitem.hxx> +#include <comphelper/lok.hxx> +#include <LibreOfficeKit/LibreOfficeKitEnums.h> +#include <editeng/itemtype.hxx> #include <sfx2/objface.hxx> @@ -457,14 +460,38 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet ) nEndPara = pOLV->GetOutliner()->GetParagraphCount() - 1; } long nUpper = 0; + OUString sUpper, sLower; + // TODO: set correct unit + MapUnit eTargetUnit = MapUnit::MapInch; + for( sal_Int32 nPara = nStartPara; nPara <= nEndPara; nPara++ ) { const SfxItemSet& rItems = pOLV->GetOutliner()->GetParaAttribs( nPara ); const SvxULSpaceItem& rItem = rItems.Get( EE_PARA_ULSPACE ); nUpper = std::max( nUpper, static_cast<long>(rItem.GetUpper()) ); + + if (nPara == nStartPara) + { + sUpper = GetMetricText(rItem.GetUpper(), + MapUnit::MapTwip, eTargetUnit, nullptr); + } + if (nPara == nEndPara) + { + sLower = GetMetricText(rItem.GetLower(), + MapUnit::MapTwip, eTargetUnit, nullptr); + } } if( nUpper == 0 ) rSet.DisableItem( SID_PARASPACE_DECREASE ); + + if (comphelper::LibreOfficeKit::isActive()) + { + OUString sPayload = ".uno:ULSpacing={\"upper\": \"" + sUpper + + "\", \"lower\": \"" + sLower + "\"}"; + + GetViewShell()->libreOfficeKitViewCallback(LOK_CALLBACK_STATE_CHANGED, + OUStringToOString(sPayload, RTL_TEXTENCODING_ASCII_US).getStr()); + } } else { @@ -567,6 +594,29 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet ) aLRSpace.SetWhich(SID_ATTR_PARA_LRSPACE); rSet.Put(aLRSpace); Invalidate(SID_ATTR_PARA_LRSPACE); + + if (comphelper::LibreOfficeKit::isActive()) + { + // TODO: set correct unit + MapUnit eTargetUnit = MapUnit::MapInch; + + OUString sLeft = GetMetricText(aLRSpace.GetLeft(), + MapUnit::MapTwip, eTargetUnit, nullptr); + + OUString sRight = GetMetricText(aLRSpace.GetRight(), + MapUnit::MapTwip, eTargetUnit, nullptr); + + OUString sFirstline = GetMetricText(aLRSpace.GetTextFirstLineOfst(), + MapUnit::MapTwip, eTargetUnit, nullptr); + + OUString sPayload = ".uno:LeftRightParaMargin={\"left\": \"" + sLeft + + "\", \"right\": \"" + sRight + + "\", \"firstline\": \"" + sFirstline + "\"}"; + + GetViewShell()->libreOfficeKitViewCallback(LOK_CALLBACK_STATE_CHANGED, + OUStringToOString(sPayload, RTL_TEXTENCODING_ASCII_US).getStr()); + } + //Added by xuxu SfxItemState eState = aAttrSet.GetItemState( EE_PARA_LRSPACE ); if ( eState == SfxItemState::DONTCARE ) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits