diff options
author | Miklos Vajna <vmiklos@suse.cz> | 2012-04-11 09:45:53 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2012-04-25 15:32:26 +0200 |
commit | c67e6375be1ae303fd57a24ef28ca4e232917379 (patch) | |
tree | 156598e58234c652bce7f27cf685af9061660cfe | |
parent | 89dd8bc04bb3f311c16e9b244e7dc02d1052d06a (diff) |
fdo#44176 dmapper: fix import of titlepg top/bottom margin
(backport of b0edaff7e2d885f80e96277967bfe29664c83df1)
Signed-off-by: Michael Stahl <mstahl@redhat.com>
-rw-r--r-- | writerfilter/source/dmapper/PropertyMap.cxx | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx index e74e7846201d..4f03839730ac 100644 --- a/writerfilter/source/dmapper/PropertyMap.cxx +++ b/writerfilter/source/dmapper/PropertyMap.cxx @@ -788,9 +788,18 @@ void SectionPropertyMap::PrepareHeaderFooterProperties( bool bFirstPage ) operator[]( PropertyDefinition( PROP_FOOTER_BODY_DISTANCE, false )) = uno::makeAny( m_nHeaderBottom ); } - //now set the top/bottom margin for the follow page style - operator[]( PropertyDefinition( PROP_TOP_MARGIN, false )) = uno::makeAny( m_nTopMargin ); - operator[]( PropertyDefinition( PROP_BOTTOM_MARGIN, false )) = uno::makeAny( m_nBottomMargin ); + //now set the top/bottom margin + sal_Int32 nHeaderHeight = 0, nFooterHeight = 0; + if (bFirstPage) + { + // make sure the height of the header/footer is added to the top/bottom margin if necessary + if (m_aFollowPageStyle.is() && !HasHeader(true) && HasHeader(false)) + m_aFollowPageStyle->getPropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeaderHeight"))) >>= nHeaderHeight; + if (m_aFollowPageStyle.is() && !HasFooter(true) && HasFooter(false)) + m_aFollowPageStyle->getPropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FooterHeight"))) >>= nFooterHeight; + } + operator[]( PropertyDefinition( PROP_TOP_MARGIN, false )) = uno::makeAny( m_nTopMargin + nHeaderHeight ); + operator[]( PropertyDefinition( PROP_BOTTOM_MARGIN, false )) = uno::makeAny( m_nBottomMargin + nFooterHeight ); } |