[Libreoffice-commits] core.git: chart2/source sw/qa

Balazs Varga (via logerrit) logerrit at kemper.freedesktop.org
Wed May 22 06:10:30 UTC 2019


 chart2/source/view/charttypes/VSeriesPlotter.cxx |    7 ++++++-
 sw/qa/extras/layout/data/tdf125335.odt           |binary
 sw/qa/extras/layout/layout.cxx                   |   20 +++++++++++++++++++-
 3 files changed, 25 insertions(+), 2 deletions(-)

New commits:
commit 729c8d135b6b958e6d2cd87ee72166ecdb0afbfc
Author:     Balazs Varga <balazs.varga991 at gmail.com>
AuthorDate: Tue May 21 10:18:26 2019 +0200
Commit:     László Németh <nemeth at numbertext.org>
CommitDate: Wed May 22 08:09:53 2019 +0200

    tdf#125335 fix order of bar chart legend names in top-bottom positions
    
    by considering the axis direction.
    
    Note: Legend name order in left/right position was fixed in
    commit 40144617ce05d7eff86eeb8a412c6991fe0b819e
    
    Change-Id: Id5bd585a666c3bcf346af5317e9197e6460f932a
    Reviewed-on: https://gerrit.libreoffice.org/72670
    Reviewed-by: László Németh <nemeth at numbertext.org>
    Tested-by: László Németh <nemeth at numbertext.org>

diff --git a/chart2/source/view/charttypes/VSeriesPlotter.cxx b/chart2/source/view/charttypes/VSeriesPlotter.cxx
index 17f044654535..350254c14764 100644
--- a/chart2/source/view/charttypes/VSeriesPlotter.cxx
+++ b/chart2/source/view/charttypes/VSeriesPlotter.cxx
@@ -2402,7 +2402,7 @@ std::vector< ViewLegendEntry > VSeriesPlotter::createLegendEntries(
 
                     // add entries reverse if chart is stacked in y-direction and the legend is not wide.
                     // If the legend is wide and we have a stacked bar-chart the normal order
-                    // is the correct one
+                    // is the correct one, unless the chart type is horizontal bar-chart.
                     bool bReverse = false;
                     if( eLegendExpansion != css::chart::ChartLegendExpansion_WIDE )
                     {
@@ -2414,6 +2414,11 @@ std::vector< ViewLegendEntry > VSeriesPlotter::createLegendEntries(
                             bReverse = !bReverse;
                         }
                     }
+                    else if( bSwapXAndY )
+                    {
+                        StackingDirection eStackingDirection( pSeries->getStackingDirection() );
+                        bReverse = ( eStackingDirection != StackingDirection_Y_STACKING );
+                    }
 
                     if (bReverse)
                         aResult.insert( aResult.begin(), aSeriesEntries.begin(), aSeriesEntries.end() );
diff --git a/sw/qa/extras/layout/data/tdf125335.odt b/sw/qa/extras/layout/data/tdf125335.odt
new file mode 100644
index 000000000000..992d93471001
Binary files /dev/null and b/sw/qa/extras/layout/data/tdf125335.odt differ
diff --git a/sw/qa/extras/layout/layout.cxx b/sw/qa/extras/layout/layout.cxx
index 93cd45e1f429..1175d25ef573 100644
--- a/sw/qa/extras/layout/layout.cxx
+++ b/sw/qa/extras/layout/layout.cxx
@@ -2306,7 +2306,25 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testTdf114163)
         pXmlDoc,
         "/metafile/push[1]/push[1]/push[1]/push[3]/push[1]/push[1]/push[1]/textarray[12]/text",
         "Data3");
-    // This failed, if the legend first label is not "Data3".
+    // This failed, if the legend first label is not "Data3". The legend position is right.
+}
+
+CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testTdf125335)
+{
+    SwDoc* pDoc = createDoc("tdf125335.odt");
+    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);
+
+    assertXPathContent(
+        pXmlDoc,
+        "/metafile/push[1]/push[1]/push[1]/push[3]/push[1]/push[1]/push[1]/textarray[12]/text",
+        "Data3");
+    // This failed, if the legend first label is not "Data3". The legend position is bottom.
 }
 
 CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testTdf108021)


More information about the Libreoffice-commits mailing list