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 ...@@ -191,6 +191,18 @@ shell TextObjectBar
StateMethod = GetAttrState; StateMethod = GetAttrState;
] ]
SID_INC_INDENT
[
ExecMethod = Execute;
StateMethod = GetAttrState;
]
SID_DEC_INDENT
[
ExecMethod = Execute;
StateMethod = GetAttrState;
]
SID_ATTR_PARA_LRSPACE SID_ATTR_PARA_LRSPACE
[ [
ExecMethod = Execute ; ExecMethod = Execute ;
......
...@@ -970,6 +970,8 @@ bool FuDraw::cancel() ...@@ -970,6 +970,8 @@ bool FuDraw::cancel()
bReturn = true; bReturn = true;
SfxBindings& rBindings = mpViewShell->GetViewFrame()->GetBindings(); SfxBindings& rBindings = mpViewShell->GetViewFrame()->GetBindings();
rBindings.Invalidate( SID_DEC_INDENT );
rBindings.Invalidate( SID_INC_INDENT );
rBindings.Invalidate( SID_PARASPACE_INCREASE ); rBindings.Invalidate( SID_PARASPACE_INCREASE );
rBindings.Invalidate( SID_PARASPACE_DECREASE ); rBindings.Invalidate( SID_PARASPACE_DECREASE );
} }
......
...@@ -72,6 +72,8 @@ static const sal_uInt16 SidArray[] = { ...@@ -72,6 +72,8 @@ static const sal_uInt16 SidArray[] = {
SID_SET_SUPER_SCRIPT, SID_SET_SUPER_SCRIPT,
SID_SET_SUB_SCRIPT, SID_SET_SUB_SCRIPT,
SID_HYPERLINK_GETLINK, SID_HYPERLINK_GETLINK,
SID_DEC_INDENT,
SID_INC_INDENT,
SID_PARASPACE_INCREASE, SID_PARASPACE_INCREASE,
SID_PARASPACE_DECREASE, SID_PARASPACE_DECREASE,
SID_STATUS_PAGE, SID_STATUS_PAGE,
......
...@@ -141,6 +141,8 @@ void FuParagraph::DoExecute( SfxRequest& rReq ) ...@@ -141,6 +141,8 @@ void FuParagraph::DoExecute( SfxRequest& rReq )
SID_ATTR_PARA_LINESPACE_20, SID_ATTR_PARA_LINESPACE_20,
SID_ATTR_PARA_ULSPACE, SID_ATTR_PARA_ULSPACE,
SID_ATTR_PARA_LRSPACE, SID_ATTR_PARA_LRSPACE,
SID_DEC_INDENT,
SID_INC_INDENT,
SID_ATTR_PARA_LEFT_TO_RIGHT, SID_ATTR_PARA_LEFT_TO_RIGHT,
SID_ATTR_PARA_RIGHT_TO_LEFT, SID_ATTR_PARA_RIGHT_TO_LEFT,
SID_RULER_TEXT_RIGHT_TO_LEFT, SID_RULER_TEXT_RIGHT_TO_LEFT,
......
...@@ -123,6 +123,8 @@ static const sal_uInt16 SidArray[] = { ...@@ -123,6 +123,8 @@ static const sal_uInt16 SidArray[] = {
SID_ATTR_TRANSFORM_AUTOWIDTH, // 10310 SID_ATTR_TRANSFORM_AUTOWIDTH, // 10310
SID_ATTR_TRANSFORM_AUTOHEIGHT, // 10311 //Added SID_ATTR_TRANSFORM_AUTOHEIGHT, // 10311 //Added
SID_HYPERLINK_GETLINK, // 10361 SID_HYPERLINK_GETLINK, // 10361
SID_DEC_INDENT, // 10461
SID_INC_INDENT, // 10462
SID_CHARMAP, // 10503 SID_CHARMAP, // 10503
SID_TEXTDIRECTION_LEFT_TO_RIGHT, // 10907 SID_TEXTDIRECTION_LEFT_TO_RIGHT, // 10907
SID_TEXTDIRECTION_TOP_TO_BOTTOM, // 10908 SID_TEXTDIRECTION_TOP_TO_BOTTOM, // 10908
......
...@@ -434,6 +434,8 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet ) ...@@ -434,6 +434,8 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet )
rSet.DisableItem( SID_ATTR_PARA_LINESPACE_10 ); rSet.DisableItem( SID_ATTR_PARA_LINESPACE_10 );
rSet.DisableItem( SID_ATTR_PARA_LINESPACE_15 ); rSet.DisableItem( SID_ATTR_PARA_LINESPACE_15 );
rSet.DisableItem( SID_ATTR_PARA_LINESPACE_20 ); 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_INCREASE );
rSet.DisableItem( SID_PARASPACE_DECREASE ); rSet.DisableItem( SID_PARASPACE_DECREASE );
rSet.DisableItem( SID_TEXTDIRECTION_TOP_TO_BOTTOM ); rSet.DisableItem( SID_TEXTDIRECTION_TOP_TO_BOTTOM );
......
...@@ -130,6 +130,59 @@ void TextObjectBar::Execute( SfxRequest &rReq ) ...@@ -130,6 +130,59 @@ void TextObjectBar::Execute( SfxRequest &rReq )
} }
break; 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_INCREASE:
case SID_PARASPACE_DECREASE: 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