diff options
Diffstat (limited to 'writerfilter/source/dmapper/DomainMapper_Impl.cxx')
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper_Impl.cxx | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 2939902f03ca..8c3c59243aa0 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -209,6 +209,7 @@ DomainMapper_Impl::DomainMapper_Impl( m_pLastSectionContext( ), m_pLastCharacterContext(), m_sCurrentParaStyleName(), + m_sDefaultParaStyleName(), m_bInStyleSheetImport( false ), m_bInAnyTableImport( false ), m_bInHeaderFooterImport( false ), @@ -664,6 +665,25 @@ const OUString DomainMapper_Impl::GetCurrentParaStyleName() return sName; } +const OUString DomainMapper_Impl::GetDefaultParaStyleName() +{ + // After import the default style won't change and is frequently requested: cache the LO style name. + // TODO assert !InStyleSheetImport? This function really only makes sense once import is finished anyway. + if ( m_sDefaultParaStyleName.isEmpty() ) + { + const StyleSheetEntryPtr pEntry = GetStyleSheetTable()->FindDefaultParaStyle(); + if ( pEntry && !pEntry->sConvertedStyleName.isEmpty() ) + { + if ( !m_bInStyleSheetImport ) + m_sDefaultParaStyleName = pEntry->sConvertedStyleName; + return pEntry->sConvertedStyleName; + } + else + return OUString( "Standard"); + } + return m_sDefaultParaStyleName; +} + /*------------------------------------------------------------------------- returns the value from the current paragraph style - if available -----------------------------------------------------------------------*/ |