diff options
-rw-r--r-- | sc/source/filter/inc/orcusinterface.hxx | 1 | ||||
-rw-r--r-- | sc/source/filter/orcus/interface.cxx | 7 |
2 files changed, 6 insertions, 2 deletions
diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx index e467b85390fa..28b214d8f9cc 100644 --- a/sc/source/filter/inc/orcusinterface.hxx +++ b/sc/source/filter/inc/orcusinterface.hxx @@ -366,6 +366,7 @@ private: struct cell_style { OUString maName; + OUString maParentName; size_t mnXFId; size_t mnBuiltInId; diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx index a94b6f7a2372..8b08c1b41c9e 100644 --- a/sc/source/filter/orcus/interface.cxx +++ b/sc/source/filter/orcus/interface.cxx @@ -947,6 +947,7 @@ ScOrcusStyles::xf::xf(): } ScOrcusStyles::cell_style::cell_style(): + maParentName("Default"), mnXFId(0), mnBuiltInId(0) { @@ -1550,9 +1551,10 @@ void ScOrcusStyles::set_cell_style_builtin(size_t index) maCurrentCellStyle.mnBuiltInId = index; } -void ScOrcusStyles::set_cell_style_parent_name(const char* /*s*/, size_t /*n*/) +void ScOrcusStyles::set_cell_style_parent_name(const char* s, size_t n) { - // place holder + OUString aParentName(s, n, RTL_TEXTENCODING_UTF8); + maCurrentCellStyle.maParentName = aParentName; } size_t ScOrcusStyles::commit_cell_style() @@ -1570,6 +1572,7 @@ size_t ScOrcusStyles::commit_cell_style() ScStyleSheetPool* pPool = mrDoc.GetStyleSheetPool(); SfxStyleSheetBase& rBase = pPool->Make(maCurrentCellStyle.maName, SfxStyleFamily::Para); + rBase.SetParent(maCurrentCellStyle.maParentName); SfxItemSet& rSet = rBase.GetItemSet(); xf& rXf = maCellStyleXfs[maCurrentCellStyle.mnXFId]; |