sw/qa/extras/ooxmlexport/data/tdf128207.docx |binary sw/qa/extras/ooxmlexport/ooxmlexport11.cxx | 6 ++++++ writerfilter/source/dmapper/DomainMapper_Impl.cxx | 4 ++++ writerfilter/source/dmapper/GraphicImport.cxx | 5 +++++ writerfilter/source/dmapper/GraphicImport.hxx | 2 ++ 5 files changed, 17 insertions(+)
New commits: commit ba18069e9708f60452f7b5f2306b407780dd898d Author: Bakos Attila <bakos.attilakar...@nisz.hu> AuthorDate: Fri Jan 10 10:49:14 2020 +0100 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Fri Jan 10 16:17:15 2020 +0100 tdf#128207: DOCX import: fix chart positioning Embedded graphic objects had got 0 values for vertical and horizontal positioning before, resulting overlapping, hidden charts, but now they are positioned according to the values in the document. (cherry picked from commit d9c535ead688e9f156dbcf43948df08a69e218be) Conflicts: sw/qa/extras/ooxmlexport/ooxmlexport14.cxx [ Miklos: reworked the testcase to use the UNO API, the other way would only work on master. ] Change-Id: Ia5403ac65ff7192d61072e8a9d8a7f80c7178b9b diff --git a/sw/qa/extras/ooxmlexport/data/tdf128207.docx b/sw/qa/extras/ooxmlexport/data/tdf128207.docx new file mode 100644 index 000000000000..c234ec8bc10f Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/tdf128207.docx differ diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx index b8214f664e42..a4e435c62f78 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx @@ -450,6 +450,12 @@ DECLARE_OOXMLEXPORT_TEST(testTdf123636_newlinePageBreak4, "tdf123636_newlinePage assertXPath(pDump, "/root/page[2]/body/txt[1]/Text", 0); } +DECLARE_OOXMLIMPORT_TEST(testTdf128207, "tdf128207.docx") +{ + //There was the charts on each other, because their horizontal and vertical position was 0! + CPPUNIT_ASSERT_EQUAL(sal_Int32(12), getProperty<sal_Int32>(getShape(1), "HoriOrientPosition")); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index f17a52da1697..d5fbaa9f2af6 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -5146,6 +5146,10 @@ void DomainMapper_Impl::ImportGraphic(const writerfilter::Reference< Properties // Update the shape properties if it is embedded object. if(m_xEmbedded.is()){ + if (m_pGraphicImport->GetXShapeObject()) + m_pGraphicImport->GetXShapeObject()->setPosition( + m_pGraphicImport->GetGraphicObjectPosition()); + uno::Reference<drawing::XShape> xShape = m_pGraphicImport->GetXShapeObject(); UpdateEmbeddedShapeProps(xShape); if (eGraphicImportType == IMPORT_AS_DETECTED_ANCHOR) diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx index 6830e9db71b1..76f36045ea4e 100644 --- a/writerfilter/source/dmapper/GraphicImport.cxx +++ b/writerfilter/source/dmapper/GraphicImport.cxx @@ -423,6 +423,11 @@ GraphicImport::~GraphicImport() { } +com::sun::star::awt::Point GraphicImport::GetGraphicObjectPosition() +{ + return (com::sun::star::awt::Point(m_pImpl->nLeftPosition, m_pImpl->nTopPosition)); +} + void GraphicImport::handleWrapTextValue(sal_uInt32 nVal) { switch (nVal) diff --git a/writerfilter/source/dmapper/GraphicImport.hxx b/writerfilter/source/dmapper/GraphicImport.hxx index f513632e966b..c2dc01a51317 100644 --- a/writerfilter/source/dmapper/GraphicImport.hxx +++ b/writerfilter/source/dmapper/GraphicImport.hxx @@ -94,6 +94,8 @@ public: const css::uno::Reference<css::drawing::XShape>& GetXShapeObject() { return m_xShape;} bool IsGraphic() const; + com::sun::star::awt::Point GetGraphicObjectPosition(); + private: // Properties virtual void lcl_attribute(Id Name, Value & val) override; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits