diff options
Diffstat (limited to 'sc/source/filter/oox/stylesbuffer.cxx')
-rw-r--r-- | sc/source/filter/oox/stylesbuffer.cxx | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/sc/source/filter/oox/stylesbuffer.cxx b/sc/source/filter/oox/stylesbuffer.cxx index ba102a91ec2c..48e48ca9e287 100644 --- a/sc/source/filter/oox/stylesbuffer.cxx +++ b/sc/source/filter/oox/stylesbuffer.cxx @@ -2260,7 +2260,6 @@ void Xf::finalizeImport() // alignment and protection maAlignment.finalizeImport(); maProtection.finalizeImport(); - createPattern(); } FontRef Xf::getFont() const @@ -2421,8 +2420,12 @@ Xf::createPattern( bool bSkipPoolDefs ) StylesBuffer& rStyles = getStyles(); const Xf* pStyleXf = isCellXf() ? rStyles.getStyleXf( maModel.mnStyleXfId ).get() : 0; - if( pStyleXf ) + if( pStyleXf && !mpStyleSheet ) { + rStyles.createCellStyle( maModel.mnStyleXfId ); + mpStyleSheet = rStyles.getCellStyleSheet( maModel.mnStyleXfId ); + OSL_ENSURE( mpStyleSheet, "Xf::createPattern - no parentStyle created" ); + const XfModel& rStyleData = pStyleXf->maModel; if( !maModel.mbFontUsed ) maModel.mbFontUsed = !rStyleData.mbFontUsed || (maModel.mnFontId != rStyleData.mnFontId); @@ -2802,8 +2805,13 @@ void CellStyle::createCellStyle() { // #i1624# #i1768# ignore unnamed user styles + bool bDefStyle = maModel.isDefaultStyle(); if( !mbCreated ) + { + if ( bDefStyle && maFinalName.isEmpty() ) + maFinalName = ScGlobal::GetRscString( STR_STYLENAME_STANDARD ); mbCreated = maFinalName.isEmpty(); + } if( !mbCreated && !mpStyleSheet ) { @@ -2811,12 +2819,11 @@ void CellStyle::createCellStyle() Xf* pXF = getStyles().getStyleXf( maModel.mnXfId ).get(); ::ScDocument& rDoc = getScDocument(); - bool bDefStyle = maModel.isDefaultStyle(); if( bDefStyle ) { // use existing "Default" style sheet mpStyleSheet = static_cast< ScStyleSheet* >( static_cast< ScStyleSheetPool* >( rDoc.GetStyleSheetPool() )->Find( - getStyles().getDefaultStyleName(), SFX_STYLE_FAMILY_PARA ) ); + ScGlobal::GetRscString( STR_STYLENAME_STANDARD ), SFX_STYLE_FAMILY_PARA ) ); OSL_ENSURE( mpStyleSheet, "CellStyle::createStyle - Default style not found" ); bCreatePattern = true; } @@ -2952,16 +2959,6 @@ void CellStyleBuffer::finalizeImport() // set final names and create user-defined and modified built-in cell styles aCellStyles.forEachMemWithKey( &CellStyle::finalizeImport ); - - if (mxDefStyle) - { - Reference<XNameAccess> xNA(getStyleFamily(false), UNO_QUERY_THROW); - if (xNA->hasByName("Default")) - { - PropertySet aPropSet(xNA->getByName("Default")); - getStyles().writeStyleXfToPropertySet(aPropSet, mxDefStyle->getModel().mnXfId); - } - } } sal_Int32 CellStyleBuffer::getDefaultXfId() const |