summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorZolnai Tamás <zolnaitamas2000@gmail.com>2015-03-18 10:22:51 +0100
committerZolnai Tamás <zolnaitamas2000@gmail.com>2015-03-21 16:19:07 +0100
commitcaf653c03b9152a93c3e5959921fe98adfb7d639 (patch)
tree36adce1243ada028d7fbd667eed5f629349efdd2 /writerfilter
parent8f01925d98dabdbf400c9263e08242267b2b9701 (diff)
Char highlight: RTF filters
Handle \highlightN and \chcbpatN separately. Change-Id: I20546bd4c26154e8b1168f87dcb4ab44a192ad83
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/DomainMapper.cxx21
-rw-r--r--writerfilter/source/dmapper/DomainMapper.hxx2
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;
};