summaryrefslogtreecommitdiff
path: root/sw/source/ui
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/ui')
-rw-r--r--sw/source/ui/docvw/PageBreakWin.cxx24
-rw-r--r--sw/source/ui/shells/tabsh.cxx3
2 files changed, 22 insertions, 5 deletions
diff --git a/sw/source/ui/docvw/PageBreakWin.cxx b/sw/source/ui/docvw/PageBreakWin.cxx
index 2b70887ad087..170ccce84e72 100644
--- a/sw/source/ui/docvw/PageBreakWin.cxx
+++ b/sw/source/ui/docvw/PageBreakWin.cxx
@@ -244,10 +244,25 @@ void SwPageBreakWin::Select( )
{
case FN_PAGEBREAK_EDIT:
{
- // TODO Handle the break on a table case
- SfxUInt16Item aItem( GetEditWin()->GetView().GetPool( ).GetWhich( SID_PARA_DLG ), TP_PARA_EXT );
- GetEditWin()->GetView().GetViewFrame()->GetDispatcher()->Execute(
- SID_PARA_DLG, SFX_CALLMODE_SYNCHRON|SFX_CALLMODE_RECORD, &aItem, NULL );
+ const SwLayoutFrm* pBodyFrm = static_cast< const SwLayoutFrm* >( GetPageFrame()->Lower() );
+ while ( pBodyFrm && !pBodyFrm->IsBodyFrm() )
+ pBodyFrm = static_cast< const SwLayoutFrm* >( pBodyFrm->GetNext() );
+
+ if ( pBodyFrm )
+ {
+ if ( pBodyFrm->Lower()->IsTabFrm() )
+ {
+ SfxUInt16Item aItem( GetEditWin()->GetView().GetPool( ).GetWhich( FN_FORMAT_TABLE_DLG ), TP_TABLE_TEXTFLOW );
+ GetEditWin()->GetView().GetViewFrame()->GetDispatcher()->Execute(
+ FN_FORMAT_TABLE_DLG, SFX_CALLMODE_SYNCHRON|SFX_CALLMODE_RECORD, &aItem, NULL );
+ }
+ else
+ {
+ SfxUInt16Item aItem( GetEditWin()->GetView().GetPool( ).GetWhich( SID_PARA_DLG ), TP_PARA_EXT );
+ GetEditWin()->GetView().GetViewFrame()->GetDispatcher()->Execute(
+ SID_PARA_DLG, SFX_CALLMODE_SYNCHRON|SFX_CALLMODE_RECORD, &aItem, NULL );
+ }
+ }
}
break;
case FN_PAGEBREAK_DELETE:
@@ -258,7 +273,6 @@ void SwPageBreakWin::Select( )
if ( pBodyFrm )
{
- // TODO Handle the break before a table case
SwCntntFrm *pCnt = const_cast< SwCntntFrm* >( pBodyFrm->ContainsCntnt() );
sal_uInt16 nWhich = pCnt->GetAttrSet()->GetPool()->GetWhich( SID_ATTR_PARA_PAGEBREAK );
SwCntntNode* pNd = pCnt->GetNode();
diff --git a/sw/source/ui/shells/tabsh.cxx b/sw/source/ui/shells/tabsh.cxx
index bfc441a22d5e..44500b80fdac 100644
--- a/sw/source/ui/shells/tabsh.cxx
+++ b/sw/source/ui/shells/tabsh.cxx
@@ -596,6 +596,9 @@ void SwTableShell::Execute(SfxRequest &rReq)
pDlg = pFact->CreateSwTableTabDlg( GetView().GetWindow(), GetPool(), &aCoreSet, &rSh, DLG_FORMAT_TABLE );
OSL_ENSURE(pDlg, "Dialogdiet fail!");
+
+ if( pItem )
+ pDlg->SetCurPageId( ((SfxUInt16Item *)pItem)->GetValue() );
}
aCoreSet.Put(SfxUInt16Item(SID_HTML_MODE, ::GetHtmlMode(GetView().GetDocShell())));
rSh.GetTblAttr(aCoreSet);