summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2012-04-11 09:45:53 +0200
committerMiklos Vajna <vmiklos@suse.cz>2012-04-11 11:17:35 +0200
commitb0edaff7e2d885f80e96277967bfe29664c83df1 (patch)
tree1ad26820e942d801cb7512b0e314306eaf7b6ef8 /writerfilter
parentdd9bbad2b19d7c8bbe68dd2cdcf3d90d763d747d (diff)
fdo#44176 dmapper: fix import of titlepg top/bottom margin
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/PropertyMap.cxx15
1 files changed, 12 insertions, 3 deletions
diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx
index ee3ba7f5e6eb..471f9b8cfa79 100644
--- a/writerfilter/source/dmapper/PropertyMap.cxx
+++ b/writerfilter/source/dmapper/PropertyMap.cxx
@@ -778,9 +778,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("HeaderHeight") >>= nHeaderHeight;
+ if (m_aFollowPageStyle.is() && !HasFooter(true) && HasFooter(false))
+ m_aFollowPageStyle->getPropertyValue("FooterHeight") >>= nFooterHeight;
+ }
+ operator[]( PropertyDefinition( PROP_TOP_MARGIN, false )) = uno::makeAny( m_nTopMargin + nHeaderHeight );
+ operator[]( PropertyDefinition( PROP_BOTTOM_MARGIN, false )) = uno::makeAny( m_nBottomMargin + nFooterHeight );
}