diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-03-14 15:51:25 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-03-14 16:04:15 +0100 |
commit | d05b67a7b9448c67c3a923ecb33dac74b52dd192 (patch) | |
tree | 66b6657f7238b6c086f230b256705efdd54b809b | |
parent | a83517bd1b99c170e7d3b2fd59af3e85d983c756 (diff) |
RTF import: anchor drawing objects at-character by default
Change-Id: I292ab1a6f12a9372b1cfdd4e8e59fbae57c6ceca
-rw-r--r-- | sw/qa/extras/rtfimport/data/dprect-anchor.rtf | 4 | ||||
-rw-r--r-- | sw/qa/extras/rtfimport/rtfimport.cxx | 6 | ||||
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.cxx | 4 |
3 files changed, 14 insertions, 0 deletions
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 000000000000..ac5675e5f975 --- /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 01814b92c1f3..f11f5ea4133f 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 f5935f6c076f..4eef7ea5d0b9 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)); |