sw/qa/extras/ooxmlimport/data/n777337.docx |binary sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 20 ++++++++++++++++++-- writerfilter/source/dmapper/PropertyMap.cxx | 4 ++++ 3 files changed, 22 insertions(+), 2 deletions(-)
New commits: commit dd11bca8ab191ce10054a5f2de7010ca400eb0b5 Author: Miklos Vajna <vmik...@suse.cz> Date: Thu Aug 30 09:11:58 2012 +0100 n#777337 testcase Also remove the #if 0 I forgot to remove previously. Change-Id: I2cc5e1407c509414c8395d0fd63ab3b379bef04f diff --git a/sw/qa/extras/ooxmlimport/data/n777337.docx b/sw/qa/extras/ooxmlimport/data/n777337.docx new file mode 100644 index 0000000..8bb377d Binary files /dev/null and b/sw/qa/extras/ooxmlimport/data/n777337.docx differ diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx index 00e36b8..ec61993 100644 --- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx +++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx @@ -88,10 +88,10 @@ public: void testN775906(); void testN775899(); void testN777345(); + void testN777337(); CPPUNIT_TEST_SUITE(Test); #if !defined(MACOSX) && !defined(WNT) -#if 0 CPPUNIT_TEST(testN751054); CPPUNIT_TEST(testN751117); CPPUNIT_TEST(testN751017); @@ -118,8 +118,8 @@ public: CPPUNIT_TEST(testAllGapsWord); CPPUNIT_TEST(testN775906); CPPUNIT_TEST(testN775899); -#endif CPPUNIT_TEST(testN777345); + CPPUNIT_TEST(testN777337); #endif CPPUNIT_TEST_SUITE_END(); @@ -785,6 +785,22 @@ void Test::testN777345() CPPUNIT_ASSERT_EQUAL(sal_uLong(2404338915U), aGraphic.GetChecksum()); } +void Test::testN777337() +{ + /* + * The problem was that the top and bottom margin on the first page was only 0.1cm instead of 1.7cm. + * + * oFirst = ThisComponent.StyleFamilies.PageStyles.getByName("First Page") + * xray oFirst.TopMargin + * xray oFirst.BottomMargin + */ + load("n777337.docx"); + + uno::Reference<beans::XPropertySet> xPropertySet(getStyles("PageStyles")->getByName("First Page"), uno::UNO_QUERY); + CPPUNIT_ASSERT_EQUAL(sal_Int32(1702), getProperty<sal_Int32>(xPropertySet, "TopMargin")); + CPPUNIT_ASSERT_EQUAL(sal_Int32(1702), getProperty<sal_Int32>(xPropertySet, "BottomMargin")); +} + CPPUNIT_TEST_SUITE_REGISTRATION(Test); CPPUNIT_PLUGIN_IMPLEMENT(); commit a474559ff1e560b83952f00595dbd8ae7fde88b6 Author: Miklos Vajna <vmik...@suse.cz> Date: Thu Aug 30 09:11:17 2012 +0100 n#777337 fix DOCX import of title page top/bottom margin with headers/footers SectionPropertyMap::PrepareHeaderFooterProperties() already backed up m_nTopMargin to have the same result when that method is called multiple times. Do the same for the header footer height values as well to match the WW8 behaviour. Change-Id: Ib2347abc3db39308900c7721c0e15de040d9a01f diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx index 70bb53b..aceba89 100644 --- a/writerfilter/source/dmapper/PropertyMap.cxx +++ b/writerfilter/source/dmapper/PropertyMap.cxx @@ -712,6 +712,7 @@ void SectionPropertyMap::CopyLastHeaderFooter( bool bFirstPage, DomainMapper_Imp void SectionPropertyMap::PrepareHeaderFooterProperties( bool bFirstPage ) { sal_Int32 nTopMargin = m_nTopMargin; + sal_Int32 nHeaderTop = m_nHeaderTop; if(HasHeader(bFirstPage)) { m_nTopMargin = m_nHeaderTop; @@ -745,6 +746,7 @@ void SectionPropertyMap::PrepareHeaderFooterProperties( bool bFirstPage ) } sal_Int32 nBottomMargin = m_nBottomMargin; + sal_Int32 nHeaderBottom = m_nHeaderBottom; if( HasFooter( bFirstPage ) ) { m_nBottomMargin = m_nHeaderBottom; @@ -779,6 +781,8 @@ void SectionPropertyMap::PrepareHeaderFooterProperties( bool bFirstPage ) // Restore original top margin, so we don't end up with a smaller margin in case we have to produce two page styles from one Word section. m_nTopMargin = nTopMargin; + m_nHeaderTop = nHeaderTop; + m_nHeaderBottom = nHeaderBottom; } uno::Reference<beans::XPropertySet> lcl_GetRangeProperties(bool bIsFirstSection, DomainMapper_Impl& rDM_Impl, uno::Reference<text::XTextRange> xStartingRange) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits