MS formats allow padding without borders, regardless of display.
AllowPaddingWithoutBorders is about display / UI settings. Whether LO
displays them or not, the border distance should be saved for proper
round-tripping, so no need to test for compat setting (and which is
always true anyway in this code segment).
related to tdf#41542 and commit 52b29c6080
Change-Id: I3822d9ea50376b50b89dff37b7394286cab76fff
Reviewed-on: https://gerrit.libreoffice.org/30426
Reviewed-by: Justin Luth <justin_luth@sil.org>
Tested-by: Justin Luth <justin_luth@sil.org>
This commit is contained in:
@@ -1967,7 +1967,6 @@ sal_Int32 SwBasicEscherEx::WriteFlyFrameAttr(const SwFrameFormat& rFormat,
|
|||||||
sal_Int32 nLineWidth=0;
|
sal_Int32 nLineWidth=0;
|
||||||
const SfxPoolItem* pItem;
|
const SfxPoolItem* pItem;
|
||||||
bool bFirstLine = true;
|
bool bFirstLine = true;
|
||||||
const bool bAllowPaddingWithoutBorders = rFormat.getIDocumentSettingAccess().get(DocumentSettingId::ALLOW_PADDING_WITHOUT_BORDERS);
|
|
||||||
if (SfxItemState::SET == rFormat.GetItemState(RES_BOX, true, &pItem))
|
if (SfxItemState::SET == rFormat.GetItemState(RES_BOX, true, &pItem))
|
||||||
{
|
{
|
||||||
static const o3tl::enumarray<SvxBoxItemLine, sal_uInt16> aExhperProp =
|
static const o3tl::enumarray<SvxBoxItemLine, sal_uInt16> aExhperProp =
|
||||||
@@ -2035,13 +2034,8 @@ sal_Int32 SwBasicEscherEx::WriteFlyFrameAttr(const SwFrameFormat& rFormat,
|
|||||||
rPropOpt.AddOpt( aExhperProp[ n ], DrawModelToEmu(
|
rPropOpt.AddOpt( aExhperProp[ n ], DrawModelToEmu(
|
||||||
static_cast<const SvxBoxItem*>(pItem)->GetDistance( n ) ));
|
static_cast<const SvxBoxItem*>(pItem)->GetDistance( n ) ));
|
||||||
}
|
}
|
||||||
else if( bAllowPaddingWithoutBorders )
|
|
||||||
{
|
|
||||||
rPropOpt.AddOpt( aExhperProp[ n ], DrawModelToEmu(static_cast<const SvxBoxItem*>(pItem)->GetDistance( n )) );
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
// MM If there is no line the distance should be set to 0
|
rPropOpt.AddOpt( aExhperProp[ n ], DrawModelToEmu(static_cast<const SvxBoxItem*>(pItem)->GetDistance( n )) );
|
||||||
rPropOpt.AddOpt( aExhperProp[ n ], DrawModelToEmu(0));
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -2054,13 +2048,6 @@ sal_Int32 SwBasicEscherEx::WriteFlyFrameAttr(const SwFrameFormat& rFormat,
|
|||||||
if( bFirstLine ) // no valid line found
|
if( bFirstLine ) // no valid line found
|
||||||
{
|
{
|
||||||
rPropOpt.AddOpt( ESCHER_Prop_fNoLineDrawDash, 0x80000 );
|
rPropOpt.AddOpt( ESCHER_Prop_fNoLineDrawDash, 0x80000 );
|
||||||
if( !bAllowPaddingWithoutBorders )
|
|
||||||
{
|
|
||||||
rPropOpt.AddOpt( ESCHER_Prop_dyTextTop, 0 );
|
|
||||||
rPropOpt.AddOpt( ESCHER_Prop_dyTextBottom, 0 );
|
|
||||||
rPropOpt.AddOpt( ESCHER_Prop_dxTextLeft, 0 );
|
|
||||||
rPropOpt.AddOpt( ESCHER_Prop_dxTextRight, 0 );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
const SwAttrSet& rAttrSet = rFormat.GetAttrSet();
|
const SwAttrSet& rAttrSet = rFormat.GetAttrSet();
|
||||||
if (SfxItemState::SET == rAttrSet.GetItemState(RES_BOX, false, &pItem))
|
if (SfxItemState::SET == rAttrSet.GetItemState(RES_BOX, false, &pItem))
|
||||||
|
Reference in New Issue
Block a user