diff options
author | Miklos Vajna <vmiklos@frugalware.org> | 2011-07-26 00:03:07 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@frugalware.org> | 2011-07-29 17:32:40 +0200 |
commit | d92d5aea5d1fa6dfdabe0fed66dbfb2bb6fcaf05 (patch) | |
tree | ad20d23f15ca2b428f5407db9c0bbd5aa4d81753 /writerfilter | |
parent | 8891e4a4ee4bfb50e6fa58248c411ce845359735 (diff) |
implement RTF_ATNDATE
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.cxx | 14 | ||||
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.hxx | 3 |
2 files changed, 16 insertions, 1 deletions
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index 872eae376b5b..b1fab2feddc7 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -675,6 +675,7 @@ void RTFDocumentImpl::text(OUString& rString) case DESTINATION_COMPANY: case DESTINATION_COMMENT: case DESTINATION_OBJDATA: + case DESTINATION_ANNOTATIONDATE: m_aDestinationText.append(rString); break; default: bRet = false; break; @@ -1020,6 +1021,9 @@ int RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword) case RTF_RESULT: m_aStates.top().nDestinationState = DESTINATION_RESULT; break; + case RTF_ATNDATE: + m_aStates.top().nDestinationState = DESTINATION_ANNOTATIONDATE; + break; case RTF_LISTTEXT: // Should be ignored by any reader that understands Word 97 through Word 2007 numbering. case RTF_NONESTTABLES: @@ -2580,6 +2584,16 @@ int RTFDocumentImpl::popState() } m_bObject = false; } + else if (m_aStates.top().nDestinationState == DESTINATION_ANNOTATIONDATE) + { + OUString aStr(OStringToOUString(lcl_DTTM22OString(m_aDestinationText.makeStringAndClear().toInt32()), + m_aStates.top().nCurrentEncoding)); + RTFValue::Pointer_t pValue(new RTFValue(aStr)); + RTFSprms_t aAnnAttributes; + aAnnAttributes.push_back(make_pair(NS_ooxml::LN_CT_TrackChange_date, pValue)); + writerfilter::Reference<Properties>::Pointer_t const pProperties(new RTFReferenceProperties(aAnnAttributes)); + Mapper().props(pProperties); + } // See if we need to end a track change RTFValue::Pointer_t pTrackchange = RTFSprm::find(m_aStates.top().aCharacterSprms, NS_ooxml::LN_trackchange); diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.hxx b/writerfilter/source/rtftok/rtfdocumentimpl.hxx index e86ae5e10d8f..ab3a09a4cb82 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.hxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.hxx @@ -108,7 +108,8 @@ namespace writerfilter { DESTINATION_COMMENT, DESTINATION_OBJECT, DESTINATION_OBJDATA, - DESTINATION_RESULT + DESTINATION_RESULT, + DESTINATION_ANNOTATIONDATE }; enum RTFBorderState |