jsdialog: send paragraph margins for impress
Change-Id: Ie0d4d3dc33de66609c005b77c1ef9802446ad57c Reviewed-on: https://gerrit.libreoffice.org/82658 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> (cherry picked from commit 29733bb39a16fc0e1398a7c18781226cfe755ff3) Reviewed-on: https://gerrit.libreoffice.org/82670 Tested-by: Jenkins
This commit is contained in:
@@ -44,6 +44,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>
|
||||
|
||||
@@ -479,14 +482,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
|
||||
{
|
||||
@@ -589,6 +616,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 )
|
||||
|
Reference in New Issue
Block a user