From b359b451e58d06d7b2974c996492a5035a7235a3 Mon Sep 17 00:00:00 2001 From: RĂ¼diger Timm Date: Tue, 13 Jul 2004 06:47:15 +0000 Subject: INTEGRATION: CWS oasis (1.20.16); FILE MERGED 2004/07/01 13:04:42 sab 1.20.16.2: #i20153#; oasis changes 2004/06/24 14:58:52 sab 1.20.16.1: #i20153#; oasis changes --- sc/source/filter/xml/XMLTrackedChangesContext.cxx | 97 ++++++++++++++--------- 1 file changed, 58 insertions(+), 39 deletions(-) (limited to 'sc/source/filter/xml/XMLTrackedChangesContext.cxx') diff --git a/sc/source/filter/xml/XMLTrackedChangesContext.cxx b/sc/source/filter/xml/XMLTrackedChangesContext.cxx index 415f54a44d29..8bfeb99f4797 100644 --- a/sc/source/filter/xml/XMLTrackedChangesContext.cxx +++ b/sc/source/filter/xml/XMLTrackedChangesContext.cxx @@ -2,9 +2,9 @@ * * $RCSfile: XMLTrackedChangesContext.cxx,v $ * - * $Revision: 1.20 $ + * $Revision: 1.21 $ * - * last change: $Author: obo $ $Date: 2004-06-04 11:12:05 $ + * last change: $Author: rt $ $Date: 2004-07-13 07:47:15 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -121,7 +121,9 @@ using namespace xmloff::token; class ScXMLChangeInfoContext : public SvXMLImportContext { ScMyActionInfo aInfo; - rtl::OUStringBuffer sBuffer; + ::rtl::OUStringBuffer sAuthorBuffer; + ::rtl::OUStringBuffer sDateTimeBuffer; + ::rtl::OUStringBuffer sCommentBuffer; ScXMLChangeTrackingImportHelper* pChangeTrackingImportHelper; sal_uInt32 nParagraphCount; @@ -704,11 +706,11 @@ ScXMLChangeInfoContext::ScXMLChangeInfoContext( ScXMLImport& rImport, { if (IsXMLToken(aLocalName, XML_CHG_AUTHOR)) { - aInfo.sUser = sValue; + sAuthorBuffer = sValue; } else if (IsXMLToken(aLocalName, XML_CHG_DATE_TIME)) { - GetScImport().GetMM100UnitConverter().convertDateTime(aInfo.aDateTime, sValue); + sDateTimeBuffer = sValue; } } } @@ -725,12 +727,21 @@ SvXMLImportContext *ScXMLChangeInfoContext::CreateChildContext( USHORT nPrefix, { SvXMLImportContext *pContext = 0; - if ((nPrefix == XML_NAMESPACE_TEXT) && (IsXMLToken(rLocalName, XML_P)) ) + if( XML_NAMESPACE_DC == nPrefix ) + { + if( IsXMLToken( rLocalName, XML_CREATOR ) ) + pContext = new ScXMLContentContext(GetScImport(), nPrefix, + rLocalName, xAttrList, sAuthorBuffer); + else if( IsXMLToken( rLocalName, XML_DATE ) ) + pContext = new ScXMLContentContext(GetScImport(), nPrefix, + rLocalName, xAttrList, sDateTimeBuffer); + } + else if ((nPrefix == XML_NAMESPACE_TEXT) && (IsXMLToken(rLocalName, XML_P)) ) { if(nParagraphCount) - sBuffer.append(static_cast('\n')); + sCommentBuffer.append(static_cast('\n')); nParagraphCount++; - pContext = new ScXMLContentContext( GetScImport(), nPrefix, rLocalName, xAttrList, sBuffer); + pContext = new ScXMLContentContext( GetScImport(), nPrefix, rLocalName, xAttrList, sCommentBuffer); } if( !pContext ) @@ -741,7 +752,9 @@ SvXMLImportContext *ScXMLChangeInfoContext::CreateChildContext( USHORT nPrefix, void ScXMLChangeInfoContext::EndElement() { - aInfo.sComment = sBuffer.makeStringAndClear(); + aInfo.sUser = sAuthorBuffer.makeStringAndClear(); + GetScImport().GetMM100UnitConverter().convertDateTime(aInfo.aDateTime, sDateTimeBuffer.makeStringAndClear()); + aInfo.sComment = sCommentBuffer.makeStringAndClear(); pChangeTrackingImportHelper->SetActionInfo(aInfo); } @@ -1209,6 +1222,37 @@ ScXMLChangeCellContext::ScXMLChangeCellContext( ScXMLImport& rImport, rtl::OUString sValue = xAttrList->getValueByIndex( i ); if (nPrefix == XML_NAMESPACE_TABLE) + { + if (IsXMLToken(aLocalName, XML_FORMULA)) + { + bEmpty = sal_False; + sal_uInt16 nPrefix = GetImport().GetNamespaceMap(). + GetKeyByAttrName( sValue, &rFormula ); + if (XML_NAMESPACE_OOOC != nPrefix) + rFormula = sValue; + ScXMLConverter::ParseFormula(rFormula); + bFormula = sal_True; + } + else if (IsXMLToken(aLocalName, XML_CELL_ADDRESS)) + { + rAddress = sValue; + } + else if (IsXMLToken(aLocalName, XML_MATRIX_COVERED)) + { + bIsCoveredMatrix = IsXMLToken(sValue, XML_TRUE); + } + else if (IsXMLToken(aLocalName, XML_NUMBER_MATRIX_COLUMNS_SPANNED)) + { + bIsMatrix = sal_True; + SvXMLUnitConverter::convertNumber(nMatrixCols, sValue); + } + else if (IsXMLToken(aLocalName, XML_NUMBER_MATRIX_ROWS_SPANNED)) + { + bIsMatrix = sal_True; + SvXMLUnitConverter::convertNumber(nMatrixRows, sValue); + } + } + else if (nPrefix == XML_NAMESPACE_OFFICE) { if (IsXMLToken(aLocalName, XML_VALUE_TYPE)) { @@ -1243,31 +1287,6 @@ ScXMLChangeCellContext::ScXMLChangeCellContext( ScXMLImport& rImport, GetScImport().GetMM100UnitConverter().convertTime(rDateTimeValue, sValue); fValue = rDateTimeValue; } - else if (IsXMLToken(aLocalName, XML_FORMULA)) - { - bEmpty = sal_False; - rFormula = sValue; - ScXMLConverter::ParseFormula(rFormula); - bFormula = sal_True; - } - else if (IsXMLToken(aLocalName, XML_CELL_ADDRESS)) - { - rAddress = sValue; - } - else if (IsXMLToken(aLocalName, XML_MATRIX_COVERED)) - { - bIsCoveredMatrix = IsXMLToken(sValue, XML_TRUE); - } - else if (IsXMLToken(aLocalName, XML_NUMBER_MATRIX_COLUMNS_SPANNED)) - { - bIsMatrix = sal_True; - SvXMLUnitConverter::convertNumber(nMatrixCols, sValue); - } - else if (IsXMLToken(aLocalName, XML_NUMBER_MATRIX_ROWS_SPANNED)) - { - bIsMatrix = sal_True; - SvXMLUnitConverter::convertNumber(nMatrixRows, sValue); - } } } if (bIsCoveredMatrix) @@ -1521,7 +1540,7 @@ SvXMLImportContext *ScXMLContentChangeContext::CreateChildContext( USHORT nPrefi { pContext = new ScXMLBigRangeContext(GetScImport(), nPrefix, rLocalName, xAttrList, aBigRange); } - else if (IsXMLToken(rLocalName, XML_DEPENDENCES)) + else if (IsXMLToken(rLocalName, XML_DEPENDENCIES)) { pContext = new ScXMLDependingsContext(GetScImport(), nPrefix, rLocalName, xAttrList, pChangeTrackingImportHelper); } @@ -1633,7 +1652,7 @@ SvXMLImportContext *ScXMLInsertionContext::CreateChildContext( USHORT nPrefix, } else if (nPrefix == XML_NAMESPACE_TABLE) { - if (IsXMLToken(rLocalName, XML_DEPENDENCES)) + if (IsXMLToken(rLocalName, XML_DEPENDENCIES)) pContext = new ScXMLDependingsContext(GetScImport(), nPrefix, rLocalName, xAttrList, pChangeTrackingImportHelper); else if (IsXMLToken(rLocalName, XML_DELETIONS)) pContext = new ScXMLDeletionsContext(GetScImport(), nPrefix, rLocalName, xAttrList, pChangeTrackingImportHelper); @@ -1908,7 +1927,7 @@ SvXMLImportContext *ScXMLDeletionContext::CreateChildContext( USHORT nPrefix, } else if (nPrefix == XML_NAMESPACE_TABLE) { - if (IsXMLToken(rLocalName, XML_DEPENDENCES)) + if (IsXMLToken(rLocalName, XML_DEPENDENCIES)) pContext = new ScXMLDependingsContext(GetScImport(), nPrefix, rLocalName, xAttrList, pChangeTrackingImportHelper); else if (IsXMLToken(rLocalName, XML_DELETIONS)) pContext = new ScXMLDeletionsContext(GetScImport(), nPrefix, rLocalName, xAttrList, pChangeTrackingImportHelper); @@ -1993,7 +2012,7 @@ SvXMLImportContext *ScXMLMovementContext::CreateChildContext( USHORT nPrefix, } else if (nPrefix == XML_NAMESPACE_TABLE) { - if (IsXMLToken(rLocalName, XML_DEPENDENCES)) + if (IsXMLToken(rLocalName, XML_DEPENDENCIES)) pContext = new ScXMLDependingsContext(GetScImport(), nPrefix, rLocalName, xAttrList, pChangeTrackingImportHelper); else if (IsXMLToken(rLocalName, XML_DELETIONS)) pContext = new ScXMLDeletionsContext(GetScImport(), nPrefix, rLocalName, xAttrList, pChangeTrackingImportHelper); @@ -2079,7 +2098,7 @@ SvXMLImportContext *ScXMLRejectionContext::CreateChildContext( USHORT nPrefix, } else if (nPrefix == XML_NAMESPACE_TABLE) { - if (IsXMLToken(rLocalName, XML_DEPENDENCES)) + if (IsXMLToken(rLocalName, XML_DEPENDENCIES)) pContext = new ScXMLDependingsContext(GetScImport(), nPrefix, rLocalName, xAttrList, pChangeTrackingImportHelper); else if (IsXMLToken(rLocalName, XML_DELETIONS)) pContext = new ScXMLDeletionsContext(GetScImport(), nPrefix, rLocalName, xAttrList, pChangeTrackingImportHelper); -- cgit