summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@frugalware.org>2011-07-26 00:03:07 +0200
committerMiklos Vajna <vmiklos@frugalware.org>2011-07-29 17:32:40 +0200
commitd92d5aea5d1fa6dfdabe0fed66dbfb2bb6fcaf05 (patch)
treead20d23f15ca2b428f5407db9c0bbd5aa4d81753 /writerfilter
parent8891e4a4ee4bfb50e6fa58248c411ce845359735 (diff)
implement RTF_ATNDATE
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx14
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.hxx3
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