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

DOC export of annotation marks

Change-Id: Ib29aef7838b9d31d7956c93e1aa5b896852e4b89
üst 6af2caab
...@@ -152,8 +152,6 @@ DECLARE_WW8EXPORT_TEST(testCharacterBorder, "charborder.odt") ...@@ -152,8 +152,6 @@ DECLARE_WW8EXPORT_TEST(testCharacterBorder, "charborder.odt")
DECLARE_WW8EXPORT_TEST(testFdo59530, "fdo59530.doc") DECLARE_WW8EXPORT_TEST(testFdo59530, "fdo59530.doc")
{ {
#if 0
// FIXME port to AnnotationMarks
// See ooxmlexport's testFdo38244(). // See ooxmlexport's testFdo38244().
// Test comment range feature. // Test comment range feature.
uno::Reference<text::XTextDocument> xTextDocument(mxComponent, uno::UNO_QUERY); uno::Reference<text::XTextDocument> xTextDocument(mxComponent, uno::UNO_QUERY);
...@@ -163,10 +161,10 @@ DECLARE_WW8EXPORT_TEST(testFdo59530, "fdo59530.doc") ...@@ -163,10 +161,10 @@ DECLARE_WW8EXPORT_TEST(testFdo59530, "fdo59530.doc")
uno::Reference<container::XEnumeration> xRunEnum = xRunEnumAccess->createEnumeration(); uno::Reference<container::XEnumeration> xRunEnum = xRunEnumAccess->createEnumeration();
xRunEnum->nextElement(); xRunEnum->nextElement();
uno::Reference<beans::XPropertySet> xPropertySet(xRunEnum->nextElement(), uno::UNO_QUERY); 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(); xRunEnum->nextElement();
xPropertySet.set(xRunEnum->nextElement(), uno::UNO_QUERY); 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. // Test initials.
uno::Reference<text::XTextFieldsSupplier> xTextFieldsSupplier(mxComponent, uno::UNO_QUERY); uno::Reference<text::XTextFieldsSupplier> xTextFieldsSupplier(mxComponent, uno::UNO_QUERY);
...@@ -181,14 +179,13 @@ DECLARE_WW8EXPORT_TEST(testFdo59530, "fdo59530.doc") ...@@ -181,14 +179,13 @@ DECLARE_WW8EXPORT_TEST(testFdo59530, "fdo59530.doc")
xRunEnum = xRunEnumAccess->createEnumeration(); xRunEnum = xRunEnumAccess->createEnumeration();
xRunEnum->nextElement(); xRunEnum->nextElement();
xPropertySet.set(xRunEnum->nextElement(), uno::UNO_QUERY); 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 // Comment ends in the third paragraph
xRunEnumAccess.set(xParaEnum->nextElement(), uno::UNO_QUERY); xRunEnumAccess.set(xParaEnum->nextElement(), uno::UNO_QUERY);
xRunEnum = xRunEnumAccess->createEnumeration(); xRunEnum = xRunEnumAccess->createEnumeration();
xRunEnum->nextElement(); xRunEnum->nextElement();
xPropertySet.set(xRunEnum->nextElement(), uno::UNO_QUERY); 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"));
#endif
} }
#endif #endif
......
...@@ -1387,8 +1387,23 @@ void WW8Export::AppendBookmarks( const SwTxtNode& rNd, sal_Int32 nAktPos, sal_In ...@@ -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) void WW8Export::MoveFieldMarks(WW8_CP nFrom, WW8_CP nTo)
......
...@@ -2490,7 +2490,6 @@ void WW8AttributeOutput::PostitField( const SwField* pFld ) ...@@ -2490,7 +2490,6 @@ void WW8AttributeOutput::PostitField( const SwField* pFld )
void WW8AttributeOutput::WritePostitFieldStart() void WW8AttributeOutput::WritePostitFieldStart()
{ {
m_rWW8Export.pAtn->AddRangeStartPosition( m_rWW8Export.Fc2Cp( m_rWW8Export.Strm().Tell() ) );
} }
bool WW8AttributeOutput::DropdownField( const SwField* pFld ) bool WW8AttributeOutput::DropdownField( const SwField* pFld )
......
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