summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2013-11-04 17:09:06 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2013-11-04 17:57:44 +0100
commit4bfa4a69a89337f1839a310a2fe83caf82e37df5 (patch)
tree76aff813668e14c621703a7f95f54076c732b622 /writerfilter
parent46a470a2ca10721dbaab7867bf4929da4b9d99a0 (diff)
DOCX filter: handle CT_Ind_rightChars and CT_PPrBase_snapToGrid
Also, add InteropGrabBag support to bCs, themeFill, themeFillShade and w:ind's right attribute. Change-Id: I0d6ad0ef062218e71d7c71f99c56dd680b6930de
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/CellColorHandler.cxx7
-rw-r--r--writerfilter/source/dmapper/DomainMapper.cxx11
2 files changed, 17 insertions, 1 deletions
diff --git a/writerfilter/source/dmapper/CellColorHandler.cxx b/writerfilter/source/dmapper/CellColorHandler.cxx
index 09f020f827af..8aac72d88887 100644
--- a/writerfilter/source/dmapper/CellColorHandler.cxx
+++ b/writerfilter/source/dmapper/CellColorHandler.cxx
@@ -20,6 +20,7 @@
#include <PropertyMap.hxx>
#include <doctok/resourceids.hxx>
#include <ConversionHelper.hxx>
+#include <TDefTableHandler.hxx>
#include <ooxml/resourceids.hxx>
#include <com/sun/star/drawing/ShadingPattern.hpp>
#include <sal/macros.h>
@@ -129,8 +130,12 @@ void CellColorHandler::lcl_attribute(Id rName, Value & rVal)
m_nColor = nIntValue;
break;
case NS_ooxml::LN_CT_Shd_themeFill:
- case NS_ooxml::LN_CT_Shd_themeFillTint:
+ createGrabBag("themeFill", uno::makeAny(TDefTableHandler::getThemeColorTypeString(nIntValue)));
+ break;
case NS_ooxml::LN_CT_Shd_themeFillShade:
+ createGrabBag("themeFillShade", uno::makeAny(OUString::number(nIntValue, 16)));
+ break;
+ case NS_ooxml::LN_CT_Shd_themeFillTint:
// ignored
break;
default:
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx
index 9a6488f2f2f5..4f9d2330d80a 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -1082,6 +1082,7 @@ void DomainMapper::lcl_attribute(Id nName, Value & val)
m_pImpl->GetTopContext()->Insert(
PROP_PARA_RIGHT_MARGIN, uno::makeAny( ConversionHelper::convertTwipToMM100(nIntValue ) ));
}
+ m_pImpl->appendGrabBag(m_pImpl->m_aSubInteropGrabBag, "right", OUString::number(nIntValue));
break;
case NS_ooxml::LN_CT_Ind_hanging:
if (m_pImpl->GetTopContext())
@@ -1096,6 +1097,9 @@ void DomainMapper::lcl_attribute(Id nName, Value & val)
m_pImpl->GetTopContext()->Insert(
PROP_PARA_FIRST_LINE_INDENT, uno::makeAny( ConversionHelper::convertTwipToMM100(nIntValue ) ));
break;
+ case NS_ooxml::LN_CT_Ind_rightChars:
+ m_pImpl->appendGrabBag(m_pImpl->m_aSubInteropGrabBag, "rightChars", OUString::number(nIntValue));
+ break;
case NS_ooxml::LN_CT_EastAsianLayout_id:
break;
@@ -2172,6 +2176,8 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType
xCharStyle->setPropertyValue(rPropNameSupplier.GetName(PROP_CHAR_WEIGHT), aBold);
if (nSprmId == NS_sprm::LN_CFBold)
m_pImpl->appendGrabBag(m_pImpl->m_aInteropGrabBag, "b", OUString::number(nIntValue));
+ else if (nSprmId == NS_sprm::LN_CFBoldBi)
+ m_pImpl->appendGrabBag(m_pImpl->m_aInteropGrabBag, "bCs", OUString::number(nIntValue));
}
break;
case 61: /*sprmCFItalic*/
@@ -3033,6 +3039,8 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType
m_pImpl->appendGrabBag(m_pImpl->m_aInteropGrabBag, "lang", m_pImpl->m_aSubInteropGrabBag);
else if (nSprmId == NS_ooxml::LN_EG_RPrBase_color)
m_pImpl->appendGrabBag(m_pImpl->m_aInteropGrabBag, "color", m_pImpl->m_aSubInteropGrabBag);
+ else if (nSprmId == NS_ooxml::LN_CT_PPrBase_ind)
+ m_pImpl->appendGrabBag(m_pImpl->m_aInteropGrabBag, "ind", m_pImpl->m_aSubInteropGrabBag);
break;
case NS_ooxml::LN_CT_PPrBase_wordWrap:
m_pImpl->appendGrabBag(m_pImpl->m_aInteropGrabBag, "wordWrap", "");
@@ -3178,6 +3186,9 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType
}
break;
+ case NS_ooxml::LN_CT_PPrBase_snapToGrid:
+ m_pImpl->appendGrabBag(m_pImpl->m_aInteropGrabBag, "snapToGrid", OUString::number(nIntValue));
+ break;
case NS_ooxml::LN_CT_PPrBase_pStyle:
{
mbIsBIDI = false;