[Libreoffice-commits] core.git: sw/source
Bjoern Michaelsen
bjoern.michaelsen at canonical.com
Mon Dec 12 11:41:26 UTC 2016
sw/source/filter/ww8/wrtw8esh.cxx | 64 ++++++++++++++++----------------------
1 file changed, 28 insertions(+), 36 deletions(-)
New commits:
commit a4c6d5c8a05716e0f1a3237ef710b5955e28b6f0
Author: Bjoern Michaelsen <bjoern.michaelsen at canonical.com>
Date: Sun Dec 11 15:50:42 2016 +0100
refactor out lcl_SetRelationOrient
Change-Id: I9759a0f21641b6f5ba5e456e5c45ac28238ca672
Reviewed-on: https://gerrit.libreoffice.org/31866
Reviewed-by: Björn Michaelsen <bjoern.michaelsen at canonical.com>
Tested-by: Björn Michaelsen <bjoern.michaelsen at canonical.com>
diff --git a/sw/source/filter/ww8/wrtw8esh.cxx b/sw/source/filter/ww8/wrtw8esh.cxx
index a8b1ac2..71f83fd 100644
--- a/sw/source/filter/ww8/wrtw8esh.cxx
+++ b/sw/source/filter/ww8/wrtw8esh.cxx
@@ -2445,6 +2445,32 @@ void SwEscherEx::FinishEscher()
pEscherStrm = nullptr;
}
+
+namespace
+{
+ template<typename OrientType>
+ void lcl_SetRelationOrient(OrientType& rOrient, const sw::WW8AnchorConv eConv, const bool bHori, std::function<void()> fDefault)
+ {
+ switch(eConv)
+ {
+ case sw::WW8AnchorConv::RELTOTABLECELL:
+ // #i33818#
+ rOrient.SetRelationOrient(text::RelOrientation::PAGE_PRINT_AREA);
+ break;
+ case sw::WW8AnchorConv::CONV2PG:
+ rOrient.SetRelationOrient(text::RelOrientation::PAGE_FRAME);
+ break;
+ case sw::WW8AnchorConv::CONV2COL_OR_PARA:
+ rOrient.SetRelationOrient(text::RelOrientation::FRAME);
+ break;
+ case sw::WW8AnchorConv::CONV2CHAR_OR_LINE:
+ rOrient.SetRelationOrient(bHori ? text::RelOrientation::CHAR : text::RelOrientation::TEXT_LINE);
+ break;
+ default:
+ fDefault();//rOrient.SetHoriOrient(text::HoriOrientation::NONE);
+ }
+ }
+}
/** method to perform conversion of positioning attributes with the help
of corresponding layout information
@@ -2652,43 +2678,9 @@ bool WinwordAnchoring::ConvertPosition( SwFormatHoriOrient& _iorHoriOri,
_rFrameFormat.CallSwClientNotify(sw::WW8AnchorConvHint(aResult));
if(!aResult.m_bConverted)
return false;
- switch(eHoriConv)
- {
- case sw::WW8AnchorConv::RELTOTABLECELL:
- // #i33818#
- _iorHoriOri.SetRelationOrient(text::RelOrientation::PAGE_PRINT_AREA);
- break;
- case sw::WW8AnchorConv::CONV2PG:
- _iorHoriOri.SetRelationOrient(text::RelOrientation::PAGE_FRAME);
- break;
- case sw::WW8AnchorConv::CONV2COL_OR_PARA:
- _iorHoriOri.SetRelationOrient(text::RelOrientation::FRAME);
- break;
- case sw::WW8AnchorConv::CONV2CHAR_OR_LINE:
- _iorHoriOri.SetRelationOrient(text::RelOrientation::CHAR);
- break;
- default:
- _iorHoriOri.SetHoriOrient(text::HoriOrientation::NONE);
- }
+ lcl_SetRelationOrient(_iorHoriOri, eHoriConv, true, [&_iorHoriOri]() {_iorHoriOri.SetHoriOrient(text::HoriOrientation::NONE);} );
_iorHoriOri.SetPos(aResult.m_aPos.X());
- switch(eVertConv)
- {
- case sw::WW8AnchorConv::RELTOTABLECELL:
- // #i33818#
- _iorVertOri.SetRelationOrient(text::RelOrientation::PAGE_PRINT_AREA);
- break;
- case sw::WW8AnchorConv::CONV2PG:
- _iorVertOri.SetRelationOrient(text::RelOrientation::PAGE_FRAME);
- break;
- case sw::WW8AnchorConv::CONV2COL_OR_PARA:
- _iorVertOri.SetRelationOrient(text::RelOrientation::FRAME);
- break;
- case sw::WW8AnchorConv::CONV2CHAR_OR_LINE:
- _iorVertOri.SetRelationOrient(text::RelOrientation::TEXT_LINE);
- break;
- default:
- _iorVertOri.SetVertOrient(text::VertOrientation::NONE);
- }
+ lcl_SetRelationOrient(_iorVertOri, eVertConv, false, [&_iorVertOri]() {_iorVertOri.SetVertOrient(text::VertOrientation::NONE);} );
_iorVertOri.SetPos(aResult.m_aPos.Y());
return true;
}
More information about the Libreoffice-commits
mailing list