diff options
author | Gülşah Köse <gulsah.kose@collabora.com> | 2021-03-31 22:48:03 +0300 |
---|---|---|
committer | Gülşah Köse <gulsah.kose@collabora.com> | 2021-04-02 14:10:39 +0200 |
commit | d7d487875246ba00d5be7e4fb0fd82b78fea5205 (patch) | |
tree | b35ebc834fc806bf8b8d4f283d12d3068cda24a3 /sw/source/ui/dbui/mmdocselectpage.cxx | |
parent | e64dc07ca8300a997d6d3eebfc3e198ae55d290d (diff) |
tdf#139906 Prevent to use the Mail Merge wizard without data source.
When the file has a data source but that data source is not available in
LibreOffice we shouldn't let user continue mail merging.
Change-Id: Ic28101a12b2e33e78fd9b478fc41707786344e52
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113432
Tested-by: Jenkins
Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com>
Diffstat (limited to 'sw/source/ui/dbui/mmdocselectpage.cxx')
-rw-r--r-- | sw/source/ui/dbui/mmdocselectpage.cxx | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/sw/source/ui/dbui/mmdocselectpage.cxx b/sw/source/ui/dbui/mmdocselectpage.cxx index f19089126a03..a83a7e727f7b 100644 --- a/sw/source/ui/dbui/mmdocselectpage.cxx +++ b/sw/source/ui/dbui/mmdocselectpage.cxx @@ -49,6 +49,7 @@ SwMailMergeDocSelectPage::SwMailMergeDocSelectPage(weld::Container* pPage, SwMai , m_xBrowseDocPB(m_xBuilder->weld_button("browsedoc")) , m_xBrowseTemplatePB(m_xBuilder->weld_button("browsetemplate")) , m_xRecentDocLB(m_xBuilder->weld_combo_box("recentdoclb")) + , m_xDataSourceWarningFT(m_xBuilder->weld_label("datasourcewarning")) { m_xCurrentDocRB->set_active(true); DocSelectHdl(*m_xNewDocRB); @@ -84,9 +85,21 @@ SwMailMergeDocSelectPage::~SwMailMergeDocSelectPage() IMPL_LINK_NOARG(SwMailMergeDocSelectPage, DocSelectHdl, weld::ToggleButton&, void) { m_xRecentDocLB->set_sensitive(m_xRecentDocRB->get_active()); - m_pWizard->UpdateRoadmap(); - m_pWizard->enableButtons(WizardButtonFlags::NEXT, m_pWizard->isStateEnabled(MM_OUTPUTTYPETPAGE)); + OUString sDataSourceName = m_pWizard->GetSwView()->GetDataSourceName(); + + if(m_xCurrentDocRB->get_active() && + !sDataSourceName.isEmpty() && + !SwView::IsDataSourceAvailable(sDataSourceName)) + { + m_xDataSourceWarningFT->show(); + m_pWizard->enableButtons(WizardButtonFlags::NEXT, false); + } + else + { + m_xDataSourceWarningFT->hide(); + m_pWizard->enableButtons(WizardButtonFlags::NEXT, m_pWizard->isStateEnabled(MM_OUTPUTTYPETPAGE)); + } } IMPL_LINK(SwMailMergeDocSelectPage, FileSelectHdl, weld::Button&, rButton, void) |