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

Miklos Vajna vmiklos at collabora.co.uk
Fri Mar 14 08:04:42 PDT 2014


 sw/qa/extras/rtfimport/data/dprect-anchor.rtf  |    4 ++++
 sw/qa/extras/rtfimport/rtfimport.cxx           |    6 ++++++
 writerfilter/source/rtftok/rtfdocumentimpl.cxx |    4 ++++
 3 files changed, 14 insertions(+)

New commits:
commit d05b67a7b9448c67c3a923ecb33dac74b52dd192
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Fri Mar 14 15:51:25 2014 +0100

    RTF import: anchor drawing objects at-character by default
    
    Change-Id: I292ab1a6f12a9372b1cfdd4e8e59fbae57c6ceca

diff --git a/sw/qa/extras/rtfimport/data/dprect-anchor.rtf b/sw/qa/extras/rtfimport/data/dprect-anchor.rtf
new file mode 100644
index 0000000..ac5675e
--- /dev/null
+++ b/sw/qa/extras/rtfimport/data/dprect-anchor.rtf
@@ -0,0 +1,4 @@
+{\rtf1
+{\colortbl\red255\green255\blue255; \red0\green0\blue0; }
+{\*\do\dobxpage\dobypara\dodhgt8192\dprect\dproundr\dpx9807\dpy3968\dpxsize1644\dpysize566\dplinecor255\dplinecog255\dplinecob255\dpfillbgcr0\dpfillbgcg0\dpfillbgcb0\dpfillpat1\dplinehollow0}
+}
diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx
index 01814b9..f11f5ea 100644
--- a/sw/qa/extras/rtfimport/rtfimport.cxx
+++ b/sw/qa/extras/rtfimport/rtfimport.cxx
@@ -1534,6 +1534,12 @@ DECLARE_RTFIMPORT_TEST(testDptxbxRelation, "dptxbx-relation.rtf")
     CPPUNIT_ASSERT_EQUAL(text::RelOrientation::PAGE_FRAME, getProperty<sal_Int16>(getShape(1), "HoriOrientRelation"));
 }
 
+DECLARE_RTFIMPORT_TEST(testDprectAnchor, "dprect-anchor.rtf")
+{
+    // This was at-page, which is not something Word supports, so clearly an import error.
+    CPPUNIT_ASSERT_EQUAL(text::TextContentAnchorType_AT_CHARACTER, getProperty<text::TextContentAnchorType>(getShape(1), "AnchorType"));
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index f5935f6..4eef7ea 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -19,6 +19,7 @@
 #include <com/sun/star/text/VertOrientation.hpp>
 #include <com/sun/star/text/RelOrientation.hpp>
 #include <com/sun/star/text/WrapTextMode.hpp>
+#include <com/sun/star/text/TextContentAnchorType.hpp>
 #include <rtl/tencinfo.h>
 #include <svl/lngmisc.hxx>
 #include <unotools/ucbstreamhelper.hxx>
@@ -4611,6 +4612,9 @@ int RTFDocumentImpl::popState()
                 uno::Reference<lang::XServiceInfo> xServiceInfo(xShape, uno::UNO_QUERY);
                 bool bTextFrame = xServiceInfo->supportsService("com.sun.star.text.TextFrame");
 
+                // The default is certainly not inline, but then what Word supports is just at-character.
+                xPropertySet->setPropertyValue("AnchorType", uno::makeAny(text::TextContentAnchorType_AT_CHARACTER));
+
                 if (bTextFrame)
                 {
                     xPropertySet->setPropertyValue("HoriOrientPosition", uno::makeAny((sal_Int32)rDrawing.nLeft));


More information about the Libreoffice-commits mailing list