Kaydet (Commit) 59f5f666 authored tarafından Miklos Vajna's avatar Miklos Vajna

tdf#109137 sw textbox: fix initial wrap type of a shape's textbox

This was already working for the DOCX import by luck. Make the wrap type
explicit, so the ODF import has it correctly.

The wrap type for the hidden sw text frame ("textbox of a shape") should
be always "through", wrapping is only performed for the surrounding draw
shape.

Change-Id: Ice28cd5b517d544cfab4900dee32f01b534fee26
Reviewed-on: https://gerrit.libreoffice.org/58656
Tested-by: Jenkins
Reviewed-by: 's avatarMiklos Vajna <vmiklos@collabora.co.uk>
üst 7d800d0f
......@@ -8,6 +8,7 @@
*/
#include <swmodeltestbase.hxx>
#include <comphelper/propertysequence.hxx>
#include <test/mtfxmldump.hxx>
#include <com/sun/star/linguistic2/LinguServiceManager.hpp>
#include <comphelper/scopeguard.hxx>
......@@ -31,6 +32,7 @@ public:
void testTdf117923();
void testTdf109077();
void testUserFieldTypeLanguage();
void testTdf109137();
CPPUNIT_TEST_SUITE(SwLayoutWriter);
CPPUNIT_TEST(testTdf116830);
......@@ -45,6 +47,7 @@ public:
CPPUNIT_TEST(testTdf117923);
CPPUNIT_TEST(testTdf109077);
CPPUNIT_TEST(testUserFieldTypeLanguage);
CPPUNIT_TEST(testTdf109137);
CPPUNIT_TEST_SUITE_END();
private:
......@@ -274,6 +277,23 @@ void SwLayoutWriter::testUserFieldTypeLanguage()
assertXPath(pXmlDoc, "/root/page/body/txt/Special[@nType='POR_FLD']", "rText", "1,234.56");
}
void SwLayoutWriter::testTdf109137()
{
createDoc("tdf109137.docx");
uno::Reference<frame::XStorable> xStorable(mxComponent, uno::UNO_QUERY);
utl::TempFile aTempFile;
aTempFile.EnableKillingFile();
uno::Sequence<beans::PropertyValue> aDescriptor(comphelper::InitPropertySequence({
{ "FilterName", uno::Any(OUString("writer8")) },
}));
xStorable->storeToURL(aTempFile.GetURL(), aDescriptor);
loadURL(aTempFile.GetURL(), "tdf109137.odt");
xmlDocPtr pXmlDoc = parseLayoutDump();
// This was 0, the blue rectangle moved from the 1st to the 2nd page.
assertXPath(pXmlDoc, "/root/page[1]/body/txt/anchored/fly/notxt",
/*nNumberOfNodes=*/1);
}
CPPUNIT_TEST_SUITE_REGISTRATION(SwLayoutWriter);
CPPUNIT_PLUGIN_IMPLEMENT();
......
......@@ -86,6 +86,8 @@ void SwTextBoxHelper::create(SwFrameFormat* pShape)
xPropertySet->setPropertyValue(UNO_NAME_SIZE_TYPE, uno::makeAny(text::SizeType::FIX));
xPropertySet->setPropertyValue(UNO_NAME_SURROUND, uno::makeAny(text::WrapTextMode_THROUGH));
uno::Reference<container::XNamed> xNamed(xTextFrame, uno::UNO_QUERY);
xNamed->setName(pShape->GetDoc()->GetUniqueFrameName());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment