summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBalazs Varga <balazs.varga991@gmail.com>2018-08-29 19:14:56 +0200
committerTamás Zolnai <tamas.zolnai@collabora.com>2018-08-30 13:03:03 +0200
commit7626dc2d81dc5eb647d6f8937cc1d220a8b8ef4b (patch)
tree896a74b53200c3349a7b6972a310a4f04f39574f
parent1f9f35177aca7000edd0ec5e68e4045e04cce535 (diff)
tdf#119562 Fix export of AutoFit property of shapes to XLSX
With this patch the "Resize shape to fit text" property (TextAutoGrowHeight) will be exported correctly to XLSX format. Change-Id: I488ceead452aef9096e7766f957de425c8486f85 Reviewed-on: https://gerrit.libreoffice.org/59778 Tested-by: Jenkins Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
-rw-r--r--oox/source/export/drawingml.cxx2
-rwxr-xr-xsc/qa/unit/data/xlsx/testShapeAutofit.xlsxbin0 -> 9349 bytes
-rw-r--r--sc/qa/unit/subsequent_export-test.cxx16
3 files changed, 17 insertions, 1 deletions
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index 2b74cb83ce85..c42a74a95267 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -2423,7 +2423,7 @@ void DrawingML::WriteText( const Reference< XInterface >& rXIface, const OUStrin
mpFS->singleElementNS(XML_a, XML_prstTxWarp, XML_prst, presetWarp.toUtf8().getStr(),
FSEND );
}
- if (GetDocumentType() == DOCUMENT_DOCX)
+ if (GetDocumentType() == DOCUMENT_DOCX || GetDocumentType() == DOCUMENT_XLSX)
{
bool bTextAutoGrowHeight = false;
GET(bTextAutoGrowHeight, TextAutoGrowHeight);
diff --git a/sc/qa/unit/data/xlsx/testShapeAutofit.xlsx b/sc/qa/unit/data/xlsx/testShapeAutofit.xlsx
new file mode 100755
index 000000000000..d5742cd1c854
--- /dev/null
+++ b/sc/qa/unit/data/xlsx/testShapeAutofit.xlsx
Binary files differ
diff --git a/sc/qa/unit/subsequent_export-test.cxx b/sc/qa/unit/subsequent_export-test.cxx
index 56546a588789..596cfe751e20 100644
--- a/sc/qa/unit/subsequent_export-test.cxx
+++ b/sc/qa/unit/subsequent_export-test.cxx
@@ -188,6 +188,7 @@ public:
void testTextUnderlineColorXLSX();
void testSheetRunParagraphPropertyXLSX();
void testHiddenShapeXLSX();
+ void testShapeAutofitXLSX();
void testHyperlinkXLSX();
void testMoveCellAnchoredShapesODS();
void testMatrixMultiplicationXLSX();
@@ -301,6 +302,7 @@ public:
CPPUNIT_TEST(testTextUnderlineColorXLSX);
CPPUNIT_TEST(testSheetRunParagraphPropertyXLSX);
CPPUNIT_TEST(testHiddenShapeXLSX);
+ CPPUNIT_TEST(testShapeAutofitXLSX);
CPPUNIT_TEST(testHyperlinkXLSX);
CPPUNIT_TEST(testMoveCellAnchoredShapesODS);
CPPUNIT_TEST(testMatrixMultiplicationXLSX);
@@ -3549,6 +3551,20 @@ void ScExportTest::testHiddenShapeXLSX()
assertXPath(pDoc, "/xdr:wsDr/xdr:twoCellAnchor/xdr:sp[1]/xdr:nvSpPr/xdr:cNvPr", "hidden", "1");
}
+void ScExportTest::testShapeAutofitXLSX()
+{
+ ScDocShellRef xDocSh = loadDoc("testShapeAutofit.", FORMAT_XLSX);
+ CPPUNIT_ASSERT(xDocSh.is());
+
+ xmlDocPtr pDoc = XPathHelper::parseExport2(*this, *xDocSh, m_xSFactory, "xl/drawings/drawing1.xml", FORMAT_XLSX);
+ CPPUNIT_ASSERT(pDoc);
+
+ // TextAutoGrowHeight --> "Fit height to text" / "Resize shape to fit text" --> true
+ assertXPath(pDoc, "/xdr:wsDr/xdr:twoCellAnchor[1]/xdr:sp/xdr:txBody/a:bodyPr/a:spAutoFit", 1);
+ // TextAutoGrowHeight --> "Fit height to text" / "Resize shape to fit text" --> false
+ assertXPath(pDoc, "/xdr:wsDr/xdr:twoCellAnchor[2]/xdr:sp/xdr:txBody/a:bodyPr/a:noAutofit", 1);
+}
+
void ScExportTest::testHyperlinkXLSX()
{
ScDocShellRef xDocSh = loadDoc("hyperlink.", FORMAT_XLSX);