From 16f508686c29bfa244ca6f81b5ab3bbaf5fef2a7 Mon Sep 17 00:00:00 2001 From: navin patidar Date: Mon, 15 Apr 2013 12:59:12 +0300 Subject: fix fdo#63546 : set appropriate alignment when writing direction is changed. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I3aa22be6ae85b6f18ed48e3ffd6abc5102a2e92e Reviewed-on: https://gerrit.libreoffice.org/3424 Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- sc/source/ui/view/formatsh.cxx | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'sc') diff --git a/sc/source/ui/view/formatsh.cxx b/sc/source/ui/view/formatsh.cxx index f93849d102c7..c4e7e40cd1bf 100644 --- a/sc/source/ui/view/formatsh.cxx +++ b/sc/source/ui/view/formatsh.cxx @@ -2084,6 +2084,29 @@ void ScFormatShell::ExecuteTextDirection( SfxRequest& rReq ) SvxFrameDirection eDirection = ( nSlot == SID_ATTR_PARA_LEFT_TO_RIGHT ) ? FRMDIR_HORI_LEFT_TOP : FRMDIR_HORI_RIGHT_TOP; pTabViewShell->ApplyAttr( SvxFrameDirectionItem( eDirection, ATTR_WRITINGDIR ) ); + + const SfxItemSet& rAttrSet = pTabViewShell->GetSelectionPattern()->GetItemSet(); + const SfxPoolItem* pItem = NULL; + const SvxHorJustifyItem* pHorJustify = NULL; + SvxCellHorJustify eHorJustify = SVX_HOR_JUSTIFY_STANDARD; + + if( rAttrSet.GetItemState(ATTR_HOR_JUSTIFY, sal_True, &pItem) == SFX_ITEM_SET ) + { + pHorJustify = (const SvxHorJustifyItem*)pItem; + eHorJustify = SvxCellHorJustify( pHorJustify->GetValue() ); + } + + if( eHorJustify != SVX_HOR_JUSTIFY_CENTER && eHorJustify != SVX_HOR_JUSTIFY_BLOCK ) + { + if( nSlot == SID_ATTR_PARA_LEFT_TO_RIGHT ) + rReq.AppendItem( SvxHorJustifyItem( SVX_HOR_JUSTIFY_LEFT, SID_H_ALIGNCELL ) ); + else + rReq.AppendItem( SvxHorJustifyItem( SVX_HOR_JUSTIFY_RIGHT, SID_H_ALIGNCELL ) ); + + rReq.SetSlot( SID_H_ALIGNCELL ); + ExecuteSlot( rReq, GetInterface() ); + } + } break; } -- cgit