sw/qa/extras/ww8export/ww8export.cxx | 11 ++++------- sw/source/filter/ww8/wrtww8.cxx | 17 ++++++++++++++++- sw/source/filter/ww8/ww8atr.cxx | 1 - 3 files changed, 20 insertions(+), 9 deletions(-)
New commits: commit cc0943a5db55811c7cb864c1a38ccabab6ad348f Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Thu Jan 9 17:39:02 2014 +0100 DOC export of annotation marks Change-Id: Ib29aef7838b9d31d7956c93e1aa5b896852e4b89 diff --git a/sw/qa/extras/ww8export/ww8export.cxx b/sw/qa/extras/ww8export/ww8export.cxx index 39f6c79..1c4a8d7 100644 --- a/sw/qa/extras/ww8export/ww8export.cxx +++ b/sw/qa/extras/ww8export/ww8export.cxx @@ -152,8 +152,6 @@ DECLARE_WW8EXPORT_TEST(testCharacterBorder, "charborder.odt") DECLARE_WW8EXPORT_TEST(testFdo59530, "fdo59530.doc") { -#if 0 - // FIXME port to AnnotationMarks // See ooxmlexport's testFdo38244(). // Test comment range feature. uno::Reference<text::XTextDocument> xTextDocument(mxComponent, uno::UNO_QUERY); @@ -163,10 +161,10 @@ DECLARE_WW8EXPORT_TEST(testFdo59530, "fdo59530.doc") uno::Reference<container::XEnumeration> xRunEnum = xRunEnumAccess->createEnumeration(); xRunEnum->nextElement(); uno::Reference<beans::XPropertySet> xPropertySet(xRunEnum->nextElement(), uno::UNO_QUERY); - CPPUNIT_ASSERT_EQUAL(OUString("TextFieldStart"), getProperty<OUString>(xPropertySet, "TextPortionType")); + CPPUNIT_ASSERT_EQUAL(OUString("Annotation"), getProperty<OUString>(xPropertySet, "TextPortionType")); xRunEnum->nextElement(); xPropertySet.set(xRunEnum->nextElement(), uno::UNO_QUERY); - CPPUNIT_ASSERT_EQUAL(OUString("TextFieldEnd"), getProperty<OUString>(xPropertySet, "TextPortionType")); + CPPUNIT_ASSERT_EQUAL(OUString("AnnotationEnd"), getProperty<OUString>(xPropertySet, "TextPortionType")); // Test initials. uno::Reference<text::XTextFieldsSupplier> xTextFieldsSupplier(mxComponent, uno::UNO_QUERY); @@ -181,14 +179,13 @@ DECLARE_WW8EXPORT_TEST(testFdo59530, "fdo59530.doc") xRunEnum = xRunEnumAccess->createEnumeration(); xRunEnum->nextElement(); xPropertySet.set(xRunEnum->nextElement(), uno::UNO_QUERY); - CPPUNIT_ASSERT_EQUAL(OUString("TextFieldStart"), getProperty<OUString>(xPropertySet, "TextPortionType")); + CPPUNIT_ASSERT_EQUAL(OUString("Annotation"), getProperty<OUString>(xPropertySet, "TextPortionType")); // Comment ends in the third paragraph xRunEnumAccess.set(xParaEnum->nextElement(), uno::UNO_QUERY); xRunEnum = xRunEnumAccess->createEnumeration(); xRunEnum->nextElement(); xPropertySet.set(xRunEnum->nextElement(), uno::UNO_QUERY); - CPPUNIT_ASSERT_EQUAL(OUString("TextFieldEnd"), getProperty<OUString>(xPropertySet, "TextPortionType")); -#endif + CPPUNIT_ASSERT_EQUAL(OUString("AnnotationEnd"), getProperty<OUString>(xPropertySet, "TextPortionType")); } #endif diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx index d8a3d92..a24cf5b 100644 --- a/sw/source/filter/ww8/wrtww8.cxx +++ b/sw/source/filter/ww8/wrtww8.cxx @@ -1387,8 +1387,23 @@ void WW8Export::AppendBookmarks( const SwTxtNode& rNd, sal_Int32 nAktPos, sal_In } } -void WW8Export::AppendAnnotationMarks( const SwTxtNode& /*rNd*/, sal_Int32 /*nAktPos*/, sal_Int32 /*nLen*/ ) +void WW8Export::AppendAnnotationMarks(const SwTxtNode& rNode, sal_Int32 nAktPos, sal_Int32 nLen) { + std::vector<OUString> aStarts; + IMarkVector aMarks; + if (GetAnnotationMarks(rNode, nAktPos, nAktPos + nLen, aMarks)) + { + for (IMarkVector::const_iterator it = aMarks.begin(), end = aMarks.end(); it != end; ++it) + { + sw::mark::IMark* pMark = (*it); + const sal_Int32 nStart = pMark->GetMarkStart().nContent.GetIndex(); + if (nStart == nAktPos) + { + pAtn->AddRangeStartPosition(Fc2Cp(Strm().Tell())); + return; + } + } + } } void WW8Export::MoveFieldMarks(WW8_CP nFrom, WW8_CP nTo) diff --git a/sw/source/filter/ww8/ww8atr.cxx b/sw/source/filter/ww8/ww8atr.cxx index 42f1a8b..418d20d 100644 --- a/sw/source/filter/ww8/ww8atr.cxx +++ b/sw/source/filter/ww8/ww8atr.cxx @@ -2490,7 +2490,6 @@ void WW8AttributeOutput::PostitField( const SwField* pFld ) void WW8AttributeOutput::WritePostitFieldStart() { - m_rWW8Export.pAtn->AddRangeStartPosition( m_rWW8Export.Fc2Cp( m_rWW8Export.Strm().Tell() ) ); } bool WW8AttributeOutput::DropdownField( const SwField* pFld ) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits