diff options
author | Zolnai Tamás <zolnaitamas2000@gmail.com> | 2015-03-18 10:22:51 +0100 |
---|---|---|
committer | Zolnai Tamás <zolnaitamas2000@gmail.com> | 2015-03-21 16:19:07 +0100 |
commit | caf653c03b9152a93c3e5959921fe98adfb7d639 (patch) | |
tree | 36adce1243ada028d7fbd667eed5f629349efdd2 /writerfilter | |
parent | 8f01925d98dabdbf400c9263e08242267b2b9701 (diff) |
Char highlight: RTF filters
Handle \highlightN and \chcbpatN separately.
Change-Id: I20546bd4c26154e8b1168f87dcb4ab44a192ad83
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper.cxx | 21 | ||||
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper.hxx | 2 |
2 files changed, 13 insertions, 10 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 5ee0239ece12..989465101f62 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -102,7 +102,7 @@ LoggedProperties(dmapper_logger, "DomainMapper"), LoggedTable(dmapper_logger, "DomainMapper"), LoggedStream(dmapper_logger, "DomainMapper"), m_pImpl( new DomainMapper_Impl( *this, xContext, xModel, eDocumentType, xInsertTextRange, !rMediaDesc.getUnpackedValueOrDefault("InsertMode", false))), - mnBackgroundColor(0), mbIsHighlightSet(false), mbIsSplitPara(false) + mbIsSplitPara(false) { // #i24363# tab stops relative to indent m_pImpl->SetDocumentSettingsProperty( @@ -1412,13 +1412,18 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext ) break; case NS_ooxml::LN_EG_RPrBase_highlight: { - sal_Int32 nColor = 0; - if( (mbIsHighlightSet = getColorFromId(nIntValue, nColor)) ) - rContext->Insert(PROP_CHAR_HIGHLIGHT, uno::makeAny( nColor )); - else if (mnBackgroundColor) - rContext->Insert(PROP_CHAR_BACK_COLOR, uno::makeAny( mnBackgroundColor )); - else - rContext->Insert(PROP_CHAR_BACK_COLOR, uno::makeAny( nIntValue )); + // OOXML import uses an ID + if( IsOOXMLImport() ) + { + sal_Int32 nColor = 0; + if( getColorFromId(nIntValue, nColor) ) + rContext->Insert(PROP_CHAR_HIGHLIGHT, uno::makeAny( nColor )); + } + // RTF import uses the actual color value + else if( IsRTFImport() ) + { + rContext->Insert(PROP_CHAR_HIGHLIGHT, uno::makeAny( nIntValue )); + } } break; case NS_ooxml::LN_EG_RPrBase_em: diff --git a/writerfilter/source/dmapper/DomainMapper.hxx b/writerfilter/source/dmapper/DomainMapper.hxx index 988c7ab8396d..9340722ea257 100644 --- a/writerfilter/source/dmapper/DomainMapper.hxx +++ b/writerfilter/source/dmapper/DomainMapper.hxx @@ -170,8 +170,6 @@ private: OUString getBracketStringFromEnum(const sal_Int32 nIntValue, const bool bIsPrefix = true); com::sun::star::style::TabAlign getTabAlignFromValue(const sal_Int32 nIntValue); sal_Unicode getFillCharFromValue(const sal_Int32 nIntValue); - sal_Int32 mnBackgroundColor; - bool mbIsHighlightSet; bool mbIsSplitPara; boost::scoped_ptr< GraphicZOrderHelper > zOrderHelper; }; |