diff options
-rw-r--r-- | sfx2/inc/sfx2/tabdlg.hxx | 10 | ||||
-rw-r--r-- | sfx2/source/dialog/tabdlg.cxx | 10 | ||||
-rw-r--r-- | sw/source/ui/dialog/swdlgfact.cxx | 2 |
3 files changed, 13 insertions, 9 deletions
diff --git a/sfx2/inc/sfx2/tabdlg.hxx b/sfx2/inc/sfx2/tabdlg.hxx index 69c7d892c722..d9593c053c39 100644 --- a/sfx2/inc/sfx2/tabdlg.hxx +++ b/sfx2/inc/sfx2/tabdlg.hxx @@ -219,13 +219,9 @@ public: void SetApplyHandler(const Link& _rHdl); SAL_DLLPRIVATE void Start_Impl(); - bool OK_Impl() - { - bool bRet = PrepareLeaveCurrentPage(); - if (bRet) - Ok(); - return bRet; - } + + //calls Ok without closing dialog + bool Apply(); }; namespace sfx { class ItemConnectionBase; } diff --git a/sfx2/source/dialog/tabdlg.cxx b/sfx2/source/dialog/tabdlg.cxx index 68d001dbee3c..932e4f2a5252 100644 --- a/sfx2/source/dialog/tabdlg.cxx +++ b/sfx2/source/dialog/tabdlg.cxx @@ -1175,7 +1175,7 @@ IMPL_LINK_NOARG(SfxTabDialog, OkHdl) { pImpl->bInOK = sal_True; - if ( OK_Impl() ) + if (PrepareLeaveCurrentPage()) { if ( pImpl->bModal ) EndDialog( Ok() ); @@ -1188,6 +1188,14 @@ IMPL_LINK_NOARG(SfxTabDialog, OkHdl) return 0; } +bool SfxTabDialog::Apply() +{ + bool bApplied = false; + if (PrepareLeaveCurrentPage()) + bApplied = (Ok() == RET_OK); + return bApplied; +} + // ----------------------------------------------------------------------- bool SfxTabDialog::PrepareLeaveCurrentPage() diff --git a/sw/source/ui/dialog/swdlgfact.cxx b/sw/source/ui/dialog/swdlgfact.cxx index 5f833a326673..dd84f2340ae7 100644 --- a/sw/source/ui/dialog/swdlgfact.cxx +++ b/sw/source/ui/dialog/swdlgfact.cxx @@ -159,7 +159,7 @@ String AbstractTabDialog_Impl::GetText() const IMPL_LINK_NOARG(AbstractApplyTabDialog_Impl, ApplyHdl) { - if (pDlg->OK_Impl()) + if (pDlg->Apply()) m_aHandler.Call(NULL); return 0; } |