[Libreoffice-commits] core.git: cui/source include/svx include/vcl svx/source sw/inc sw/source vcl/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Thu Nov 1 10:00:42 UTC 2018
cui/source/factory/dlgfact.cxx | 40 +---------------------------------
cui/source/factory/dlgfact.hxx | 16 -------------
include/svx/svxdlg.hxx | 2 -
include/vcl/abstdlg.hxx | 9 -------
include/vcl/dialog.hxx | 3 --
svx/source/gallery2/galbrws1.cxx | 22 +++++++++---------
svx/source/gallery2/galbrws1.hxx | 10 ++++----
sw/inc/swabstdlg.hxx | 2 -
sw/source/ui/dbui/mailmergewizard.cxx | 2 -
sw/source/ui/dialog/swdlgfact.cxx | 20 +++++------------
sw/source/ui/dialog/swdlgfact.hxx | 6 +----
sw/source/uibase/app/apphdl.cxx | 10 ++++----
vcl/source/window/abstdlg.cxx | 5 ----
vcl/source/window/dialog.cxx | 5 ----
14 files changed, 36 insertions(+), 116 deletions(-)
New commits:
commit c86728655415ea507cb5f8d7f0588014db2d6098
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Oct 31 12:38:56 2018 +0000
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Thu Nov 1 11:00:12 2018 +0100
replace VclAbstractDialog2 with VclAbstractDialog
and drop Dialog::GetResult as a consequence
Change-Id: Id80a9dc1eab1a23daf4489719b3bafec976bb048
Reviewed-on: https://gerrit.libreoffice.org/62700
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/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx
index 067e91c7657b..ff95f66b2574 100644
--- a/cui/source/factory/dlgfact.cxx
+++ b/cui/source/factory/dlgfact.cxx
@@ -278,42 +278,6 @@ short AbstractSignSignatureLineDialog_Impl::Execute()
IMPL_ABSTDLG_BASE(AbstractScreenshotAnnotationDlg_Impl);
-// VclAbstractDialog2_Impl
-
-
-// virtual
-VclAbstractDialog2_Impl::~VclAbstractDialog2_Impl()
-{
- disposeOnce();
-}
-
-void VclAbstractDialog2_Impl::dispose()
-{
- m_pDlg.disposeAndClear();
- VclAbstractDialog2::dispose();
-}
-
-// virtual
-void VclAbstractDialog2_Impl::StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl )
-{
- m_aEndDlgHdl = rEndDialogHdl;
- m_pDlg->StartExecuteAsync([=](sal_Int32 nResult){
- EndDialogHdl(nResult);
- });
-}
-
-// virtual
-sal_Int32 VclAbstractDialog2_Impl::GetResult()
-{
- return m_pDlg->GetResult();
-}
-
-void VclAbstractDialog2_Impl::EndDialogHdl(sal_Int32 /*nResult*/)
-{
- m_aEndDlgHdl.Call( *m_pDlg );
- m_aEndDlgHdl = Link<Dialog&,void>();
-}
-
void CuiAbstractTabDialog_Impl::SetCurPageId( const OString& rName )
{
pDlg->SetCurPageId( rName );
@@ -1154,12 +1118,12 @@ VclPtr<AbstractGalleryIdDialog> AbstractDialogFactory_Impl::CreateGalleryIdDialo
return VclPtr<AbstractGalleryIdDialog_Impl>::Create(o3tl::make_unique<GalleryIdDialog>(pParent, pThm));
}
-VclPtr<VclAbstractDialog2> AbstractDialogFactory_Impl::CreateGalleryThemePropertiesDialog(vcl::Window* pParent,
+VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateGalleryThemePropertiesDialog(vcl::Window* pParent,
ExchangeData* pData,
SfxItemSet* pItemSet)
{
VclPtrInstance<GalleryThemeProperties> pDlg(pParent, pData, pItemSet);
- return VclPtr<VclAbstractDialog2_Impl>::Create( pDlg );
+ return VclPtr<CuiVclAbstractDialog_Impl>::Create( pDlg );
}
VclPtr<AbstractURLDlg> AbstractDialogFactory_Impl::CreateURLDialog( vcl::Window* pParent,
diff --git a/cui/source/factory/dlgfact.hxx b/cui/source/factory/dlgfact.hxx
index d780da073e28..a662aa09ee07 100644
--- a/cui/source/factory/dlgfact.hxx
+++ b/cui/source/factory/dlgfact.hxx
@@ -80,20 +80,6 @@ bool Class::StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx) \
return pDlg->StartExecuteAsync(rCtx); \
}
-class VclAbstractDialog2_Impl : public VclAbstractDialog2
-{
- ScopedVclPtr<Dialog> m_pDlg;
- Link<Dialog&,void> m_aEndDlgHdl;
-public:
- explicit VclAbstractDialog2_Impl( Dialog* p ) : m_pDlg( p ) {}
- virtual ~VclAbstractDialog2_Impl() override;
- virtual void dispose() override;
- virtual void StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl ) override;
- virtual sal_Int32 GetResult() override;
-private:
- void EndDialogHdl(sal_Int32 nResult);
-};
-
class CuiVclAbstractDialog_Impl : public VclAbstractDialog
{
DECL_ABSTDLG_BASE(CuiVclAbstractDialog_Impl,Dialog)
@@ -756,7 +742,7 @@ public:
virtual VclPtr<AbstractTitleDialog> CreateTitleDialog(weld::Window* pParent, const OUString& rOldText) override;
virtual VclPtr<AbstractGalleryIdDialog> CreateGalleryIdDialog(weld::Window* pParent,
GalleryTheme* pThm) override;
- virtual VclPtr<VclAbstractDialog2> CreateGalleryThemePropertiesDialog(vcl::Window* pParent,
+ virtual VclPtr<VclAbstractDialog> CreateGalleryThemePropertiesDialog(vcl::Window* pParent,
ExchangeData* pData,
SfxItemSet* pItemSet) override;
virtual VclPtr<AbstractURLDlg> CreateURLDialog( vcl::Window* pParent,
diff --git a/include/svx/svxdlg.hxx b/include/svx/svxdlg.hxx
index 5e34bf61d165..97030fefefa1 100644
--- a/include/svx/svxdlg.hxx
+++ b/include/svx/svxdlg.hxx
@@ -359,7 +359,7 @@ public:
const OUString& rOldText) = 0;
virtual VclPtr<AbstractGalleryIdDialog> CreateGalleryIdDialog(weld::Window* pParent,
GalleryTheme* pThm) = 0;
- virtual VclPtr<VclAbstractDialog2> CreateGalleryThemePropertiesDialog(vcl::Window* pParent,
+ virtual VclPtr<VclAbstractDialog> CreateGalleryThemePropertiesDialog(vcl::Window* pParent,
ExchangeData* pData,
SfxItemSet* pItemSet ) = 0;
virtual VclPtr<AbstractURLDlg> CreateURLDialog( vcl::Window* pParent,
diff --git a/include/vcl/abstdlg.hxx b/include/vcl/abstdlg.hxx
index f05fe4c7de2b..53e553af4011 100644
--- a/include/vcl/abstdlg.hxx
+++ b/include/vcl/abstdlg.hxx
@@ -79,15 +79,6 @@ public:
virtual OString GetScreenshotId() const { return OString(); };
};
-class VCL_DLLPUBLIC VclAbstractDialog2 : public virtual VclReferenceBase
-{
-protected:
- virtual ~VclAbstractDialog2() override;
-public:
- virtual void StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl ) = 0;
- virtual sal_Int32 GetResult() = 0;
-};
-
class VCL_DLLPUBLIC VclAbstractTerminatedDialog : public VclAbstractDialog
{
protected:
diff --git a/include/vcl/dialog.hxx b/include/vcl/dialog.hxx
index 8d4c2c6e0ee2..c5a3997566ff 100644
--- a/include/vcl/dialog.hxx
+++ b/include/vcl/dialog.hxx
@@ -138,9 +138,6 @@ public:
virtual FactoryFunction GetUITestFactory() const override;
- // Dialog::Execute replacement API
-public:
- long GetResult() const;
private:
bool ImplStartExecuteModal();
static void ImplEndExecuteModal();
diff --git a/svx/source/gallery2/galbrws1.cxx b/svx/source/gallery2/galbrws1.cxx
index cfb835f2b0b5..e5349d31e02a 100644
--- a/svx/source/gallery2/galbrws1.cxx
+++ b/svx/source/gallery2/galbrws1.cxx
@@ -268,20 +268,20 @@ void GalleryBrowser1::ImplGalleryThemeProperties( const OUString & rThemeName, b
if ( bCreateNew )
{
- mpThemePropertiesDialog->StartExecuteModal(
- LINK( this, GalleryBrowser1, EndNewThemePropertiesDlgHdl ) );
+ mpThemePropertiesDialog->StartExecuteAsync([=](sal_Int32 nResult){
+ EndNewThemePropertiesDlgHdl(nResult);
+ });
}
else
{
- mpThemePropertiesDialog->StartExecuteModal(
- LINK( this, GalleryBrowser1, EndThemePropertiesDlgHdl ) );
+ mpThemePropertiesDialog->StartExecuteAsync([=](sal_Int32 nResult){
+ EndThemePropertiesDlgHdl(nResult);
+ });
}
}
-void GalleryBrowser1::ImplEndGalleryThemeProperties(bool bCreateNew)
+void GalleryBrowser1::ImplEndGalleryThemeProperties(bool bCreateNew, sal_Int32 nRet)
{
- long nRet = mpThemePropertiesDialog->GetResult();
-
if( nRet == RET_OK )
{
OUString aName( mpExchangeData->pTheme->GetName() );
@@ -318,14 +318,14 @@ void GalleryBrowser1::ImplEndGalleryThemeProperties(bool bCreateNew)
Application::PostUserEvent( LINK( this, GalleryBrowser1, DestroyThemePropertiesDlgHdl ), nullptr, true );
}
-IMPL_LINK( GalleryBrowser1, EndNewThemePropertiesDlgHdl, Dialog&, /*rDialog*/, void )
+void GalleryBrowser1::EndNewThemePropertiesDlgHdl(sal_Int32 nResult)
{
- ImplEndGalleryThemeProperties(true);
+ ImplEndGalleryThemeProperties(true, nResult);
}
-IMPL_LINK( GalleryBrowser1, EndThemePropertiesDlgHdl, Dialog&, /*rDialog*/, void )
+void GalleryBrowser1::EndThemePropertiesDlgHdl(sal_Int32 nResult)
{
- ImplEndGalleryThemeProperties(false);
+ ImplEndGalleryThemeProperties(false, nResult);
}
IMPL_LINK( GalleryBrowser1, DestroyThemePropertiesDlgHdl, void*, /*p*/, void )
diff --git a/svx/source/gallery2/galbrws1.hxx b/svx/source/gallery2/galbrws1.hxx
index 22b35ef6633d..f0791453ca96 100644
--- a/svx/source/gallery2/galbrws1.hxx
+++ b/svx/source/gallery2/galbrws1.hxx
@@ -59,7 +59,7 @@ public:
class Gallery;
class GalleryThemeEntry;
class GalleryTheme;
-class VclAbstractDialog2;
+class VclAbstractDialog;
struct ExchangeData;
class SfxItemSet;
@@ -76,7 +76,7 @@ private:
VclPtr<GalleryButton> maNewTheme;
VclPtr<GalleryThemeListBox> mpThemes;
- VclPtr<VclAbstractDialog2> mpThemePropertiesDialog; // to keep it alive during execution
+ VclPtr<VclAbstractDialog> mpThemePropertiesDialog; // to keep it alive during execution
Gallery* mpGallery;
std::unique_ptr<ExchangeData> mpExchangeData;
std::unique_ptr<SfxItemSet> mpThemePropsDlgItemSet;
@@ -94,7 +94,9 @@ private:
void ImplGetExecuteVector(std::vector<OString>& o_aExec);
void ImplExecute(const OString &rIdent);
void ImplGalleryThemeProperties( const OUString & rThemeName, bool bCreateNew );
- void ImplEndGalleryThemeProperties(bool bCreateNew);
+ void EndNewThemePropertiesDlgHdl(sal_Int32 nResult);
+ void EndThemePropertiesDlgHdl(sal_Int32 nResult);
+ void ImplEndGalleryThemeProperties(bool bCreateNew, sal_Int32 nResult);
// Control
virtual void Resize() override;
@@ -107,8 +109,6 @@ private:
DECL_LINK( SelectThemeHdl, ListBox&, void );
DECL_LINK( ShowContextMenuHdl, void*, void );
DECL_LINK( PopupMenuHdl, Menu*, bool );
- DECL_LINK( EndNewThemePropertiesDlgHdl, Dialog&, void );
- DECL_LINK( EndThemePropertiesDlgHdl, Dialog&, void );
DECL_LINK( DestroyThemePropertiesDlgHdl, void*, void );
public:
diff --git a/sw/inc/swabstdlg.hxx b/sw/inc/swabstdlg.hxx
index cf621ad6e89a..642218f530d8 100644
--- a/sw/inc/swabstdlg.hxx
+++ b/sw/inc/swabstdlg.hxx
@@ -344,7 +344,7 @@ public:
class SwMailMergeConfigItem;
-class AbstractMailMergeWizard : public VclAbstractDialog2
+class AbstractMailMergeWizard : public VclAbstractDialog
{
protected:
virtual ~AbstractMailMergeWizard() override = default;
diff --git a/sw/source/ui/dbui/mailmergewizard.cxx b/sw/source/ui/dbui/mailmergewizard.cxx
index 5883c910dce0..77535bf54f39 100644
--- a/sw/source/ui/dbui/mailmergewizard.cxx
+++ b/sw/source/ui/dbui/mailmergewizard.cxx
@@ -245,7 +245,7 @@ short SwMailMergeWizard::Execute()
OSL_FAIL("SwMailMergeWizard cannot be executed via Dialog::Execute!\n"
"It creates a thread (MailDispatcher instance) that will call"
"back to VCL apartment => deadlock!\n"
- "Use Dialog::StartExecuteModal to execute the dialog!" );
+ "Use Dialog::StartExecuteAsync to execute the dialog!" );
return RET_CANCEL;
}
diff --git a/sw/source/ui/dialog/swdlgfact.cxx b/sw/source/ui/dialog/swdlgfact.cxx
index 39db3b0a1f10..c30b671d3b29 100644
--- a/sw/source/ui/dialog/swdlgfact.cxx
+++ b/sw/source/ui/dialog/swdlgfact.cxx
@@ -721,23 +721,17 @@ void AbstractMailMergeWizard_Impl::dispose()
AbstractMailMergeWizard::dispose();
}
-void AbstractMailMergeWizard_Impl::StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl )
+bool AbstractMailMergeWizard_Impl::StartExecuteAsync(AsyncContext &rCtx)
{
- aEndDlgHdl = rEndDialogHdl;
- pDlg->StartExecuteAsync([=](sal_Int32 nResult){
- EndDialogHdl(nResult);
- });
+ // SwMailMergeWizardExecutor wants to run the lifecycle of this dialog
+ // so clear mxOwner here and leave it up to SwMailMergeWizardExecutor
+ rCtx.mxOwner.clear();
+ return pDlg->StartExecuteAsync(rCtx);
}
-sal_Int32 AbstractMailMergeWizard_Impl::GetResult()
+short AbstractMailMergeWizard_Impl::Execute()
{
- return pDlg->GetResult();
-}
-
-void AbstractMailMergeWizard_Impl::EndDialogHdl(sal_Int32 /*nResult*/)
-{
- aEndDlgHdl.Call( *pDlg );
- aEndDlgHdl = Link<Dialog&,void>();
+ return pDlg->Execute();
}
OUString AbstractMailMergeWizard_Impl::GetReloadDocument() const
diff --git a/sw/source/ui/dialog/swdlgfact.hxx b/sw/source/ui/dialog/swdlgfact.hxx
index 8f2cf77a04c3..103b04b35a02 100644
--- a/sw/source/ui/dialog/swdlgfact.hxx
+++ b/sw/source/ui/dialog/swdlgfact.hxx
@@ -570,17 +570,15 @@ class SwMailMergeWizard;
class AbstractMailMergeWizard_Impl : public AbstractMailMergeWizard
{
VclPtr<SwMailMergeWizard> pDlg;
- Link<Dialog&,void> aEndDlgHdl;
- void EndDialogHdl(sal_Int32 nResult);
public:
explicit AbstractMailMergeWizard_Impl( SwMailMergeWizard* p )
: pDlg(p)
{}
virtual ~AbstractMailMergeWizard_Impl() override;
virtual void dispose() override;
- virtual void StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl ) override;
- virtual sal_Int32 GetResult() override;
+ virtual bool StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx) override;
+ virtual short Execute() override;
virtual OUString GetReloadDocument() const override;
virtual void ShowPage( sal_uInt16 nLevel ) override;
diff --git a/sw/source/uibase/app/apphdl.cxx b/sw/source/uibase/app/apphdl.cxx
index 04255a9721c1..2b8520dc8a70 100644
--- a/sw/source/uibase/app/apphdl.cxx
+++ b/sw/source/uibase/app/apphdl.cxx
@@ -331,7 +331,7 @@ class SwMailMergeWizardExecutor : public salhelper::SimpleReferenceObject
VclPtr<AbstractMailMergeWizard> m_pWizard; // always owner
VclPtr<AbstractMailMergeWizard> m_pWizardToDestroyInCallback;
- DECL_LINK( EndDialogHdl, Dialog&, void );
+ void EndDialogHdl(sal_Int32 nResponse);
DECL_LINK( DestroyDialogHdl, void*, void );
DECL_LINK( DestroyWizardHdl, void*, void );
DECL_LINK( CancelHdl, void*, void );
@@ -455,13 +455,13 @@ void SwMailMergeWizardExecutor::ExecutionFinished()
void SwMailMergeWizardExecutor::ExecuteWizard()
{
- m_pWizard->StartExecuteModal(
- LINK( this, SwMailMergeWizardExecutor, EndDialogHdl ) );
+ m_pWizard->StartExecuteAsync([=](sal_Int32 nResult){
+ EndDialogHdl(nResult);
+ });
}
-IMPL_LINK_NOARG( SwMailMergeWizardExecutor, EndDialogHdl, Dialog&, void )
+void SwMailMergeWizardExecutor::EndDialogHdl(sal_Int32 nRet)
{
- long nRet = m_pWizard->GetResult();
sal_uInt16 nRestartPage = m_pWizard->GetRestartPage();
switch ( nRet )
diff --git a/vcl/source/window/abstdlg.cxx b/vcl/source/window/abstdlg.cxx
index 0483d789aecb..24ec49ea51d6 100644
--- a/vcl/source/window/abstdlg.cxx
+++ b/vcl/source/window/abstdlg.cxx
@@ -82,11 +82,6 @@ BitmapEx VclAbstractDialog::createScreenshot() const
return BitmapEx();
}
-// virtual
-VclAbstractDialog2::~VclAbstractDialog2()
-{
-}
-
VclAbstractDialogFactory::~VclAbstractDialogFactory()
{
}
diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index d1da54c5d3ed..53ebce93689b 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -1130,11 +1130,6 @@ void Dialog::EndDialog( long nResult )
xOwnerDialog.reset();
}
-long Dialog::GetResult() const
-{
- return mpDialogImpl->mnResult;
-}
-
void Dialog::EndAllDialogs( vcl::Window const * pParent )
{
ImplSVData* pSVData = ImplGetSVData();
More information about the Libreoffice-commits
mailing list