fix fdo#63546 : set appropriate alignment when writing direction is changed.
Change-Id: I3aa22be6ae85b6f18ed48e3ffd6abc5102a2e92e Reviewed-on: https://gerrit.libreoffice.org/3424 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
This commit is contained in:
committed by
Caolán McNamara
parent
025857d81d
commit
16f508686c
@@ -2084,6 +2084,29 @@ void ScFormatShell::ExecuteTextDirection( SfxRequest& rReq )
|
|||||||
SvxFrameDirection eDirection = ( nSlot == SID_ATTR_PARA_LEFT_TO_RIGHT ) ?
|
SvxFrameDirection eDirection = ( nSlot == SID_ATTR_PARA_LEFT_TO_RIGHT ) ?
|
||||||
FRMDIR_HORI_LEFT_TOP : FRMDIR_HORI_RIGHT_TOP;
|
FRMDIR_HORI_LEFT_TOP : FRMDIR_HORI_RIGHT_TOP;
|
||||||
pTabViewShell->ApplyAttr( SvxFrameDirectionItem( eDirection, ATTR_WRITINGDIR ) );
|
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;
|
break;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user