summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2024-01-31 13:44:18 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2024-02-01 07:00:27 +0100
commitc4df1c7ba91032ca0de0073d37ebc90c71c48eb7 (patch)
treea9f1c24c1da582a2525ee999f70fffbc854fda15 /sw
parentd2101ec9402d067ec6fce1017c9ff6adbaf2808c (diff)
make table-tab dialog async
Change-Id: I3d5e4a691e494ec27eead8882b6155545361d48d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162835 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sw')
-rw-r--r--sw/source/ui/dbui/dbinsdlg.cxx22
1 files changed, 14 insertions, 8 deletions
diff --git a/sw/source/ui/dbui/dbinsdlg.cxx b/sw/source/ui/dbui/dbinsdlg.cxx
index 7e8613235f26..647397ff0d24 100644
--- a/sw/source/ui/dbui/dbinsdlg.cxx
+++ b/sw/source/ui/dbui/dbinsdlg.cxx
@@ -719,14 +719,20 @@ IMPL_LINK_NOARG(SwInsertDBColAutoPilot, TableFormatHdl, weld::Button&, void)
SwAbstractDialogFactory& rFact = swui::GetFactory();
- ScopedVclPtr<SfxAbstractTabDialog> pDlg(rFact.CreateSwTableTabDlg(m_xDialog.get(), m_pTableSet.get(), &rSh));
- if( RET_OK == pDlg->Execute() )
- m_pTableSet->Put( *pDlg->GetOutputItemSet() );
- else if( bNewSet )
- {
- m_pTableSet.reset();
- m_pRep.reset();
- }
+ VclPtr<SfxAbstractTabDialog> pDlg(rFact.CreateSwTableTabDlg(m_xDialog.get(), m_pTableSet.get(), &rSh));
+ pDlg->StartExecuteAsync(
+ [this, pDlg, bNewSet] (sal_Int32 nResult)->void
+ {
+ if( nResult == RET_OK )
+ m_pTableSet->Put( *pDlg->GetOutputItemSet() );
+ else if( bNewSet )
+ {
+ m_pTableSet.reset();
+ m_pRep.reset();
+ }
+ pDlg->disposeOnce();
+ }
+ );
}
IMPL_LINK_NOARG(SwInsertDBColAutoPilot, AutoFormatHdl, weld::Button&, void)