diff options
Diffstat (limited to 'sw/source/ui/dbui/mmresultdialogs.cxx')
-rw-r--r-- | sw/source/ui/dbui/mmresultdialogs.cxx | 87 |
1 files changed, 37 insertions, 50 deletions
diff --git a/sw/source/ui/dbui/mmresultdialogs.cxx b/sw/source/ui/dbui/mmresultdialogs.cxx index b2f8cb2c3d7e..b0c82cbc2ac5 100644 --- a/sw/source/ui/dbui/mmresultdialogs.cxx +++ b/sw/source/ui/dbui/mmresultdialogs.cxx @@ -208,50 +208,36 @@ public: void SetBCC(const OUString& rSet) {m_xBCCED->set_text(rSet);} }; -SwMMResultSaveDialog::SwMMResultSaveDialog() - : SfxModalDialog(nullptr, "MMResultSaveDialog", "modules/swriter/ui/mmresultsavedialog.ui"), - m_bCancelSaving(false) +SwMMResultSaveDialog::SwMMResultSaveDialog(weld::Window* pParent) + : GenericDialogController(pParent, "modules/swriter/ui/mmresultsavedialog.ui", "MMResultSaveDialog") + , m_bCancelSaving(false) + , m_xSaveAsOneRB(m_xBuilder->weld_radio_button("singlerb")) + , m_xSaveIndividualRB(m_xBuilder->weld_radio_button("individualrb")) + , m_xFromRB(m_xBuilder->weld_radio_button("fromrb")) + , m_xFromNF(m_xBuilder->weld_spin_button("from")) + , m_xToFT(m_xBuilder->weld_label("toft")) + , m_xToNF(m_xBuilder->weld_spin_button("to")) + , m_xOKButton(m_xBuilder->weld_button("ok")) { - get(m_pSaveAsOneRB, "singlerb"); - get(m_pSaveIndividualRB, "individualrb"); - get(m_pFromRB, "fromrb"); - get(m_pFromNF, "from-nospin"); - get(m_pToFT, "toft"); - get(m_pToNF, "to-nospin"); - get(m_pOKButton, "ok"); - - Link<Button*,void> aLink = LINK(this, SwMMResultSaveDialog, DocumentSelectionHdl_Impl); - m_pSaveAsOneRB->SetClickHdl(aLink); - m_pSaveIndividualRB->SetClickHdl(aLink); - m_pFromRB->SetClickHdl(aLink); + Link<weld::ToggleButton&,void> aLink = LINK(this, SwMMResultSaveDialog, DocumentSelectionHdl_Impl); + m_xSaveAsOneRB->connect_toggled(aLink); + m_xSaveIndividualRB->connect_toggled(aLink); + m_xFromRB->connect_toggled(aLink); // m_pSaveAsOneRB is the default, so disable m_pFromNF and m_pToNF initially. - aLink.Call(m_pSaveAsOneRB); + aLink.Call(*m_xSaveAsOneRB); SwView* pView = ::GetActiveView(); std::shared_ptr<SwMailMergeConfigItem> xConfigItem = pView->GetMailMergeConfigItem(); assert(xConfigItem); sal_Int32 nCount = xConfigItem->GetMergedDocumentCount(); - m_pToNF->SetMax(nCount); - m_pToNF->SetValue(nCount); + m_xFromNF->set_max(nCount); + m_xToNF->set_max(nCount); + m_xToNF->set_value(nCount); - m_pOKButton->SetClickHdl(LINK(this, SwMMResultSaveDialog, SaveOutputHdl_Impl)); + m_xOKButton->connect_clicked(LINK(this, SwMMResultSaveDialog, SaveOutputHdl_Impl)); } SwMMResultSaveDialog::~SwMMResultSaveDialog() { - disposeOnce(); -} - -void SwMMResultSaveDialog::dispose() -{ - m_pSaveAsOneRB.clear(); - m_pSaveIndividualRB.clear(); - m_pFromRB.clear(); - m_pFromNF.clear(); - m_pToFT.clear(); - m_pToNF.clear(); - m_pOKButton.clear(); - - SfxModalDialog::dispose(); } SwMMResultPrintDialog::SwMMResultPrintDialog(weld::Window* pParent) @@ -440,12 +426,12 @@ void SwMMResultEmailDialog::FillInEmailSettings() } -IMPL_LINK(SwMMResultSaveDialog, DocumentSelectionHdl_Impl, Button*, pButton, void) +IMPL_LINK(SwMMResultSaveDialog, DocumentSelectionHdl_Impl, weld::ToggleButton&, rButton, void) { - bool bEnableFromTo = pButton == m_pFromRB; - m_pFromNF->Enable(bEnableFromTo); - m_pToFT->Enable(bEnableFromTo); - m_pToNF->Enable(bEnableFromTo); + bool bEnableFromTo = &rButton == m_xFromRB.get(); + m_xFromNF->set_sensitive(bEnableFromTo); + m_xToFT->set_sensitive(bEnableFromTo); + m_xToNF->set_sensitive(bEnableFromTo); } IMPL_LINK(SwMMResultPrintDialog, DocumentSelectionHdl_Impl, weld::ToggleButton&, rButton, void) @@ -536,7 +522,7 @@ void endDialog(Button* pButton) } // anonymous namespace -IMPL_LINK(SwMMResultSaveDialog, SaveOutputHdl_Impl, Button*, pButton, void) +IMPL_LINK_NOARG(SwMMResultSaveDialog, SaveOutputHdl_Impl, weld::Button&, void) { SwView* pView = ::GetActiveView(); std::shared_ptr<SwMailMergeConfigItem> xConfigItem = pView->GetMailMergeConfigItem(); @@ -547,10 +533,10 @@ IMPL_LINK(SwMMResultSaveDialog, SaveOutputHdl_Impl, Button*, pButton, void) SwView* pTargetView = xConfigItem->GetTargetView(); assert(pTargetView); - if(m_pSaveAsOneRB->IsChecked()) + if (m_xSaveAsOneRB->get_active()) { OUString sFilter; - const OUString sPath = SwMailMergeHelper::CallSaveAsDialog(GetFrameWeld(), sFilter); + const OUString sPath = SwMailMergeHelper::CallSaveAsDialog(m_xDialog.get(), sFilter); if (sPath.isEmpty()) { // just return back to the dialog @@ -587,20 +573,20 @@ IMPL_LINK(SwMMResultSaveDialog, SaveOutputHdl_Impl, Button*, pButton, void) sal_uInt32 nEnd = 0; sal_uInt32 documentCount = xConfigItem->GetMergedDocumentCount(); - if(m_pSaveIndividualRB->IsChecked()) + if (m_xSaveIndividualRB->get_active()) { nBegin = 0; nEnd = documentCount; } else { - nBegin = static_cast< sal_Int32 >(m_pFromNF->GetValue() - 1); - nEnd = static_cast< sal_Int32 >(m_pToNF->GetValue()); + nBegin = static_cast< sal_Int32 >(m_xFromNF->get_value() - 1); + nEnd = static_cast< sal_Int32 >(m_xToNF->get_value()); if(nEnd > documentCount) nEnd = documentCount; } OUString sFilter; - OUString sPath = SwMailMergeHelper::CallSaveAsDialog(GetFrameWeld(), sFilter); + OUString sPath = SwMailMergeHelper::CallSaveAsDialog(m_xDialog.get(), sFilter); if (sPath.isEmpty()) { // just return back to the dialog @@ -639,7 +625,8 @@ IMPL_LINK(SwMMResultSaveDialog, SaveOutputHdl_Impl, Button*, pButton, void) } SwView* pSourceView = xConfigItem->GetSourceView(); - ScopedVclPtrInstance< PrintMonitor > aSaveMonitor(this, false, PrintMonitor::MONITOR_TYPE_SAVE); +//TODO ScopedVclPtrInstance< PrintMonitor > aSaveMonitor(this, false, PrintMonitor::MONITOR_TYPE_SAVE); + ScopedVclPtrInstance< PrintMonitor > aSaveMonitor(nullptr, false, PrintMonitor::MONITOR_TYPE_SAVE); aSaveMonitor->m_pDocName->SetText(pSourceView->GetDocShell()->GetTitle(22)); aSaveMonitor->SetCancelHdl(LINK(this, SwMMResultSaveDialog, SaveCancelHdl_Impl)); aSaveMonitor->m_pPrinter->SetText( INetURLObject( sPath ).getFSysPath( FSysStyle::Detect ) ); @@ -703,20 +690,20 @@ IMPL_LINK(SwMMResultSaveDialog, SaveOutputHdl_Impl, Button*, pButton, void) if(bFailed) { - std::unique_ptr<SwSaveWarningBox_Impl> xWarning(new SwSaveWarningBox_Impl(pButton->GetFrameWeld(), sOutPath)); + std::unique_ptr<SwSaveWarningBox_Impl> xWarning(new SwSaveWarningBox_Impl(m_xDialog.get(), sOutPath)); if (RET_OK == xWarning->run()) sOutPath = xWarning->GetFileName(); else { xTempDocShell->DoClose(); - endDialog(pButton); + m_xDialog->response(RET_OK); return; } } else { xTempDocShell->DoClose(); - endDialog(pButton); + m_xDialog->response(RET_OK); break; } } @@ -724,7 +711,7 @@ IMPL_LINK(SwMMResultSaveDialog, SaveOutputHdl_Impl, Button*, pButton, void) ::osl::File::remove( sTargetTempURL ); } - endDialog(pButton); + m_xDialog->response(RET_OK); } IMPL_LINK(SwMMResultPrintDialog, PrinterChangeHdl_Impl, weld::ComboBoxText&, rBox, void) |