From 8f9163c3b8ad561b64e3c5e24ef81923e5ad5c3f Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Sun, 26 Jul 2020 16:53:10 +0000 Subject: [PATCH] fpspreadsheet: Refactor ODS styles writing git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7569 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../source/common/fpsopendocument.pas | 42 +++++++++++-------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/components/fpspreadsheet/source/common/fpsopendocument.pas b/components/fpspreadsheet/source/common/fpsopendocument.pas index 7e421bb79..ba2fd7b16 100644 --- a/components/fpspreadsheet/source/common/fpsopendocument.pas +++ b/components/fpspreadsheet/source/common/fpsopendocument.pas @@ -214,6 +214,7 @@ type procedure WriteMasterStyles(AStream: TStream); procedure WriteNamedExpressions(AStream: TStream; ASheet: TsBasicWorksheet); procedure WriteNumFormats(AStream: TStream); + procedure WriteOfficeStyles(AStream: TStream); procedure WriteRowStyles(AStream: TStream); procedure WriteRowsAndCells(AStream: TStream; ASheet: TsBasicWorksheet); procedure WriteShapes(AStream: TStream; ASheet: TsBasicWorksheet); @@ -5902,23 +5903,7 @@ begin AppendToStream(FSStyles, ''); - AppendToStream(FSStyles, - ''); - AppendToStream(FSStyles, - '', - WriteDefaultFontXMLAsString, - ''); - - WriteConditionalStyles(FSStyles); - - if (FWorkbook as TsWorkbook).HasEmbeddedSheetImages then - AppendToStream(FSStyles, - '', - WriteDefaultGraphicStyleXMLAsString, - ''); - AppendToStream(FSStyles, - ''); - + WriteOfficeStyles(FSStyles); WriteAutomaticStyles(FSStyles); WriteMasterStyles(FSStyles); @@ -6799,6 +6784,29 @@ begin end; end; +{ Writes the node which is in "styles.xml" } +procedure TsSpreadOpenDocWriter.WriteOfficeStyles(AStream: TStream); +begin + AppendToStream(AStream, + ''); + + AppendToStream(AStream, + '', + WriteDefaultFontXMLAsString, + ''); + + WriteConditionalStyles(AStream); + + if (FWorkbook as TsWorkbook).HasEmbeddedSheetImages then + AppendToStream(AStream, + '', + WriteDefaultGraphicStyleXMLAsString, + ''); + + AppendToStream(AStream, + ''); +end; + procedure TsSpreadOpenDocWriter.WriteRowsAndCells(AStream: TStream; ASheet: TsBasicWorksheet); var