Bugzilla – Attachment 142011 Details for
Bug 117504
FILEOPEN: DOCX: Before text indent is ignored
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
tdf117504_debugging.diff: fix plus looking for pre-existing unit tests, but none found.
tdf117504_debugging.diff (text/plain), 9.92 KB, created by
Justin L
on 2018-05-10 10:49:37 UTC
(
hide
)
Description:
tdf117504_debugging.diff: fix plus looking for pre-existing unit tests, but none found.
Filename:
MIME Type:
Creator:
Justin L
Created:
2018-05-10 10:49:37 UTC
Size:
9.92 KB
patch
obsolete
>diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx >index cbcce6bda2ef..200e9624379e 100644 >--- a/writerfilter/source/dmapper/DomainMapper.cxx >+++ b/writerfilter/source/dmapper/DomainMapper.cxx >@@ -340,7 +340,9 @@ void DomainMapper::lcl_attribute(Id nName, Value & val) > if (m_pImpl->GetTopContextOfType(CONTEXT_PARAGRAPH) && m_pImpl->GetTopContextOfType(CONTEXT_PARAGRAPH)->isSet(PROP_NUMBERING_RULES)) > { > // Font of the paragraph mark should be used for the numbering as well. >+SAL_WARN("JCL","::CT_Fonts_ascii calls GetCurrentNumberingCharStyle"); > uno::Reference<beans::XPropertySet> xCharStyle(m_pImpl->GetCurrentNumberingCharStyle()); >+if (xCharStyle.is() ) m_pImpl->GetCurrentParaStyleName(true); > if (xCharStyle.is()) > xCharStyle->setPropertyValue("CharFontName", uno::makeAny(sStringValue)); > } >@@ -412,11 +414,16 @@ void DomainMapper::lcl_attribute(Id nName, Value & val) > // Don't overwrite NS_ooxml::LN_CT_Spacing_afterAutospacing. > m_pImpl->GetTopContext()->Insert(PROP_PARA_BOTTOM_MARGIN, uno::makeAny( ConversionHelper::convertTwipToMM100( nIntValue ) ), false); > >+SAL_WARN("JCL","::LN_CT_SpacingAfter uses GetPropertyFromStyleSheet and CurrParaStyleName"); > uno::Any aContextualSpacingFromStyle = m_pImpl->GetPropertyFromStyleSheet(PROP_PARA_CONTEXT_MARGIN); > if (aContextualSpacingFromStyle.hasValue()) >+ { >+ m_pImpl->GetCurrentParaStyleName(true); >+ > // Setting "after" spacing means Writer doesn't inherit > // contextual spacing anymore from style, but Word does. > m_pImpl->GetTopContext()->Insert(PROP_PARA_CONTEXT_MARGIN, aContextualSpacingFromStyle); >+ } > } > break; > case NS_ooxml::LN_CT_Spacing_afterLines: >@@ -1573,6 +1580,7 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, const PropertyMapPtr& rContext ) > { > //get value from style sheet and invert it > sal_Int16 nStyleValue = 0; >+SAL_WARN("JCL","GetPropertyFromStyleSheet embossed/shadow etc uses CurrParaName"); > uno::Any aStyleVal = m_pImpl->GetPropertyFromStyleSheet(ePropertyId); > if( !aStyleVal.hasValue() ) > { >@@ -1610,7 +1618,9 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, const PropertyMapPtr& rContext ) > if( nSprmId != NS_ooxml::LN_EG_RPrBase_bCs ) > rContext->Insert(PROP_CHAR_WEIGHT_ASIAN, aBold ); > >+SAL_WARN("JCL","::RPrBase_bC bold GetCurrentNumberingCharStyle asks for CurrParaStyleName"); > uno::Reference<beans::XPropertySet> xCharStyle(m_pImpl->GetCurrentNumberingCharStyle()); >+if (xCharStyle.is() ) m_pImpl->GetCurrentParaStyleName(true); > if (xCharStyle.is()) > xCharStyle->setPropertyValue(getPropertyName(PROP_CHAR_WEIGHT), aBold); > if (nSprmId == NS_ooxml::LN_EG_RPrBase_b) >@@ -1701,7 +1711,9 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, const PropertyMapPtr& rContext ) > rContext->Insert( PROP_CHAR_HEIGHT, aVal ); > rContext->Insert( PROP_CHAR_HEIGHT_ASIAN, aVal ); > >+SAL_WARN("JCL","::RPrBase_sz GetCurrentNumberingCharStyle to set Char Height"); > uno::Reference<beans::XPropertySet> xCharStyle(m_pImpl->GetCurrentNumberingCharStyle()); >+if (xCharStyle.is() ) m_pImpl->GetCurrentParaStyleName(true); > if (xCharStyle.is()) > xCharStyle->setPropertyValue(getPropertyName(PROP_CHAR_HEIGHT), aVal); > } >@@ -1851,10 +1863,13 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, const PropertyMapPtr& rContext ) > // not applied to the paragraph directly => don't InitTabStopFromStyle > if (!IsStyleSheetImport() && !IsRTFImport()) > { >+SAL_WARN("JCL","PPrBase_tabstop calls GetPropertyFromStyleSheet using CurrParaStyleName"); > uno::Any aValue = m_pImpl->GetPropertyFromStyleSheet(PROP_PARA_TAB_STOPS); > uno::Sequence< style::TabStop > aStyleTabStops; > if(aValue >>= aStyleTabStops) > { >+ m_pImpl->GetCurrentParaStyleName(true); >+ > m_pImpl->InitTabStopFromStyle( aStyleTabStops ); > } > } >@@ -2948,6 +2963,7 @@ void DomainMapper::lcl_startParagraphGroup() > { > m_pImpl->GetTopContext()->Insert( PROP_PARA_STYLE_NAME, uno::makeAny( OUString("Standard") ) ); //ConvertedStyleName > m_pImpl->SetCurrentParaStyleName("Standard"); >+SAL_WARN("JCL","lcl_startParagraphGroup not in shape, so set CurrentParaStyleName to Standard"); > } > if (m_pImpl->isBreakDeferred(PAGE_BREAK)) > m_pImpl->GetTopContext()->Insert(PROP_BREAK_TYPE, uno::makeAny(style::BreakType_PAGE_BEFORE)); >@@ -3294,7 +3310,10 @@ void DomainMapper::lcl_utext(const sal_uInt8 * data_, size_t len) > // Allow MSO to emulate LO footnote text starting at left margin - only meaningful with hanging indent > m_pImpl->m_bCheckFirstFootnoteTab = false; > sal_Int32 nFirstLineIndent = 0; >+SAL_WARN("JCL","::Footnote - checks PropertyStyleFromSheet for first line indent"); > m_pImpl->GetPropertyFromStyleSheet(PROP_PARA_FIRST_LINE_INDENT) >>= nFirstLineIndent; >+ m_pImpl->GetCurrentParaStyleName(true); >+ > PropertyMapPtr pParaContext = m_pImpl->GetTopContextOfType(CONTEXT_PARAGRAPH); > boost::optional<PropertyMap::Property> oHangingIndent = pParaContext->getProperty(PROP_PARA_FIRST_LINE_INDENT); > if ( oHangingIndent ) >diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx >index 3cd7492538a5..c9ce06196f71 100644 >--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx >+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx >@@ -647,6 +647,23 @@ uno::Sequence< style::TabStop > DomainMapper_Impl::GetCurrentTabStopAndClear() > return comphelper::containerToSequence(aRet); > } > >+const OUString DomainMapper_Impl::GetCurrentParaStyleName(bool bAssert) >+{ >+ // use saved currParaStyleName as a fallback, in case no particular para style name applied. >+ OUString sName = m_sCurrentParaStyleName; >+ PropertyMapPtr pParaContext = GetTopContextOfType(CONTEXT_PARAGRAPH); >+ if ( pParaContext && pParaContext->isSet(PROP_PARA_STYLE_NAME) ) >+ { >+ pParaContext->getProperty(PROP_PARA_STYLE_NAME)->second >>= sName; >+SAL_WARN("JCL","::GetCurrentParaStyleName["<<m_sCurrentParaStyleName<<"] property["<<sName<<"]"); >+SAL_WARN_IF(m_sCurrentParaStyleName != sName,"JCL","^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^DIFFERENT^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"); >+ if ( bAssert ) >+ assert ( m_sCurrentParaStyleName == sName >+ ||m_sCurrentParaStyleName == "Standard"); >+ } >+SAL_WARN("JCL","::GetCurrentParaStyleName returning ["<<sName<<"] still not correct after comment when default style"); >+ return sName; >+} > /*------------------------------------------------------------------------- > returns a the value from the current paragraph style - if available > TODO: What about parent styles? >@@ -1113,6 +1130,7 @@ void DomainMapper_Impl::finishParagraph( const PropertyMapPtr& pPropertyMap ) > //does not specify the numbering > if( pParaContext && !pParaContext->isSet(PROP_NUMBERING_RULES) ) > { >+SAL_WARN("JCL","::finishParagraph no prop numbering rules GetCurrParagraphStyleName"); > const StyleSheetEntryPtr pEntry = GetStyleSheetTable()->FindStyleSheetByConvertedStyleName( GetCurrentParaStyleName() ); > OSL_ENSURE( pEntry.get(), "no style sheet found" ); > const StyleSheetPropertyMap* pStyleSheetProperties = dynamic_cast<const StyleSheetPropertyMap*>(pEntry ? pEntry->pProperties.get() : nullptr); >@@ -1120,6 +1138,7 @@ void DomainMapper_Impl::finishParagraph( const PropertyMapPtr& pPropertyMap ) > sal_Int32 nListId = pEntry ? lcl_getListId(pEntry, GetStyleSheetTable()) : -1; > if( pStyleSheetProperties && nListId >= 0 ) > { >+ GetCurrentParaStyleName(true); > if ( !pEntry->bIsChapterNumbering ) > pParaContext->Insert( PROP_NUMBERING_STYLE_NAME, uno::makeAny( ListDef::GetStyleName( nListId ) ), false); > >@@ -3997,6 +4016,7 @@ void DomainMapper_Impl::CloseFieldCommand() > PropertyMapPtr pCharContext = GetTopContext(); > // dHeight is the font size of the current style. > double dHeight = 0; >+SAL_WARN("JCL","unlikely GetPropertyFromStyleSheet use"); > if ((GetPropertyFromStyleSheet(PROP_CHAR_HEIGHT) >>= dHeight) && dHeight != 0) > // Character escapement should be given in negative percents for subscripts. > pCharContext->Insert(PROP_CHAR_ESCAPEMENT, uno::makeAny( sal_Int16(- 100 * nDown / dHeight) ) ); >diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx >index 482300c13a4c..badf42059d53 100644 >--- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx >+++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx >@@ -693,7 +693,7 @@ public: > css::uno::Sequence<css::style::TabStop> GetCurrentTabStopAndClear(); > > void SetCurrentParaStyleName(const OUString& sStringValue) {m_sCurrentParaStyleName = sStringValue;} >- const OUString& GetCurrentParaStyleName() const {return m_sCurrentParaStyleName;} >+ const OUString GetCurrentParaStyleName(bool bAssert = false); > > css::uno::Any GetPropertyFromStyleSheet(PropertyIds eId); > void SetStyleSheetImport( bool bSet ) { m_bInStyleSheetImport = bSet;}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 117504
:
141977
| 142011