tdf#140623 Chart OOXML import: set text overlap to false

of category axis label unless the rotation is 0 in xml.

Regression from commit: 21620f9d2f
(tdf#138194 Chart OOXML import: set text break to true)

Change-Id: I18db7483f49c84a83760200037f8858a3b471994
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116575
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
This commit is contained in:
Tünde Tóth
2021-06-02 11:51:13 +02:00
committed by László Németh
parent ff44c5f6bc
commit 6185d1ff01
3 changed files with 17 additions and 9 deletions

View File

@@ -271,10 +271,12 @@ void AxisConverter::convertFromModel(const Reference<XCoordinateSystem>& rxCoord
}
else
{
// do not overlap text when the rotation is undefined in xml
bool bTextOverlap
= mrModel.mxTextProp.is()
&& mrModel.mxTextProp->getTextProperties().moRotation.has();
// do not overlap text unless the rotation is 0 in xml
bool bTextOverlap = false;
if (mrModel.mxTextProp.is()
&& mrModel.mxTextProp->getTextProperties().moRotation.has())
bTextOverlap
= mrModel.mxTextProp->getTextProperties().moRotation.get() == 0;
aAxisProp.setProperty(PROP_TextOverlap, bTextOverlap);
/* do not break text into several lines unless the rotation is 0 degree,
or the rotation is 90 degree and the inner size of the chart is not fixed,

View File

@@ -409,7 +409,6 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter2, testTdf131707)
assertXPath(pXmlDoc, "//body/tab/row[3]/cell[2]/txt/anchored/fly/infos/bounds", "top", "2185");
}
#if HAVE_MORE_FONTS
CPPUNIT_TEST_FIXTURE(SwLayoutWriter2, testTdf122225)
{
SwDoc* pDoc = createDoc("tdf122225.docx");
@@ -421,12 +420,19 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter2, testTdf122225)
xmlDocUniquePtr pXmlDoc = dumpAndParse(dumper, *xMetaFile);
CPPUNIT_ASSERT(pXmlDoc);
assertXPathContent(pXmlDoc,
"/metafile/push[1]/push[1]/push[1]/push[4]/push[1]/textarray[8]/text",
"Advanced Diploma");
// Bug 122225 - FILEOPEN DOCX Textbox of Column chart legend reduces and text of legend disappears
const sal_Int32 nLegendLabelLines
= getXPathContent(pXmlDoc, "count(//text[contains(text(),\"Advanced Diploma\")])")
.toInt32();
// This failed, if the legend label is not "Advanced Diploma".
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(1), nLegendLabelLines);
// Bug 140623 - Fileopen DOCX: Text Orientation of X-Axis 0 instead of 45 degrees
const sal_Int32 nThirdLabelLines
= getXPathContent(pXmlDoc, "count(//text[contains(text(),\"Hispanic\")])").toInt32();
// This failed, if the third X axis label broke to multiple lines.
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(1), nThirdLabelLines);
}
#endif
CPPUNIT_TEST_FIXTURE(SwLayoutWriter2, testTdf125335)
{