diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2019-07-04 21:37:14 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2019-07-05 09:04:03 +0200 |
commit | bffe6a496fb1c69499770d96fefd7a3609712676 (patch) | |
tree | 32d4e6b4d7fdc4a514c18ff960413b3b500ee674 /writerfilter | |
parent | 623ad884051ad4ea17ba7baa77076c49000e49fa (diff) |
sw btlr writing mode: handle import from VML
Instead of the character-level rotation added in commit
8738ded7bb1bb6262fe1038e310b5110407f4cfa (fdo#69636 VML import: handle
mso-layout-flow-alt shape prop for sw frames, 2013-09-26) which does not
work for multiple paragraphs.
Change-Id: Ibe9a85d7f880846edfd1f4594c03b0617d83a965
Reviewed-on: https://gerrit.libreoffice.org/75104
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper.cxx | 3 | ||||
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper_Impl.cxx | 13 | ||||
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper_Impl.hxx | 1 |
3 files changed, 1 insertions, 16 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 54e4a7bdd7a1..1b24e0624dc8 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -3052,9 +3052,6 @@ void DomainMapper::PopListProperties() void DomainMapper::lcl_startCharacterGroup() { m_pImpl->PushProperties(CONTEXT_CHARACTER); - if (m_pImpl->m_bFrameBtLr) - // No support for this in core, work around by char rotation, as we do so for table cells already. - m_pImpl->GetTopContext()->Insert(PROP_CHAR_ROTATION, uno::makeAny(sal_Int16(900))); if (m_pImpl->isSdtEndDeferred()) { // Fields have an empty character group before the real one, so don't diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 21d6e65d1af3..28b4fb20183d 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -250,7 +250,6 @@ DomainMapper_Impl::DomainMapper_Impl( m_bIgnoreNextPara(false), m_bCheckFirstFootnoteTab(false), m_bIgnoreNextTab(false), - m_bFrameBtLr(false), m_bIsSplitPara(false), m_vTextFramesForChaining(), m_bParaHadField(false), @@ -2354,15 +2353,9 @@ void DomainMapper_Impl::PushShapeContext( const uno::Reference< drawing::XShape uno::Reference<beans::XPropertySet> xShapePropertySet(xShape, uno::UNO_QUERY); uno::Sequence<beans::PropertyValue> aGrabBag; xShapePropertySet->getPropertyValue("FrameInteropGrabBag") >>= aGrabBag; - bool checkBtLrStatus = false; for (const auto& rProp : aGrabBag) { - if (rProp.Name == "mso-layout-flow-alt") - { - m_bFrameBtLr = rProp.Value.get<OUString>() == "bottom-to-top"; - checkBtLrStatus = true; - } if (rProp.Name == "VML-Z-ORDER") { GraphicZOrderHelper* pZOrderHelper = m_rDMapper.graphicZOrderHelper(); @@ -2373,10 +2366,7 @@ void DomainMapper_Impl::PushShapeContext( const uno::Reference< drawing::XShape xShapePropertySet->setPropertyValue(getPropertyName( PROP_OPAQUE ), uno::makeAny( zOrder >= 0 ) ); checkZOrderStatus = true; } - if(checkBtLrStatus && checkZOrderStatus) - break; - - if ( rProp.Name == "TxbxHasLink" ) + else if ( rProp.Name == "TxbxHasLink" ) { //Chaining of textboxes will happen in ~DomainMapper_Impl //i.e when all the textboxes are read and all its attributes @@ -2534,7 +2524,6 @@ void DomainMapper_Impl::PopShapeContext() m_aAnchoredStack.pop(); } - m_bFrameBtLr = false; } bool DomainMapper_Impl::IsSdtEndBefore() diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx index 793631530d66..09b35a360008 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx @@ -953,7 +953,6 @@ public: /// If the next tab should be ignored, used for footnotes. bool m_bCheckFirstFootnoteTab; bool m_bIgnoreNextTab; - bool m_bFrameBtLr; ///< Bottom to top, left to right text frame direction is requested for the current text frame. /// Pending floating tables: they may be converted to text frames at the section end. std::vector<FloatingTableInfo> m_aPendingFloatingTables; |