[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0-29' - sw/qa writerfilter/source
Bakos Attila (via logerrit)
logerrit at kemper.freedesktop.org
Fri Jan 10 15:54:53 UTC 2020
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.attilakaroly at nisz.hu>
AuthorDate: Fri Jan 10 10:49:14 2020 +0100
Commit: Miklos Vajna <vmiklos at 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;
More information about the Libreoffice-commits
mailing list