chart2/source/view/main/ChartView.cxx   |    6 ++++++
 sw/qa/extras/layout/data/tdf134676.docx |binary
 sw/qa/extras/layout/layout.cxx          |   17 +++++++++++++++++
 3 files changed, 23 insertions(+)

New commits:
commit 4129658aeb4cb3afee71c22313bf8c26ce8a46fd
Author:     Tünde Tóth <tund...@gmail.com>
AuthorDate: Fri Jul 10 11:42:08 2020 +0200
Commit:     Gabor Kelemen <kelemen.gab...@nisz.hu>
CommitDate: Sun Sep 13 16:26:53 2020 +0200

    tdf#134676 Chart OOXML import: fix X axis title width
    
    Set length of the horizontal axis title box is about
    to 80% of the length of the chart area, to avoid of
    collision of axis titles, like MSO does.
    
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98484
    Tested-by: László Németh <nem...@numbertext.org>
    Reviewed-by: László Németh <nem...@numbertext.org>
    (cherry picked from commit 02c4b116cc927688fde8401413b126df72fc9b43)
    
    Change-Id: Ie01308e2ddc8c1c4d19f812231ede21ff939cb98
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102564
    Tested-by: Gabor Kelemen <kelemen.gab...@nisz.hu>
    Reviewed-by: Gabor Kelemen <kelemen.gab...@nisz.hu>

diff --git a/chart2/source/view/main/ChartView.cxx 
b/chart2/source/view/main/ChartView.cxx
index 18bf1c873644..cf9d9f11f50e 100644
--- a/chart2/source/view/main/ChartView.cxx
+++ b/chart2/source/view/main/ChartView.cxx
@@ -2167,6 +2167,12 @@ std::shared_ptr<VTitle> lcl_createTitle( 
TitleHelper::eTitleType eType
         aTextMaxWidth.Width = static_cast<sal_Int32>(rPageSize.Width * 0.8);
         aTextMaxWidth.Height = static_cast<sal_Int32>(rPageSize.Height * 0.5);
     }
+    else if (eType == TitleHelper::X_AXIS_TITLE || eType == 
TitleHelper::SECONDARY_X_AXIS_TITLE
+             || eType == TitleHelper::TITLE_AT_STANDARD_X_AXIS_POSITION)
+    {
+        aTextMaxWidth.Width = static_cast<sal_Int32>(rPageSize.Width * 0.8);
+        aTextMaxWidth.Height = static_cast<sal_Int32>(rPageSize.Height * 0.2);
+    }
     else if (eType == TitleHelper::Y_AXIS_TITLE || eType == 
TitleHelper::SECONDARY_Y_AXIS_TITLE
              || eType == TitleHelper::TITLE_AT_STANDARD_Y_AXIS_POSITION)
     {
diff --git a/sw/qa/extras/layout/data/tdf134676.docx 
b/sw/qa/extras/layout/data/tdf134676.docx
new file mode 100644
index 000000000000..2a7651dee32f
Binary files /dev/null and b/sw/qa/extras/layout/data/tdf134676.docx differ
diff --git a/sw/qa/extras/layout/layout.cxx b/sw/qa/extras/layout/layout.cxx
index 0228cae06346..fae3e8f7dfd6 100644
--- a/sw/qa/extras/layout/layout.cxx
+++ b/sw/qa/extras/layout/layout.cxx
@@ -2772,6 +2772,23 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testTdf134235)
     assertXPath(pXmlDoc, "//textarray", 14);
 }
 
+CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testTdf134676)
+{
+    SwDoc* pDoc = createDoc("tdf134676.docx");
+    SwDocShell* pShell = pDoc->GetDocShell();
+
+    // Dump the rendering of the first page as an XML file.
+    std::shared_ptr<GDIMetaFile> xMetaFile = pShell->GetPreviewMetaFile();
+    MetafileXmlDump dumper;
+    xmlDocPtr pXmlDoc = dumpAndParse(dumper, *xMetaFile);
+    CPPUNIT_ASSERT(pXmlDoc);
+    // Without the accompanying fix in place, this test would have failed with:
+    // - Expected: 14
+    // - Actual  : 13
+    // i.e. the X axis title didn't break to multiple lines.
+    assertXPath(pXmlDoc, "//textarray", 14);
+}
+
 CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testTdf134146)
 {
     SwDoc* pDoc = createDoc("tdf134146.docx");
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to