summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sfx2/inc/sfx2/tabdlg.hxx10
-rw-r--r--sfx2/source/dialog/tabdlg.cxx10
-rw-r--r--sw/source/ui/dialog/swdlgfact.cxx2
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;
}