diff options
author | Miklos Vajna <vmiklos@frugalware.org> | 2011-08-11 15:43:29 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@frugalware.org> | 2011-08-11 15:43:29 +0200 |
commit | fa73964707dcea6c8b60bf32f765516aed3a26f1 (patch) | |
tree | 76e6a55afa4743c767f2532bf57b5fbe406977f3 /writerfilter | |
parent | bad3177c55725b6238852eb192a25bb3449f7a54 (diff) |
implement RTF_NOLINE
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.cxx | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index 80ade59be0db..4988e42553cd 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -119,6 +119,16 @@ static void lcl_putNestedSprm(RTFSprms& rSprms, Id nParent, Id nId, RTFValue::Po lcl_putNestedAttribute(rSprms, nParent, nId, pValue, bOverwrite, false); } +static bool lcl_eraseNestedAttribute(RTFSprms& rSprms, Id nParent, Id nId) +{ + RTFValue::Pointer_t pParent = rSprms.find(nParent); + if (!pParent.get()) + // It doesn't even have a parent, we're done! + return false; + RTFSprms& rAttributes = pParent->getAttributes(); + return rAttributes.erase(nId); +} + static RTFSprms& lcl_getLastAttributes(RTFSprms& rSprms, Id nId) { RTFValue::Pointer_t p = rSprms.find(nId); @@ -1741,6 +1751,9 @@ int RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword) lcl_putNestedSprm(m_aDefaultState.aParagraphSprms, NS_ooxml::LN_EG_SectPrContents_footnotePr, NS_ooxml::LN_EG_FtnEdnNumProps_numRestart, pValue); } break; + case RTF_NOLINE: + lcl_eraseNestedAttribute(m_aStates.top().aSectionSprms, NS_ooxml::LN_EG_SectPrContents_lnNumType, NS_ooxml::LN_CT_LineNumber_distance); + break; default: #if OSL_DEBUG_LEVEL > 1 OSL_TRACE("%s: TODO handle flag '%s'", OSL_THIS_FUNC, lcl_RtfToString(nKeyword)); |