Kaydet (Commit) 6f41502b authored tarafından Gülşah Köse's avatar Gülşah Köse Kaydeden (comit) Miklos Vajna

Implement sidebar increase/decrease indent buttons on Impress

Change-Id: Ie7c115e041a6dee7b5e5d938ad3fbf37cf9bc89b
Reviewed-on: https://gerrit.libreoffice.org/69840
Tested-by: Jenkins
Reviewed-by: 's avatarMiklos Vajna <vmiklos@collabora.com>
üst 4fda02a8
......@@ -191,6 +191,18 @@ shell TextObjectBar
StateMethod = GetAttrState;
]
SID_INC_INDENT
[
ExecMethod = Execute;
StateMethod = GetAttrState;
]
SID_DEC_INDENT
[
ExecMethod = Execute;
StateMethod = GetAttrState;
]
SID_ATTR_PARA_LRSPACE
[
ExecMethod = Execute ;
......
......@@ -970,6 +970,8 @@ bool FuDraw::cancel()
bReturn = true;
SfxBindings& rBindings = mpViewShell->GetViewFrame()->GetBindings();
rBindings.Invalidate( SID_DEC_INDENT );
rBindings.Invalidate( SID_INC_INDENT );
rBindings.Invalidate( SID_PARASPACE_INCREASE );
rBindings.Invalidate( SID_PARASPACE_DECREASE );
}
......
......@@ -72,6 +72,8 @@ static const sal_uInt16 SidArray[] = {
SID_SET_SUPER_SCRIPT,
SID_SET_SUB_SCRIPT,
SID_HYPERLINK_GETLINK,
SID_DEC_INDENT,
SID_INC_INDENT,
SID_PARASPACE_INCREASE,
SID_PARASPACE_DECREASE,
SID_STATUS_PAGE,
......
......@@ -141,6 +141,8 @@ void FuParagraph::DoExecute( SfxRequest& rReq )
SID_ATTR_PARA_LINESPACE_20,
SID_ATTR_PARA_ULSPACE,
SID_ATTR_PARA_LRSPACE,
SID_DEC_INDENT,
SID_INC_INDENT,
SID_ATTR_PARA_LEFT_TO_RIGHT,
SID_ATTR_PARA_RIGHT_TO_LEFT,
SID_RULER_TEXT_RIGHT_TO_LEFT,
......
......@@ -123,6 +123,8 @@ static const sal_uInt16 SidArray[] = {
SID_ATTR_TRANSFORM_AUTOWIDTH, // 10310
SID_ATTR_TRANSFORM_AUTOHEIGHT, // 10311 //Added
SID_HYPERLINK_GETLINK, // 10361
SID_DEC_INDENT, // 10461
SID_INC_INDENT, // 10462
SID_CHARMAP, // 10503
SID_TEXTDIRECTION_LEFT_TO_RIGHT, // 10907
SID_TEXTDIRECTION_TOP_TO_BOTTOM, // 10908
......
......@@ -434,6 +434,8 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet )
rSet.DisableItem( SID_ATTR_PARA_LINESPACE_10 );
rSet.DisableItem( SID_ATTR_PARA_LINESPACE_15 );
rSet.DisableItem( SID_ATTR_PARA_LINESPACE_20 );
rSet.DisableItem( SID_DEC_INDENT );
rSet.DisableItem( SID_INC_INDENT );
rSet.DisableItem( SID_PARASPACE_INCREASE );
rSet.DisableItem( SID_PARASPACE_DECREASE );
rSet.DisableItem( SID_TEXTDIRECTION_TOP_TO_BOTTOM );
......
......@@ -130,6 +130,59 @@ void TextObjectBar::Execute( SfxRequest &rReq )
}
break;
case SID_INC_INDENT:
case SID_DEC_INDENT:
{
if( pOLV )
{
ESelection aSel = pOLV->GetSelection();
aSel.Adjust();
sal_Int32 nStartPara = aSel.nStartPara;
sal_Int32 nEndPara = aSel.nEndPara;
if( !aSel.HasRange() )
{
nStartPara = 0;
nEndPara = pOLV->GetOutliner()->GetParagraphCount() - 1;
}
for( sal_Int32 nPara = nStartPara; nPara <= nEndPara; nPara++ )
{
SfxStyleSheet* pStyleSheet = nullptr;
if (pOLV->GetOutliner() != nullptr)
pStyleSheet = pOLV->GetOutliner()->GetStyleSheet(nPara);
if (pStyleSheet != nullptr)
{
SfxItemSet aAttr( pStyleSheet->GetItemSet() );
SfxItemSet aTmpSet( pOLV->GetOutliner()->GetParaAttribs( nPara ) );
aAttr.Put( aTmpSet, false );
const SvxLRSpaceItem& rItem = aAttr.Get( EE_PARA_LRSPACE );
std::unique_ptr<SvxLRSpaceItem> pNewItem(static_cast<SvxLRSpaceItem*>(rItem.Clone()));
long nLeft = pNewItem->GetLeft();
if( nSlot == SID_INC_INDENT )
nLeft += 1000;
else
{
nLeft -= 1000;
nLeft = std::max<long>( nLeft, 0 );
}
pNewItem->SetLeftValue( static_cast<sal_uInt16>(nLeft) );
SfxItemSet aNewAttrs( aAttr );
aNewAttrs.Put( *pNewItem );
pNewItem.reset();
pOLV->GetOutliner()->SetParaAttribs( nPara, aNewAttrs );
}
}
}
rReq.Done();
Invalidate();
// to refresh preview (in outline mode), slot has to be invalidated:
mpViewShell->GetViewFrame()->GetBindings().Invalidate( SID_PREVIEW_STATE, true );
}
break;
case SID_PARASPACE_INCREASE:
case SID_PARASPACE_DECREASE:
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment