diff options
author | Jan Holesovsky <kendy@collabora.com> | 2016-05-25 13:05:42 +0200 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2016-05-25 13:08:46 +0200 |
commit | 69f9e2a7c807e7e572919152c3db42083322734e (patch) | |
tree | f6f0ad812ccc69df9cefe70de5b7fb8e7744de8c /sd | |
parent | a2727e91a0beb6f8182f6448813a3d5c2eba1b8f (diff) |
sd bccu#1840: .uno: commands for inserting rows / columns in Impress.
Change-Id: Ic07722c3e1f75d909ec8f123919a1898dfde05b0
Diffstat (limited to 'sd')
-rw-r--r-- | sd/sdi/tables.sdi | 20 | ||||
-rw-r--r-- | sd/source/ui/app/popup.src | 20 | ||||
-rw-r--r-- | sd/source/ui/app/popup2_tmpl.src | 20 | ||||
-rw-r--r-- | sd/source/ui/table/tableobjectbar.cxx | 44 |
4 files changed, 93 insertions, 11 deletions
diff --git a/sd/sdi/tables.sdi b/sd/sdi/tables.sdi index 0d3eb62a47da..4e234a75aefd 100644 --- a/sd/sdi/tables.sdi +++ b/sd/sdi/tables.sdi @@ -83,11 +83,31 @@ shell TableObjectBar ExecMethod = Execute; StateMethod = GetState; ] + SID_TABLE_INSERT_ROW_BEFORE + [ + ExecMethod = Execute; + StateMethod = GetState; + ] + SID_TABLE_INSERT_ROW_AFTER + [ + ExecMethod = Execute; + StateMethod = GetState; + ] SID_TABLE_INSERT_COL_DLG [ ExecMethod = Execute; StateMethod = GetState; ] + SID_TABLE_INSERT_COL_BEFORE + [ + ExecMethod = Execute; + StateMethod = GetState; + ] + SID_TABLE_INSERT_COL_AFTER + [ + ExecMethod = Execute; + StateMethod = GetState; + ] SID_TABLE_DELETE_ROW [ ExecMethod = Execute; diff --git a/sd/source/ui/app/popup.src b/sd/source/ui/app/popup.src index 0a0cbbc8821f..a19c7db4eb06 100644 --- a/sd/source/ui/app/popup.src +++ b/sd/source/ui/app/popup.src @@ -148,6 +148,16 @@ Menu RID_DRAW_TABLEOBJ_INSIDE_POPUP }; MenuItem { + Identifier = SID_TABLE_INSERT_ROW_BEFORE ; + Text [ en-US ] = "Rows Above" ; + }; + MenuItem + { + Identifier = SID_TABLE_INSERT_ROW_AFTER ; + Text [ en-US ] = "Rows Below" ; + }; + MenuItem + { Identifier = SID_TABLE_INSERT_ROW_DLG; HelpId = CMD_SID_TABLE_INSERT_ROW_DLG; Text [ en-US ] = "~Insert..."; @@ -185,6 +195,16 @@ Menu RID_DRAW_TABLEOBJ_INSIDE_POPUP }; MenuItem { + Identifier = SID_TABLE_INSERT_COL_BEFORE ; + Text [ en-US ] = "Columns Left" ; + }; + MenuItem + { + Identifier = SID_TABLE_INSERT_COL_AFTER ; + Text [ en-US ] = "Columns Right" ; + }; + MenuItem + { Identifier = SID_TABLE_INSERT_COL_DLG; HelpId = CMD_SID_TABLE_INSERT_COL_DLG; Text [ en-US ] = "~Insert..."; diff --git a/sd/source/ui/app/popup2_tmpl.src b/sd/source/ui/app/popup2_tmpl.src index 28c858ffc6cb..b26a61cf4725 100644 --- a/sd/source/ui/app/popup2_tmpl.src +++ b/sd/source/ui/app/popup2_tmpl.src @@ -699,6 +699,16 @@ }; MenuItem { + Identifier = SID_TABLE_INSERT_ROW_BEFORE ; + Text [ en-US ] = "Rows Above" ; + }; + MenuItem + { + Identifier = SID_TABLE_INSERT_ROW_AFTER ; + Text [ en-US ] = "Rows Below" ; + }; + MenuItem + { Identifier = SID_TABLE_INSERT_ROW_DLG; HelpId = CMD_SID_TABLE_INSERT_ROW_DLG; Text [ en-US ] = "~Insert..."; @@ -736,6 +746,16 @@ }; MenuItem { + Identifier = SID_TABLE_INSERT_COL_BEFORE ; + Text [ en-US ] = "Columns Left" ; + }; + MenuItem + { + Identifier = SID_TABLE_INSERT_COL_AFTER ; + Text [ en-US ] = "Columns Right" ; + }; + MenuItem + { Identifier = SID_TABLE_INSERT_COL_DLG; HelpId = CMD_SID_TABLE_INSERT_COL_DLG; Text [ en-US ] = "~Insert..."; diff --git a/sd/source/ui/table/tableobjectbar.cxx b/sd/source/ui/table/tableobjectbar.cxx index 71df3dffe6eb..b432aa641f67 100644 --- a/sd/source/ui/table/tableobjectbar.cxx +++ b/sd/source/ui/table/tableobjectbar.cxx @@ -137,23 +137,45 @@ void TableObjectBar::Execute( SfxRequest& rReq ) switch( nSlotId ) { case SID_TABLE_INSERT_ROW_DLG: + case SID_TABLE_INSERT_ROW_BEFORE: + case SID_TABLE_INSERT_ROW_AFTER: case SID_TABLE_INSERT_COL_DLG: + case SID_TABLE_INSERT_COL_BEFORE: + case SID_TABLE_INSERT_COL_AFTER: { - SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); - boost::scoped_ptr<SvxAbstractInsRowColDlg> pDlg( pFact ? pFact->CreateSvxInsRowColDlg( mpView->GetViewShell()->GetParentWindow(), nSlotId == SID_TABLE_INSERT_COL_DLG, SD_MOD()->GetSlotPool()->GetSlot(nSlotId)->GetCommand()) : 0); - - if( pDlg.get() && (pDlg->Execute() == 1) ) + boost::scoped_ptr<SvxAbstractInsRowColDlg> pDlg; + if (nSlotId == SID_TABLE_INSERT_ROW_DLG || nSlotId == SID_TABLE_INSERT_COL_DLG) { - if( nSlotId == SID_TABLE_INSERT_ROW_DLG ) - nSlotId = SID_TABLE_INSERT_ROW; - else - nSlotId = SID_TABLE_INSERT_COL; + SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); + pDlg.reset(pFact ? pFact->CreateSvxInsRowColDlg(mpView->GetViewShell()->GetParentWindow(), nSlotId == SID_TABLE_INSERT_COL_DLG, SD_MOD()->GetSlotPool()->GetSlot(nSlotId)->GetCommand()) : nullptr); + + if (!pDlg.get() || (pDlg->Execute() != 1)) + break; + } - rReq.AppendItem( SfxInt16Item( (sal_uInt16)nSlotId, (sal_uInt16)pDlg->getInsertCount() ) ); - rReq.AppendItem( SfxBoolItem( SID_TABLE_PARAM_INSERT_AFTER, !pDlg->isInsertBefore() ) ); + sal_uInt16 nCount = 1; + bool bInsertAfter = (nSlotId == SID_TABLE_INSERT_ROW_AFTER) || (nSlotId == SID_TABLE_INSERT_COL_AFTER); - rReq.SetSlot( (sal_uInt16)nSlotId ); + if (nSlotId == SID_TABLE_INSERT_ROW_DLG) + { + nCount = pDlg->getInsertCount(); + bInsertAfter = !pDlg->isInsertBefore(); } + else if (nSlotId == SID_TABLE_INSERT_COL_DLG) + { + nCount = pDlg->getInsertCount(); + bInsertAfter = !pDlg->isInsertBefore(); + } + + if (nSlotId == SID_TABLE_INSERT_ROW_DLG || nSlotId == SID_TABLE_INSERT_ROW_BEFORE || nSlotId == SID_TABLE_INSERT_ROW_AFTER) + nSlotId = SID_TABLE_INSERT_ROW; + else + nSlotId = SID_TABLE_INSERT_COL; + + rReq.AppendItem(SfxInt16Item((sal_uInt16)nSlotId, nCount)); + rReq.AppendItem(SfxBoolItem(SID_TABLE_PARAM_INSERT_AFTER, bInsertAfter)); + + rReq.SetSlot( (sal_uInt16)nSlotId ); } } |