diff options
author | Balazs Varga <balazs.varga991@gmail.com> | 2018-09-05 15:07:48 +0200 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2018-09-12 09:43:29 +0200 |
commit | 957ae94721fe1ba08215dced0b754d0c6b463e74 (patch) | |
tree | 82ca7b8d4a7687fbd5fa744d8fa18708029bbdfa | |
parent | 576acb6f764308d5bcd07da5be9851b46b42d48b (diff) |
tdf#119617 Fix export of Autofit property of shapes to PPTX
With this patch the "Resize shape to fit text" property
(TextAutoGrowHeight-->spAutofit/noAutofit) will be exported
correctly to PPTX format.
Change-Id: I5fa975c6390a17bad30c360b3b17aa944bbe72af
Reviewed-on: https://gerrit.libreoffice.org/60043
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit 86b14cc8bd910651cef422a0f7408adc0fc51a17)
-rw-r--r-- | oox/source/export/drawingml.cxx | 6 | ||||
-rwxr-xr-x | sd/qa/unit/data/pptx/testShapeAutofit.pptx | bin | 0 -> 35044 bytes | |||
-rw-r--r-- | sd/qa/unit/export-tests-ooxml2.cxx | 16 |
3 files changed, 22 insertions, 0 deletions
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx index 3930fb224e28..9663d4db1905 100644 --- a/oox/source/export/drawingml.cxx +++ b/oox/source/export/drawingml.cxx @@ -2419,6 +2419,12 @@ void DrawingML::WriteText( const Reference< XInterface >& rXIface, const OUStrin mpFS->singleElementNS(XML_a, XML_normAutofit, XML_fontScale, ( nFontScale < MAX_SCALE_VAL && nFontScale > 0 ) ? I32S(nFontScale) : nullptr, FSEND); } + else + { + bool bTextAutoGrowHeight = false; + GET(bTextAutoGrowHeight, TextAutoGrowHeight); + mpFS->singleElementNS(XML_a, (bTextAutoGrowHeight ? XML_spAutoFit : XML_noAutofit), FSEND); + } } mpFS->endElementNS((nXmlNamespace ? nXmlNamespace : XML_a), XML_bodyPr); } diff --git a/sd/qa/unit/data/pptx/testShapeAutofit.pptx b/sd/qa/unit/data/pptx/testShapeAutofit.pptx Binary files differnew file mode 100755 index 000000000000..fd402c01c895 --- /dev/null +++ b/sd/qa/unit/data/pptx/testShapeAutofit.pptx diff --git a/sd/qa/unit/export-tests-ooxml2.cxx b/sd/qa/unit/export-tests-ooxml2.cxx index 4d8de84766f0..cdf638d841bd 100644 --- a/sd/qa/unit/export-tests-ooxml2.cxx +++ b/sd/qa/unit/export-tests-ooxml2.cxx @@ -130,6 +130,7 @@ public: void testTdf107608(); void testTdf111786(); void testFontScale(); + void testShapeAutofitPPTX(); void testTdf115394(); void testTdf115394Zero(); void testTdf111789(); @@ -195,6 +196,7 @@ public: CPPUNIT_TEST(testTdf107608); CPPUNIT_TEST(testTdf111786); CPPUNIT_TEST(testFontScale); + CPPUNIT_TEST(testShapeAutofitPPTX); CPPUNIT_TEST(testTdf115394); CPPUNIT_TEST(testTdf115394Zero); CPPUNIT_TEST(testTdf111789); @@ -1431,6 +1433,20 @@ void SdOOXMLExportTest2::testFontScale() xDocShRef->DoClose(); } +void SdOOXMLExportTest2::testShapeAutofitPPTX() +{ + sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc("/sd/qa/unit/data/pptx/testShapeAutofit.pptx"), PPTX); + utl::TempFile tempFile; + xDocShRef = saveAndReload(xDocShRef.get(), PPTX, &tempFile); + xmlDocPtr pXmlDocContent = parseExport(tempFile, "ppt/slides/slide1.xml"); + CPPUNIT_ASSERT(pXmlDocContent); + + // TextAutoGrowHeight --> "Resize shape to fit text" --> true + assertXPath(pXmlDocContent, "/p:sld/p:cSld/p:spTree/p:sp[1]/p:txBody/a:bodyPr/a:spAutoFit", 1); + // TextAutoGrowHeight --> "Resize shape to fit text" --> false + assertXPath(pXmlDocContent, "/p:sld/p:cSld/p:spTree/p:sp[2]/p:txBody/a:bodyPr/a:noAutofit", 1); +} + void SdOOXMLExportTest2::testTdf115394() { sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc("/sd/qa/unit/data/pptx/tdf115394.pptx"), PPTX); |