From 15adfafee5b48d6f88a0b970c50e5c5bc77a4ab1 Mon Sep 17 00:00:00 2001 From: gokaysatir Date: Wed, 6 May 2020 12:04:39 +0300 Subject: tdf#111535 - Add First-line indent, paragraph indent, and tab spaces/Core part MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ib340e74646299c344dd770977497f59a030c86f3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93165 Tested-by: Jenkins Tested-by: Tomaž Vajngerl Reviewed-by: Tomaž Vajngerl --- sw/source/uibase/uiview/viewtab.cxx | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'sw/source') diff --git a/sw/source/uibase/uiview/viewtab.cxx b/sw/source/uibase/uiview/viewtab.cxx index 7be532cd29b4..0c2995e0b56d 100644 --- a/sw/source/uibase/uiview/viewtab.cxx +++ b/sw/source/uibase/uiview/viewtab.cxx @@ -693,7 +693,34 @@ void SwView::ExecTabWin( SfxRequest const & rReq ) } } break; + case SID_PARAGRAPH_CHANGE_STATE: + { + const SfxPoolItem *fLineIndent, *pLeftIndent, *pRightIndent; + if (pReqArgs) + { + SfxItemSet aLRSpaceSet( GetPool(), svl::Items{} ); + rSh.GetCurAttr( aLRSpaceSet ); + SvxLRSpaceItem aParaMargin( aLRSpaceSet.Get( RES_LR_SPACE ) ); + if (pReqArgs->GetItemState(SID_PARAGRAPH_FIRST_LINE_INDENT,true,&fLineIndent) == SfxItemState::SET) + { + const OUString ratio = static_cast(fLineIndent)->GetValue(); + aParaMargin.SetTextFirstLineOffset(nPageWidth * ratio.toFloat()); + } + else if (pReqArgs->GetItemState(SID_PARAGRAPH_LEFT_INDENT,true,&pLeftIndent) == SfxItemState::SET) + { + const OUString ratio = static_cast(pLeftIndent)->GetValue(); + aParaMargin.SetLeft(nPageWidth * ratio.toFloat()); + } + else if (pReqArgs->GetItemState(SID_PARAGRAPH_RIGHT_INDENT,true,&pRightIndent) == SfxItemState::SET) + { + const OUString ratio = static_cast(pRightIndent)->GetValue(); + aParaMargin.SetRight(nPageWidth * ratio.toFloat()); + } + rSh.SetAttrItem(aParaMargin); + } + break; + } case SID_HANGING_INDENT: { SfxItemSet aLRSpaceSet( GetPool(), svl::Items{} ); -- cgit v1.2.3