diff options
author | Daniel Bankston <daniel.e.bankston@gmail.com> | 2012-07-10 13:55:39 -0500 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@gmail.com> | 2012-07-11 20:37:43 -0400 |
commit | d880f3d3bf7b6052156e3d6c30f00d22fe66aee1 (patch) | |
tree | 858137c107c10cb287513a59a22a90a39e3da704 /sc | |
parent | 9ba62d504ca93a377b7de328e2d00caa786638c6 (diff) |
Always recalc certain functions on import
Change-Id: Ie8cffc4a856328dd658714726de7ca77028a33a7
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/filter/xml/xmlcelli.cxx | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sc/source/filter/xml/xmlcelli.cxx b/sc/source/filter/xml/xmlcelli.cxx index 3ff5b588c00a..791f3f0eb10d 100644 --- a/sc/source/filter/xml/xmlcelli.cxx +++ b/sc/source/filter/xml/xmlcelli.cxx @@ -760,7 +760,8 @@ void ScXMLTableRowCellContext::AddTextCellToDoc( const ScAddress& rCurrentPos, pFCell->SetHybridString( *pOUText ); else bDoIncrement = false; - pFCell->ResetDirty(); + if( !pFCell->GetCode()->IsRecalcModeAlways() ) + pFCell->ResetDirty(); } } else @@ -798,7 +799,8 @@ void ScXMLTableRowCellContext::AddNumberCellToDoc( const ScAddress& rCurrentPos pFCell->SetHybridString( *pOUTextValue ); else pFCell->SetHybridDouble( fValue ); - pFCell->ResetDirty(); + if( !pFCell->GetCode()->IsRecalcModeAlways() ) + pFCell->ResetDirty(); } } else @@ -1029,7 +1031,8 @@ void ScXMLTableRowCellContext::AddNonMatrixFormulaCell( const ScAddress& rCellPo pFCell->SetHybridString( *pOUTextValue ); else pFCell->SetHybridDouble( fValue ); - pFCell->ResetDirty(); + if( !(pFCell->GetCode()->IsRecalcModeOnLoad() || !pFCell->GetCode()->IsRecalcModeOnLoadOnce()) ) + pFCell->ResetDirty(); } else if ( aText[0] == '\'' && aText.getLength() > 1 ) { @@ -1081,7 +1084,8 @@ void ScXMLTableRowCellContext::AddFormulaCell( const ScAddress& rCellPos ) pFCell->SetHybridString( *pOUTextValue ); else pFCell->SetHybridDouble( fValue ); - pFCell->ResetDirty(); + if( !pFCell->GetCode()->IsRecalcModeAlways() ) + pFCell->ResetDirty(); } } } |