[Libreoffice-commits] core.git: cui/source fpicker/source include/sfx2 include/vcl sfx2/source sw/source vcl/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Wed Oct 31 21:08:34 UTC 2018
cui/source/dialogs/cuigaldlg.cxx | 30 ++++++++++-----------------
cui/source/factory/dlgfact.cxx | 12 +++-------
cui/source/factory/dlgfact.hxx | 2 -
cui/source/inc/cuigaldlg.hxx | 8 ++++---
fpicker/source/office/OfficeFilePicker.cxx | 15 ++++++-------
fpicker/source/office/OfficeFilePicker.hxx | 2 -
fpicker/source/office/OfficeFolderPicker.cxx | 11 ++++++---
fpicker/source/office/OfficeFolderPicker.hxx | 4 +--
fpicker/source/office/iodlg.cxx | 9 ++------
fpicker/source/office/iodlg.hxx | 2 -
include/sfx2/tabdlg.hxx | 1
include/vcl/dialog.hxx | 2 -
sfx2/source/dialog/tabdlg.cxx | 9 --------
sw/source/ui/dialog/swdlgfact.cxx | 10 +++------
sw/source/ui/dialog/swdlgfact.hxx | 2 -
vcl/source/window/dialog.cxx | 9 --------
16 files changed, 48 insertions(+), 80 deletions(-)
New commits:
commit 9d1c68ae17ef566b9034478c7b29411c62684289
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Oct 31 11:57:38 2018 +0000
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Wed Oct 31 22:08:07 2018 +0100
replace StartExecuteModal with StartExecuteAsync
Change-Id: I2c0e0266f6bb468ebb5285f95d1824cf12100812
Reviewed-on: https://gerrit.libreoffice.org/62690
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/cui/source/dialogs/cuigaldlg.cxx b/cui/source/dialogs/cuigaldlg.cxx
index a04340bbc80e..3bb5d6154677 100644
--- a/cui/source/dialogs/cuigaldlg.cxx
+++ b/cui/source/dialogs/cuigaldlg.cxx
@@ -236,7 +236,6 @@ IMPL_LINK_NOARG(SearchProgress, CleanUpHdl, void*, void)
disposeOnce();
}
-
short SearchProgress::Execute()
{
OSL_FAIL( "SearchProgress cannot be executed via Dialog::Execute!\n"
@@ -245,17 +244,15 @@ short SearchProgress::Execute()
return RET_CANCEL;
}
-
-void SearchProgress::StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl )
+bool SearchProgress::StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx)
{
assert(!maSearchThread.is());
maSearchThread = new SearchThread(
this, static_cast< TPGalleryThemeProperties * >(parent_.get()), startUrl_);
maSearchThread->launch();
- ModalDialog::StartExecuteModal( rEndDialogHdl );
+ return ModalDialog::StartExecuteAsync(rCtx);
}
-
TakeThread::TakeThread(
TakeProgress* pProgress,
TPGalleryThemeProperties* pBrowser,
@@ -400,7 +397,6 @@ IMPL_LINK_NOARG(TakeProgress, CleanUpHdl, void*, void)
disposeOnce();
}
-
short TakeProgress::Execute()
{
OSL_FAIL( "TakeProgress cannot be executed via Dialog::Execute!\n"
@@ -409,17 +405,15 @@ short TakeProgress::Execute()
return RET_CANCEL;
}
-
-void TakeProgress::StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl )
+bool TakeProgress::StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx)
{
assert(!maTakeThread.is());
maTakeThread = new TakeThread(
this, static_cast< TPGalleryThemeProperties * >(window_.get()), maTakenList);
maTakeThread->launch();
- ModalDialog::StartExecuteModal( rEndDialogHdl );
+ return ModalDialog::StartExecuteAsync(rCtx);
}
-
ActualizeProgress::ActualizeProgress(vcl::Window* pWindow, GalleryTheme* pThm)
: ModalDialog(pWindow, "GalleryUpdateProgress",
"cui/ui/galleryupdateprogress.ui")
@@ -923,7 +917,9 @@ void TPGalleryThemeProperties::SearchFiles()
pProgress->SetDirectory( INetURLObject() );
pProgress->Update();
- pProgress->StartExecuteModal( LINK( this, TPGalleryThemeProperties, EndSearchProgressHdl ) );
+ pProgress->StartExecuteAsync([=](sal_Int32 nResult){
+ EndSearchProgressHdl(nResult);
+ });
}
@@ -962,7 +958,6 @@ IMPL_LINK_NOARG(TPGalleryThemeProperties, ClickSearchHdl, Button*, void)
}
}
-
void TPGalleryThemeProperties::TakeFiles()
{
if( m_pLbxFound->GetSelectedEntryCount() || ( bTakeAll && bEntriesFound ) )
@@ -970,9 +965,10 @@ void TPGalleryThemeProperties::TakeFiles()
VclPtrInstance<TakeProgress> pTakeProgress( this );
pTakeProgress->Update();
- pTakeProgress->StartExecuteModal(
- Link<Dialog&,void>() /* no postprocessing needed, pTakeProgress
- will be disposed in TakeProgress::CleanupHdl */ );
+ pTakeProgress->StartExecuteAsync([=](sal_Int32 /*nResult*/){
+ /* no postprocessing needed, pTakeProgress
+ will be disposed in TakeProgress::CleanupHdl */
+ });
}
}
@@ -1107,8 +1103,7 @@ IMPL_LINK_NOARG(TPGalleryThemeProperties, PreviewTimerHdl, Timer *, void)
DoPreview();
}
-
-IMPL_LINK_NOARG(TPGalleryThemeProperties, EndSearchProgressHdl, Dialog&, void)
+void TPGalleryThemeProperties::EndSearchProgressHdl(sal_Int32 /*nResult*/)
{
if( !aFoundList.empty() )
{
@@ -1126,7 +1121,6 @@ IMPL_LINK_NOARG(TPGalleryThemeProperties, EndSearchProgressHdl, Dialog&, void)
}
}
-
IMPL_LINK( TPGalleryThemeProperties, DialogClosedHdl, css::ui::dialogs::DialogClosedEvent*, pEvt, void )
{
DBG_ASSERT( xFolderPicker.is(), "TPGalleryThemeProperties::DialogClosedHdl(): no folder picker" );
diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx
index 138d5427b0a8..067e91c7657b 100644
--- a/cui/source/factory/dlgfact.cxx
+++ b/cui/source/factory/dlgfact.cxx
@@ -297,8 +297,9 @@ void VclAbstractDialog2_Impl::dispose()
void VclAbstractDialog2_Impl::StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl )
{
m_aEndDlgHdl = rEndDialogHdl;
- m_pDlg->StartExecuteModal(
- LINK( this, VclAbstractDialog2_Impl, EndDialogHdl ) );
+ m_pDlg->StartExecuteAsync([=](sal_Int32 nResult){
+ EndDialogHdl(nResult);
+ });
}
// virtual
@@ -307,13 +308,8 @@ sal_Int32 VclAbstractDialog2_Impl::GetResult()
return m_pDlg->GetResult();
}
-IMPL_LINK( VclAbstractDialog2_Impl, EndDialogHdl, Dialog&, rDlg, void )
+void VclAbstractDialog2_Impl::EndDialogHdl(sal_Int32 /*nResult*/)
{
- if ( &rDlg != m_pDlg )
- {
- SAL_WARN( "cui.factory", "VclAbstractDialog2_Impl::EndDialogHdl(): wrong dialog" );
- }
-
m_aEndDlgHdl.Call( *m_pDlg );
m_aEndDlgHdl = Link<Dialog&,void>();
}
diff --git a/cui/source/factory/dlgfact.hxx b/cui/source/factory/dlgfact.hxx
index bbf336099475..d780da073e28 100644
--- a/cui/source/factory/dlgfact.hxx
+++ b/cui/source/factory/dlgfact.hxx
@@ -91,7 +91,7 @@ public:
virtual void StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl ) override;
virtual sal_Int32 GetResult() override;
private:
- DECL_LINK( EndDialogHdl, Dialog&, void );
+ void EndDialogHdl(sal_Int32 nResult);
};
class CuiVclAbstractDialog_Impl : public VclAbstractDialog
diff --git a/cui/source/inc/cuigaldlg.hxx b/cui/source/inc/cuigaldlg.hxx
index fd36e8b314a3..85b465065da7 100644
--- a/cui/source/inc/cuigaldlg.hxx
+++ b/cui/source/inc/cuigaldlg.hxx
@@ -97,7 +97,8 @@ public:
DECL_LINK( CleanUpHdl, void*, void );
virtual short Execute() override;
- virtual void StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl ) override;
+ using ModalDialog::StartExecuteAsync;
+ virtual bool StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx) override;
void SetFileType( const OUString& rType ) { m_pFtSearchType->SetText( rType ); }
void SetDirectory( const INetURLObject& rURL ) { m_pFtSearchDir->SetText( GetReducedString( rURL, 30 ) ); }
};
@@ -143,7 +144,8 @@ public:
void SetFile( const INetURLObject& rURL ) { m_pFtTakeFile->SetText( GetReducedString( rURL, 30 ) ); }
virtual short Execute() override;
- virtual void StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl ) override;
+ using ModalDialog::StartExecuteAsync;
+ virtual bool StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx) override;
};
class ActualizeProgress : public ModalDialog
@@ -264,6 +266,7 @@ class TPGalleryThemeProperties : public SfxTabPage
void SearchFiles();
void TakeFiles();
void DoPreview();
+ void EndSearchProgressHdl(sal_Int32 nResult);
DECL_LINK( ClickPreviewHdl, Button*, void );
DECL_LINK( ClickSearchHdl, Button*, void );
@@ -273,7 +276,6 @@ class TPGalleryThemeProperties : public SfxTabPage
DECL_LINK( SelectFileTypeHdl, ComboBox&, void );
DECL_LINK( DClickFoundHdl, ListBox&, void );
DECL_LINK( PreviewTimerHdl, Timer*, void );
- DECL_LINK( EndSearchProgressHdl, Dialog&, void );
DECL_LINK( DialogClosedHdl, css::ui::dialogs::DialogClosedEvent*, void );
public:
diff --git a/fpicker/source/office/OfficeFilePicker.cxx b/fpicker/source/office/OfficeFilePicker.cxx
index 8966e7f9f426..6f22961fdf8d 100644
--- a/fpicker/source/office/OfficeFilePicker.cxx
+++ b/fpicker/source/office/OfficeFilePicker.cxx
@@ -212,22 +212,18 @@ void SvtFilePicker::prepareExecute()
}
-
-IMPL_LINK( SvtFilePicker, DialogClosedHdl, Dialog&, rDlg, void )
+void SvtFilePicker::DialogClosedHdl(sal_Int32 nResult)
{
if ( m_xDlgClosedListener.is() )
{
- sal_Int16 nRet = static_cast< sal_Int16 >( rDlg.GetResult() );
+ sal_Int16 nRet = static_cast< sal_Int16 >(nResult);
css::ui::dialogs::DialogClosedEvent aEvent( *this, nRet );
m_xDlgClosedListener->dialogClosed( aEvent );
m_xDlgClosedListener.clear();
}
}
-
// SvtFilePicker
-
-
PickerFlags SvtFilePicker::getPickerFlags()
{
// set the winbits for creating the filedialog
@@ -505,8 +501,11 @@ void SAL_CALL SvtFilePicker::startExecuteModal( const Reference< css::ui::dialog
m_xDlgClosedListener = xListener;
prepareDialog();
prepareExecute();
- getDialog()->EnableAutocompletion();
- getDialog()->StartExecuteModal( LINK( this, SvtFilePicker, DialogClosedHdl ) );
+ SvtFileDialog_Base* pDialog = getDialog();
+ pDialog->EnableAutocompletion();
+ pDialog->StartExecuteAsync([=](sal_Int32 nResult){
+ DialogClosedHdl(nResult);
+ });
}
diff --git a/fpicker/source/office/OfficeFilePicker.hxx b/fpicker/source/office/OfficeFilePicker.hxx
index af60daa9ee0b..9df75d019fb7 100644
--- a/fpicker/source/office/OfficeFilePicker.hxx
+++ b/fpicker/source/office/OfficeFilePicker.hxx
@@ -222,7 +222,7 @@ protected:
void prepareExecute( );
- DECL_LINK( DialogClosedHdl, Dialog&, void );
+ void DialogClosedHdl(sal_Int32 nResult);
};
// SvtRemoteFilePicker
diff --git a/fpicker/source/office/OfficeFolderPicker.cxx b/fpicker/source/office/OfficeFolderPicker.cxx
index 5ace5400eedf..06703055fb4b 100644
--- a/fpicker/source/office/OfficeFolderPicker.cxx
+++ b/fpicker/source/office/OfficeFolderPicker.cxx
@@ -63,8 +63,11 @@ void SAL_CALL SvtFolderPicker::startExecuteModal( const Reference< css::ui::dial
m_xListener = xListener;
prepareDialog();
prepareExecute();
- getDialog()->EnableAutocompletion();
- getDialog()->StartExecuteModal( LINK( this, SvtFolderPicker, DialogClosedHdl ) );
+ SvtFileDialog_Base* pDialog = getDialog();
+ pDialog->EnableAutocompletion();
+ pDialog->StartExecuteAsync([=](sal_Int32 nResult){
+ DialogClosedHdl(nResult);
+ });
}
VclPtr<SvtFileDialog_Base> SvtFolderPicker::implCreateDialog( vcl::Window* _pParent )
@@ -96,11 +99,11 @@ void SvtFolderPicker::prepareExecute()
}
}
-IMPL_LINK( SvtFolderPicker, DialogClosedHdl, Dialog&, rDlg, void )
+void SvtFolderPicker::DialogClosedHdl(sal_Int32 nResult)
{
if ( m_xListener.is() )
{
- sal_Int16 nRet = static_cast< sal_Int16 >( rDlg.GetResult() );
+ sal_Int16 nRet = static_cast<sal_Int16>(nResult);
css::ui::dialogs::DialogClosedEvent aEvent( *this, nRet );
m_xListener->dialogClosed( aEvent );
m_xListener.clear();
diff --git a/fpicker/source/office/OfficeFolderPicker.hxx b/fpicker/source/office/OfficeFolderPicker.hxx
index 4dd96a833151..7a44881c05f8 100644
--- a/fpicker/source/office/OfficeFolderPicker.hxx
+++ b/fpicker/source/office/OfficeFolderPicker.hxx
@@ -45,8 +45,8 @@ private:
css::uno::Reference< css::ui::dialogs::XDialogClosedListener >
m_xListener;
- void prepareExecute( );
- DECL_LINK( DialogClosedHdl, Dialog&, void );
+ void prepareExecute();
+ void DialogClosedHdl(sal_Int32 nResult);
public:
SvtFolderPicker();
diff --git a/fpicker/source/office/iodlg.cxx b/fpicker/source/office/iodlg.cxx
index 18714773cdf3..c7211f330a00 100644
--- a/fpicker/source/office/iodlg.cxx
+++ b/fpicker/source/office/iodlg.cxx
@@ -1685,17 +1685,15 @@ short SvtFileDialog::Execute()
return nResult;
}
-
-void SvtFileDialog::StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl )
+bool SvtFileDialog::StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx)
{
if (!PrepareExecute())
- return;
+ return false;
// start of the dialog
- ModalDialog::StartExecuteModal( rEndDialogHdl );
+ return ModalDialog::StartExecuteAsync(rCtx);
}
-
void SvtFileDialog::onAsyncOperationStarted()
{
EnableUI( false );
@@ -1704,7 +1702,6 @@ void SvtFileDialog::onAsyncOperationStarted()
pImpl->_pBtnCancel->GrabFocus();
}
-
void SvtFileDialog::onAsyncOperationFinished()
{
EnableUI( true );
diff --git a/fpicker/source/office/iodlg.hxx b/fpicker/source/office/iodlg.hxx
index 3cb4f631e307..165e8426086a 100644
--- a/fpicker/source/office/iodlg.hxx
+++ b/fpicker/source/office/iodlg.hxx
@@ -173,7 +173,7 @@ public:
virtual void dispose() override;
virtual short Execute() override;
- virtual void StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl ) override;
+ virtual bool StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx) override;
void FileSelect();
void FilterSelect() override;
diff --git a/include/sfx2/tabdlg.hxx b/include/sfx2/tabdlg.hxx
index 3247da37e62f..f57fc5949ace 100644
--- a/include/sfx2/tabdlg.hxx
+++ b/include/sfx2/tabdlg.hxx
@@ -183,7 +183,6 @@ public:
void RemoveStandardButton();
short Execute() override;
- void StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl ) override;
bool StartExecuteAsync( VclAbstractDialog::AsyncContext &rCtx ) override;
void Start();
diff --git a/include/vcl/dialog.hxx b/include/vcl/dialog.hxx
index 66d6e2bccd6f..8d4c2c6e0ee2 100644
--- a/include/vcl/dialog.hxx
+++ b/include/vcl/dialog.hxx
@@ -140,7 +140,6 @@ public:
// Dialog::Execute replacement API
public:
- virtual void StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl );
long GetResult() const;
private:
bool ImplStartExecuteModal();
@@ -148,7 +147,6 @@ private:
void ImplSetModalInputMode(bool bModal);
public:
- // FIXME: Need to remove old StartExecuteModal in favour of this one.
/// Returns true if the dialog successfully starts
bool StartExecuteAsync(const std::function<void(sal_Int32)> &rEndDialogFn)
{
diff --git a/sfx2/source/dialog/tabdlg.cxx b/sfx2/source/dialog/tabdlg.cxx
index 56143ef5ae36..b5e2719c4830 100644
--- a/sfx2/source/dialog/tabdlg.cxx
+++ b/sfx2/source/dialog/tabdlg.cxx
@@ -580,15 +580,6 @@ bool SfxTabDialog::StartExecuteAsync( VclAbstractDialog::AsyncContext &rCtx )
return TabDialog::StartExecuteAsync( rCtx );
}
-void SfxTabDialog::StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl )
-{
- if ( !m_pTabCtrl->GetPageCount() )
- return;
- Start_Impl();
- TabDialog::StartExecuteModal( rEndDialogHdl );
-}
-
-
void SfxTabDialog::Start()
{
m_pImpl->bModal = false;
diff --git a/sw/source/ui/dialog/swdlgfact.cxx b/sw/source/ui/dialog/swdlgfact.cxx
index 15a96a671249..39db3b0a1f10 100644
--- a/sw/source/ui/dialog/swdlgfact.cxx
+++ b/sw/source/ui/dialog/swdlgfact.cxx
@@ -724,8 +724,9 @@ void AbstractMailMergeWizard_Impl::dispose()
void AbstractMailMergeWizard_Impl::StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl )
{
aEndDlgHdl = rEndDialogHdl;
- pDlg->StartExecuteModal(
- LINK( this, AbstractMailMergeWizard_Impl, EndDialogHdl ) );
+ pDlg->StartExecuteAsync([=](sal_Int32 nResult){
+ EndDialogHdl(nResult);
+ });
}
sal_Int32 AbstractMailMergeWizard_Impl::GetResult()
@@ -733,11 +734,8 @@ sal_Int32 AbstractMailMergeWizard_Impl::GetResult()
return pDlg->GetResult();
}
-IMPL_LINK( AbstractMailMergeWizard_Impl, EndDialogHdl, Dialog&, rDialog, void )
+void AbstractMailMergeWizard_Impl::EndDialogHdl(sal_Int32 /*nResult*/)
{
- OSL_ENSURE( &rDialog == pDlg, "wrong dialog passed to EndDialogHdl!" );
- (void) rDialog; // unused in non-debug
-
aEndDlgHdl.Call( *pDlg );
aEndDlgHdl = Link<Dialog&,void>();
}
diff --git a/sw/source/ui/dialog/swdlgfact.hxx b/sw/source/ui/dialog/swdlgfact.hxx
index 78d79677c0ed..8f2cf77a04c3 100644
--- a/sw/source/ui/dialog/swdlgfact.hxx
+++ b/sw/source/ui/dialog/swdlgfact.hxx
@@ -572,7 +572,7 @@ class AbstractMailMergeWizard_Impl : public AbstractMailMergeWizard
VclPtr<SwMailMergeWizard> pDlg;
Link<Dialog&,void> aEndDlgHdl;
- DECL_LINK( EndDialogHdl, Dialog&, void );
+ void EndDialogHdl(sal_Int32 nResult);
public:
explicit AbstractMailMergeWizard_Impl( SwMailMergeWizard* p )
: pDlg(p)
diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index a03ea6021d33..d1da54c5d3ed 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -1052,15 +1052,6 @@ short Dialog::Execute()
}
// virtual
-void Dialog::StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl )
-{
- VclAbstractDialog::AsyncContext aCtx;
- VclPtr<Dialog> ref(this);
- aCtx.maEndDialogFn = [ref,rEndDialogHdl](sal_Int32){ rEndDialogHdl.Call(*ref.get()); };
- StartExecuteAsync(aCtx);
-}
-
-// virtual
bool Dialog::StartExecuteAsync( VclAbstractDialog::AsyncContext &rCtx )
{
if ( !ImplStartExecuteModal() )
More information about the Libreoffice-commits
mailing list