[Libreoffice-commits] .: Branch 'feature/gsoc-calc-perf' - sc/source
Daniel Bankston
dbank at kemper.freedesktop.org
Tue Jun 19 14:45:37 PDT 2012
sc/source/filter/xml/xmlcelli.cxx | 23 ++++++++---------------
1 file changed, 8 insertions(+), 15 deletions(-)
New commits:
commit cb1b6e89995196e3dc61dc46d3207d410058638e
Author: Daniel Bankston <daniel.e.bankston at gmail.com>
Date: Tue Jun 19 16:42:54 2012 -0500
Clean up logic a bit for formula cell ODS import
Made Markus's recommended changes for logic clean up.
Change-Id: I8d2820558d1d68888414e19aa8d4e9034258c57e
diff --git a/sc/source/filter/xml/xmlcelli.cxx b/sc/source/filter/xml/xmlcelli.cxx
index 841c85c..c34f720 100644
--- a/sc/source/filter/xml/xmlcelli.cxx
+++ b/sc/source/filter/xml/xmlcelli.cxx
@@ -1017,6 +1017,11 @@ void ScXMLTableRowCellContext::AddNonMatrixFormulaCell( const ScAddress& rCellPo
pDoc->IncXMLImportedFormulaCount( aText.getLength() );
pNewCell = new ScFormulaCell( pDoc, rCellPos, pCode, eGrammar, MM_NONE );
delete pCode;
+
+ if( bFormulaTextResult && pOUTextValue && !pOUTextValue->isEmpty() )
+ static_cast<ScFormulaCell*>(pNewCell)->SetHybridString( *pOUTextValue );
+ else
+ static_cast<ScFormulaCell*>(pNewCell)->SetHybridDouble( fValue );
}
else if ( aText[0] == '\'' && aText.getLength() > 1 )
{
@@ -1030,26 +1035,14 @@ void ScXMLTableRowCellContext::AddNonMatrixFormulaCell( const ScAddress& rCellPo
sal_uInt32 nEnglish = pFormatter->GetStandardIndex(LANGUAGE_ENGLISH_US);
double fVal;
if ( pFormatter->IsNumberFormat( aText, nEnglish, fVal ) )
- {
pNewCell = new ScValueCell( fVal );
- }
+ //the (english) number format will not be set
+ //search matching local format and apply it
else
pNewCell = ScBaseCell::CreateTextCell( aText, pDoc );
- // das (englische) Zahlformat wird nicht gesetzt
- //! passendes lokales Format suchen und setzen???
}
- if( pNewCell )
- pDoc->PutCell( rCellPos, pNewCell );
-
- ScBaseCell* pCell = rXMLImport.GetDocument()->GetCell( rCellPos );
- if( pCell && pCell->GetCellType() == CELLTYPE_FORMULA )
- {
- if( bFormulaTextResult && pOUTextValue && !pOUTextValue->isEmpty() )
- static_cast<ScFormulaCell*>(pCell)->SetHybridString( *pOUTextValue );
- else
- static_cast<ScFormulaCell*>(pCell)->SetHybridDouble( fValue );
- }
+ pDoc->PutCell( rCellPos, pNewCell );
}
}
More information about the Libreoffice-commits
mailing list