summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@collabora.com>2016-05-25 13:05:42 +0200
committerJan Holesovsky <kendy@collabora.com>2016-05-25 13:08:46 +0200
commit69f9e2a7c807e7e572919152c3db42083322734e (patch)
treef6f0ad812ccc69df9cefe70de5b7fb8e7744de8c /sd
parenta2727e91a0beb6f8182f6448813a3d5c2eba1b8f (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.sdi20
-rw-r--r--sd/source/ui/app/popup.src20
-rw-r--r--sd/source/ui/app/popup2_tmpl.src20
-rw-r--r--sd/source/ui/table/tableobjectbar.cxx44
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 );
}
}