diff options
Diffstat (limited to 'sw')
-rw-r--r-- | sw/inc/swabstdlg.hxx | 2 | ||||
-rw-r--r-- | sw/source/ui/dbui/mmresultdialogs.cxx | 198 | ||||
-rw-r--r-- | sw/source/ui/dialog/swdlgfact.cxx | 6 | ||||
-rw-r--r-- | sw/source/ui/dialog/swdlgfact.hxx | 2 | ||||
-rw-r--r-- | sw/source/ui/inc/mmresultdialogs.hxx | 58 | ||||
-rw-r--r-- | sw/source/uibase/app/apphdl.cxx | 2 | ||||
-rw-r--r-- | sw/uiconfig/swriter/ui/mmresultemaildialog.ui | 77 |
7 files changed, 147 insertions, 198 deletions
diff --git a/sw/inc/swabstdlg.hxx b/sw/inc/swabstdlg.hxx index ea8a27fdfcae..59f7e12ad227 100644 --- a/sw/inc/swabstdlg.hxx +++ b/sw/inc/swabstdlg.hxx @@ -499,7 +499,7 @@ public: virtual void ExecuteMMResultSaveDialog(weld::Window* pParent) = 0; virtual void ExecuteMMResultPrintDialog(weld::Window* pParent) = 0; - virtual void ExecuteMMResultEmailDialog() = 0; + virtual void ExecuteMMResultEmailDialog(weld::Window* pParent) = 0; protected: ~SwAbstractDialogFactory() {} diff --git a/sw/source/ui/dbui/mmresultdialogs.cxx b/sw/source/ui/dbui/mmresultdialogs.cxx index d4dc1b1932ac..fe95b26a54ad 100644 --- a/sw/source/ui/dbui/mmresultdialogs.cxx +++ b/sw/source/ui/dbui/mmresultdialogs.cxx @@ -227,7 +227,7 @@ SwMMResultSaveDialog::SwMMResultSaveDialog(weld::Window* pParent) 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. + // m_pSaveAsOneRB is the default, so disable m_xFromNF and m_xToNF initially. aLink.Call(*m_xSaveAsOneRB); SwView* pView = ::GetActiveView(); std::shared_ptr<SwMailMergeConfigItem> xConfigItem = pView->GetMailMergeConfigItem(); @@ -264,7 +264,7 @@ SwMMResultPrintDialog::SwMMResultPrintDialog(weld::Window* pParent) Link<weld::ToggleButton&,void> aLink = LINK(this, SwMMResultPrintDialog, DocumentSelectionHdl_Impl); m_xPrintAllRB->connect_toggled(aLink); m_xFromRB->connect_toggled(aLink); - // m_pPrintAllRB is the default, so disable m_pFromNF and m_pToNF initially. + // m_pPrintAllRB is the default, so disable m_xFromNF and m_xToNF initially. aLink.Call(*m_xPrintAllRB); m_xOKButton->connect_clicked(LINK(this, SwMMResultPrintDialog, PrintHdl_Impl)); @@ -276,67 +276,43 @@ SwMMResultPrintDialog::~SwMMResultPrintDialog() { } -SwMMResultEmailDialog::SwMMResultEmailDialog() - : SfxModalDialog(nullptr, "MMResultEmailDialog", "modules/swriter/ui/mmresultemaildialog.ui"), - m_sConfigureMail(SwResId(ST_CONFIGUREMAIL)) +SwMMResultEmailDialog::SwMMResultEmailDialog(weld::Window* pParent) + : SfxDialogController(pParent, "modules/swriter/ui/mmresultemaildialog.ui", "MMResultEmailDialog") + , m_sConfigureMail(SwResId(ST_CONFIGUREMAIL)) + , m_xMailToFT(m_xBuilder->weld_label("mailtoft")) + , m_xMailToLB(m_xBuilder->weld_combo_box("mailto")) + , m_xCopyToPB(m_xBuilder->weld_button("copyto")) + , m_xSubjectFT(m_xBuilder->weld_label("subjectft")) + , m_xSubjectED(m_xBuilder->weld_entry("subject")) + , m_xSendAsFT(m_xBuilder->weld_label("sendasft")) + , m_xSendAsLB(m_xBuilder->weld_combo_box("sendas")) + , m_xSendAsPB(m_xBuilder->weld_button("sendassettings")) + , m_xAttachmentGroup(m_xBuilder->weld_widget("attachgroup")) + , m_xAttachmentED(m_xBuilder->weld_entry("attach")) + , m_xSendAllRB(m_xBuilder->weld_radio_button("sendallrb")) + , 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_pMailToFT, "mailtoft"); - get(m_pMailToLB, "mailto"); - get(m_pCopyToPB, "copyto"); - get(m_pSubjectFT, "subjectft"); - get(m_pSubjectED, "subject"); - get(m_pSendAsFT, "sendasft"); - get(m_pSendAsLB, "sendas"); - get(m_pAttachmentGroup, "attachgroup"); - get(m_pAttachmentED, "attach"); - get(m_pSendAsPB, "sendassettings"); - get(m_pSendAllRB, "sendallrb"); - get(m_pFromRB, "fromrb"); - get(m_pFromNF, "from-nospin"); - get(m_pToFT, "toft"); - get(m_pToNF, "to-nospin"); - get(m_pOKButton, "ok"); - - m_pCopyToPB->SetClickHdl(LINK(this, SwMMResultEmailDialog, CopyToHdl_Impl)); - m_pSendAsPB->SetClickHdl(LINK(this, SwMMResultEmailDialog, SendAsHdl_Impl)); - m_pSendAsLB->SetSelectHdl(LINK(this, SwMMResultEmailDialog, SendTypeHdl_Impl)); - - Link<Button*,void> aLink = LINK(this, SwMMResultEmailDialog, DocumentSelectionHdl_Impl); - m_pSendAllRB->SetClickHdl(aLink); - m_pFromRB->SetClickHdl(aLink); - // m_pSendAllRB is the default, so disable m_pFromNF and m_pToNF initially. - aLink.Call(m_pSendAllRB); - - m_pOKButton->SetClickHdl(LINK(this, SwMMResultEmailDialog, SendDocumentsHdl_Impl)); + m_xCopyToPB->connect_clicked(LINK(this, SwMMResultEmailDialog, CopyToHdl_Impl)); + m_xSendAsPB->connect_clicked(LINK(this, SwMMResultEmailDialog, SendAsHdl_Impl)); + m_xSendAsLB->connect_changed(LINK(this, SwMMResultEmailDialog, SendTypeHdl_Impl)); + + Link<weld::ToggleButton&,void> aLink = LINK(this, SwMMResultEmailDialog, DocumentSelectionHdl_Impl); + m_xSendAllRB->connect_toggled(aLink); + m_xFromRB->connect_toggled(aLink); + // m_xSendAllRB is the default, so disable m_xFromNF and m_xToNF initially. + aLink.Call(*m_xSendAllRB); + + m_xOKButton->connect_clicked(LINK(this, SwMMResultEmailDialog, SendDocumentsHdl_Impl)); FillInEmailSettings(); } SwMMResultEmailDialog::~SwMMResultEmailDialog() { - disposeOnce(); -} - -void SwMMResultEmailDialog::dispose() -{ - m_pMailToFT.clear(); - m_pMailToLB.clear(); - m_pCopyToPB.clear(); - m_pSubjectFT.clear(); - m_pSubjectED.clear(); - m_pSendAsFT.clear(); - m_pSendAsLB.clear(); - m_pAttachmentGroup.clear(); - m_pAttachmentED.clear(); - m_pSendAllRB.clear(); - m_pFromRB.clear(); - m_pFromNF.clear(); - m_pToFT.clear(); - m_pToNF.clear(); - m_pOKButton.clear(); - m_pSendAsPB.clear(); - - SfxModalDialog::dispose(); } void SwMMResultPrintDialog::FillInPrinterSettings() @@ -387,21 +363,20 @@ void SwMMResultEmailDialog::FillInEmailSettings() if (pDocShell->HasName()) { INetURLObject aTmp(pDocShell->GetMedium()->GetName()); - m_pAttachmentED->SetText(aTmp.getName( + m_xAttachmentED->set_text(aTmp.getName( INetURLObject::LAST_SEGMENT, true, INetURLObject::DecodeMechanism::WithCharset )); } } - if (m_pAttachmentED->GetText().isEmpty()) + if (m_xAttachmentED->get_text().isEmpty()) { - OUString sAttach = "." + lcl_GetExtensionForDocType( - reinterpret_cast<sal_uLong>(m_pSendAsLB->GetSelectedEntryData())); - m_pAttachmentED->SetText(sAttach); + OUString sAttach = "." + lcl_GetExtensionForDocType(m_xSendAsLB->get_active_id().toUInt32()); + m_xAttachmentED->set_text(sAttach); } //fill mail address ListBox - if (m_pMailToLB->GetEntryCount()) + if (m_xMailToLB->get_count()) return; //select first column @@ -413,50 +388,50 @@ void SwMMResultEmailDialog::FillInEmailSettings() aFields = xColAccess->getElementNames(); const OUString* pFields = aFields.getConstArray(); for (sal_Int32 nField = 0; nField < aFields.getLength(); ++nField) - m_pMailToLB->InsertEntry(pFields[nField]); + m_xMailToLB->append_text(pFields[nField]); - m_pMailToLB->SelectEntryPos(0); + m_xMailToLB->set_active(0); // then select the right one - may not be available const std::vector<std::pair<OUString, int>>& rHeaders = xConfigItem->GetDefaultAddressHeaders(); OUString sEMailColumn = rHeaders[MM_PART_E_MAIL].first; Sequence< OUString> aAssignment = xConfigItem->GetColumnAssignment(xConfigItem->GetCurrentDBData()); if (aAssignment.getLength() > MM_PART_E_MAIL && !aAssignment[MM_PART_E_MAIL].isEmpty()) sEMailColumn = aAssignment[MM_PART_E_MAIL]; - m_pMailToLB->SelectEntry(sEMailColumn); + m_xMailToLB->set_active_text(sEMailColumn); // HTML format pre-selected - m_pSendAsLB->SelectEntryPos(3); - SendTypeHdl_Impl(*m_pSendAsLB); + m_xSendAsLB->set_active(3); + SendTypeHdl_Impl(*m_xSendAsLB); } -IMPL_LINK(SwMMResultSaveDialog, DocumentSelectionHdl_Impl, weld::ToggleButton&, rButton, void) +IMPL_LINK_NOARG(SwMMResultSaveDialog, DocumentSelectionHdl_Impl, weld::ToggleButton&, void) { - bool bEnableFromTo = &rButton == m_xFromRB.get(); + bool bEnableFromTo = m_xFromRB->get_active(); m_xFromNF->set_sensitive(bEnableFromTo); m_xToFT->set_sensitive(bEnableFromTo); m_xToNF->set_sensitive(bEnableFromTo); } -IMPL_LINK(SwMMResultPrintDialog, DocumentSelectionHdl_Impl, weld::ToggleButton&, rButton, void) +IMPL_LINK_NOARG(SwMMResultPrintDialog, DocumentSelectionHdl_Impl, weld::ToggleButton&, void) { - bool bEnableFromTo = &rButton == m_xFromRB.get(); + bool bEnableFromTo = m_xFromRB->get_active(); m_xFromNF->set_sensitive(bEnableFromTo); m_xToFT->set_sensitive(bEnableFromTo); m_xToNF->set_sensitive(bEnableFromTo); } -IMPL_LINK(SwMMResultEmailDialog, DocumentSelectionHdl_Impl, Button*, pButton, void) +IMPL_LINK_NOARG(SwMMResultEmailDialog, DocumentSelectionHdl_Impl, weld::ToggleButton&, void) { - bool bEnableFromTo = pButton == m_pFromRB; - m_pFromNF->Enable(bEnableFromTo); - m_pToFT->Enable(bEnableFromTo); - m_pToNF->Enable(bEnableFromTo); + bool bEnableFromTo = m_xFromRB->get_active(); + m_xFromNF->set_sensitive(bEnableFromTo); + m_xToFT->set_sensitive(bEnableFromTo); + m_xToNF->set_sensitive(bEnableFromTo); } -IMPL_LINK_NOARG(SwMMResultEmailDialog, CopyToHdl_Impl, Button*, void) +IMPL_LINK_NOARG(SwMMResultEmailDialog, CopyToHdl_Impl, weld::Button&, void) { - SwCopyToDialog aDlg(GetFrameWeld()); + SwCopyToDialog aDlg(m_xDialog.get()); aDlg.SetCC(m_sCC ); aDlg.SetBCC(m_sBCC); if (aDlg.run() == RET_OK) @@ -511,15 +486,6 @@ int documentEndPageNumber(SwMailMergeConfigItem* pConfigItem, int document, bool return page; } -void endDialog(Button* pButton) -{ - vcl::Window* pParent = getNonLayoutParent(pButton); - Dialog *pDialog = dynamic_cast<Dialog*>(pParent); - - if (pDialog && pDialog->IsInExecute()) - pDialog->EndDialog(RET_OK); -} - } // anonymous namespace IMPL_LINK_NOARG(SwMMResultSaveDialog, SaveOutputHdl_Impl, weld::Button&, void) @@ -824,16 +790,16 @@ IMPL_LINK_NOARG(SwMMResultPrintDialog, PrinterSetupHdl_Impl, weld::Button&, void m_pTempPrinter->Setup(m_xDialog.get()); } -IMPL_LINK(SwMMResultEmailDialog, SendTypeHdl_Impl, ListBox&, rBox, void) +IMPL_LINK(SwMMResultEmailDialog, SendTypeHdl_Impl, weld::ComboBox&, rBox, void) { - sal_uLong nDocType = reinterpret_cast<sal_uLong>(rBox.GetSelectedEntryData()); + auto nDocType = rBox.get_active_id().toUInt32(); bool bEnable = MM_DOCTYPE_HTML != nDocType && MM_DOCTYPE_TEXT != nDocType; - m_pSendAsPB->Enable( bEnable ); - m_pAttachmentGroup->Enable( bEnable ); + m_xSendAsPB->set_sensitive(bEnable); + m_xAttachmentGroup->set_sensitive(bEnable); if(bEnable) { //add the correct extension - OUString sAttach(m_pAttachmentED->GetText()); + OUString sAttach(m_xAttachmentED->get_text()); //do nothing if the user has removed the name - the warning will come early enough if (!sAttach.isEmpty()) { @@ -844,14 +810,14 @@ IMPL_LINK(SwMMResultEmailDialog, SendTypeHdl_Impl, ListBox&, rBox, void) ++nTokenCount; } sAttach = comphelper::string::setToken(sAttach, nTokenCount - 1, '.', lcl_GetExtensionForDocType( nDocType )); - m_pAttachmentED->SetText(sAttach); + m_xAttachmentED->set_text(sAttach); } } } -IMPL_LINK_NOARG(SwMMResultEmailDialog, SendAsHdl_Impl, Button*, void) +IMPL_LINK_NOARG(SwMMResultEmailDialog, SendAsHdl_Impl, weld::Button&, void) { - SwMailBodyDialog aDlg(GetFrameWeld()); + SwMailBodyDialog aDlg(m_xDialog.get()); aDlg.SetBody(m_sBody); if (RET_OK == aDlg.run()) { @@ -860,7 +826,7 @@ IMPL_LINK_NOARG(SwMMResultEmailDialog, SendAsHdl_Impl, Button*, void) } // Send documents as e-mail -IMPL_LINK(SwMMResultEmailDialog, SendDocumentsHdl_Impl, Button*, pButton, void) +IMPL_LINK_NOARG(SwMMResultEmailDialog, SendDocumentsHdl_Impl, weld::Button&, void) { SwView* pView = ::GetActiveView(); std::shared_ptr<SwMailMergeConfigItem> xConfigItem = pView->GetMailMergeConfigItem(); @@ -875,7 +841,7 @@ IMPL_LINK(SwMMResultEmailDialog, SendDocumentsHdl_Impl, Button*, pButton, void) if (xConfigItem->GetMailServer().isEmpty() || !SwMailMergeHelper::CheckMailAddress(xConfigItem->GetMailAddress()) ) { - std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pButton->GetFrameWeld(), + std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(m_xDialog.get(), VclMessageType::Question, VclButtonsType::YesNo, m_sConfigureMail)); xQueryBox->add_button(Button::GetStandardText(StandardButtonType::Cancel), RET_CANCEL); @@ -884,7 +850,7 @@ IMPL_LINK(SwMMResultEmailDialog, SendDocumentsHdl_Impl, Button*, pButton, void) { SwView* pConfigView = pTargetView ? pTargetView : pView; SfxAllItemSet aSet(pConfigView->GetPool()); - SwMailConfigDlg aDlg(pButton->GetFrameWeld(), aSet); + SwMailConfigDlg aDlg(m_xDialog.get(), aSet); nRet = aDlg.run(); } @@ -894,15 +860,15 @@ IMPL_LINK(SwMMResultEmailDialog, SendDocumentsHdl_Impl, Button*, pButton, void) //add the documents sal_uInt32 nBegin = 0; sal_uInt32 nEnd = 0; - if(m_pSendAllRB->IsChecked()) + if (m_xSendAllRB->get_active()) { nBegin = 0; nEnd = xConfigItem->GetMergedDocumentCount(); } 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 > xConfigItem->GetMergedDocumentCount()) nEnd = xConfigItem->GetMergedDocumentCount(); } @@ -910,7 +876,7 @@ IMPL_LINK(SwMMResultEmailDialog, SendDocumentsHdl_Impl, Button*, pButton, void) rtl_TextEncoding eEncoding = ::osl_getThreadTextEncoding(); SfxFilterContainer* pFilterContainer = SwDocShell::Factory().GetFilterContainer(); std::shared_ptr<const SfxFilter> pSfxFlt; - sal_uLong nDocType = reinterpret_cast<sal_uLong>(m_pSendAsLB->GetSelectedEntryData()); + auto nDocType = m_xSendAsLB->get_active_id().toUInt32(); OUString sExtension = lcl_GetExtensionForDocType(nDocType); switch( nDocType ) { @@ -969,28 +935,28 @@ IMPL_LINK(SwMMResultEmailDialog, SendDocumentsHdl_Impl, Button*, pButton, void) if(!pSfxFlt) { - endDialog(pButton); + m_xDialog->response(RET_OK); return; } OUString sMimeType = pSfxFlt->GetMimeType(); - if(m_pSubjectED->GetText().isEmpty()) + if (m_xSubjectED->get_text().isEmpty()) { - std::unique_ptr<SwSendQueryBox_Impl> xQuery(new SwSendQueryBox_Impl(pButton->GetFrameWeld(), "SubjectDialog", + std::unique_ptr<SwSendQueryBox_Impl> xQuery(new SwSendQueryBox_Impl(m_xDialog.get(), "SubjectDialog", "modules/swriter/ui/subjectdialog.ui")); xQuery->SetIsEmptyTextAllowed(true); xQuery->SetValue(""); if(RET_OK == xQuery->run()) { - if(!xQuery->GetValue().isEmpty()) - m_pSubjectED->SetText(xQuery->GetValue()); + if (!xQuery->GetValue().isEmpty()) + m_xSubjectED->set_text(xQuery->GetValue()); } else return; // back to the dialog } - if(!bAsBody && m_pAttachmentED->GetText().isEmpty()) + if(!bAsBody && m_xAttachmentED->get_text().isEmpty()) { - std::unique_ptr<SwSendQueryBox_Impl> xQuery(new SwSendQueryBox_Impl(pButton->GetFrameWeld(), "AttachNameDialog", + std::unique_ptr<SwSendQueryBox_Impl> xQuery(new SwSendQueryBox_Impl(m_xDialog.get(), "AttachNameDialog", "modules/swriter/ui/attachnamedialog.ui")); xQuery->SetIsEmptyTextAllowed(false); if (RET_OK == xQuery->run()) @@ -1003,19 +969,19 @@ IMPL_LINK(SwMMResultEmailDialog, SendDocumentsHdl_Impl, Button*, pButton, void) ++nTokenCount; } sAttach = comphelper::string::setToken(sAttach, nTokenCount - 1, '.', lcl_GetExtensionForDocType( - reinterpret_cast<sal_uLong>(m_pSendAsLB->GetSelectedEntryData()))); - m_pAttachmentED->SetText(sAttach); + m_xSendAsLB->get_active_id().toUInt32())); + m_xAttachmentED->set_text(sAttach); } else return; // back to the dialog } - OUString sEMailColumn = m_pMailToLB->GetSelectedEntry(); + OUString sEMailColumn = m_xMailToLB->get_active_text(); OSL_ENSURE( !sEMailColumn.isEmpty(), "No email column selected"); Reference< sdbcx::XColumnsSupplier > xColsSupp( xConfigItem->GetResultSet(), UNO_QUERY); Reference < container::XNameAccess> xColAccess = xColsSupp.is() ? xColsSupp->getColumns() : nullptr; if(sEMailColumn.isEmpty() || !xColAccess.is() || !xColAccess->hasByName(sEMailColumn)) { - endDialog(pButton); + m_xDialog->response(RET_OK); return; } @@ -1058,7 +1024,7 @@ IMPL_LINK(SwMMResultEmailDialog, SendDocumentsHdl_Impl, Button*, pButton, void) //TODO/CLEANUP //predetermined breaking point Application::Reschedule( true ); - endDialog(pButton); + m_xDialog->response(RET_OK); for(sal_uInt32 nDoc = nBegin; nDoc < nEnd; ++nDoc) { SwDocMergeInfo& rInfo = xConfigItem->GetDocumentMergeInfo(nDoc); @@ -1145,7 +1111,7 @@ IMPL_LINK(SwMMResultEmailDialog, SendDocumentsHdl_Impl, Button*, pButton, void) { sBody = m_sBody; aDesc.sAttachmentURL = aName.GetValue(); - OUString sAttachment(m_pAttachmentED->GetText()); + OUString sAttachment(m_xAttachmentED->get_text()); sal_Int32 nTokenCount = comphelper::string::getTokenCount(sAttachment, '.'); if (2 > nTokenCount) { @@ -1196,7 +1162,7 @@ IMPL_LINK(SwMMResultEmailDialog, SendDocumentsHdl_Impl, Button*, pButton, void) else aDesc.sBodyMimeType = "text/plain; charset=UTF-8; format=flowed"; - aDesc.sSubject = m_pSubjectED->GetText(); + aDesc.sSubject = m_xSubjectED->get_text(); aDesc.sCC = m_sCC; aDesc.sBCC = m_sBCC; pDlg->AddDocument( aDesc ); diff --git a/sw/source/ui/dialog/swdlgfact.cxx b/sw/source/ui/dialog/swdlgfact.cxx index 963343952275..371c7e0be8e0 100644 --- a/sw/source/ui/dialog/swdlgfact.cxx +++ b/sw/source/ui/dialog/swdlgfact.cxx @@ -1218,10 +1218,10 @@ void SwAbstractDialogFactory_Impl::ExecuteMMResultPrintDialog(weld::Window* pPar aDialog.run(); } -void SwAbstractDialogFactory_Impl::ExecuteMMResultEmailDialog() +void SwAbstractDialogFactory_Impl::ExecuteMMResultEmailDialog(weld::Window* pParent) { - ScopedVclPtrInstance<SwMMResultEmailDialog> pDialog; - pDialog->Execute(); + SwMMResultEmailDialog aDialog(pParent); + aDialog.run(); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/ui/dialog/swdlgfact.hxx b/sw/source/ui/dialog/swdlgfact.hxx index 993d0aa7cb8f..3943fb159bce 100644 --- a/sw/source/ui/dialog/swdlgfact.hxx +++ b/sw/source/ui/dialog/swdlgfact.hxx @@ -722,7 +722,7 @@ public: virtual void ExecuteMMResultSaveDialog(weld::Window* pParent) override; virtual void ExecuteMMResultPrintDialog(weld::Window* pParent) override; - virtual void ExecuteMMResultEmailDialog() override; + virtual void ExecuteMMResultEmailDialog(weld::Window* pParent) override; }; #endif diff --git a/sw/source/ui/inc/mmresultdialogs.hxx b/sw/source/ui/inc/mmresultdialogs.hxx index 7f7dad562b9a..a26ee9fa8b6f 100644 --- a/sw/source/ui/inc/mmresultdialogs.hxx +++ b/sw/source/ui/inc/mmresultdialogs.hxx @@ -92,51 +92,41 @@ public: }; /// Dialog implementing the sending as email of the result document. -class SwMMResultEmailDialog : public SfxModalDialog +class SwMMResultEmailDialog : public SfxDialogController { - VclPtr<FixedText> m_pMailToFT; - VclPtr<ListBox> m_pMailToLB; - VclPtr<PushButton> m_pCopyToPB; - - VclPtr<FixedText> m_pSubjectFT; - VclPtr<Edit> m_pSubjectED; - - VclPtr<FixedText> m_pSendAsFT; - VclPtr<ListBox> m_pSendAsLB; - VclPtr<PushButton> m_pSendAsPB; - - VclPtr<VclContainer> m_pAttachmentGroup; - VclPtr<Edit> m_pAttachmentED; - - VclPtr<RadioButton> m_pSendAllRB; - - VclPtr<RadioButton> m_pFromRB; - VclPtr<NumericField> m_pFromNF; - VclPtr<FixedText> m_pToFT; - VclPtr<NumericField> m_pToNF; - - VclPtr<Button> m_pOKButton; - OUString const m_sConfigureMail; - OUString m_sCC; OUString m_sBCC; - OUString m_sBody; - DECL_LINK(CopyToHdl_Impl, Button*, void); - DECL_LINK(SendTypeHdl_Impl, ListBox&, void); - DECL_LINK(SendAsHdl_Impl, Button*, void); - DECL_LINK(SendDocumentsHdl_Impl, Button*, void); - DECL_LINK(DocumentSelectionHdl_Impl, Button*, void); + std::unique_ptr<weld::Label> m_xMailToFT; + std::unique_ptr<weld::ComboBox> m_xMailToLB; + std::unique_ptr<weld::Button> m_xCopyToPB; + std::unique_ptr<weld::Label> m_xSubjectFT; + std::unique_ptr<weld::Entry> m_xSubjectED; + std::unique_ptr<weld::Label> m_xSendAsFT; + std::unique_ptr<weld::ComboBox> m_xSendAsLB; + std::unique_ptr<weld::Button> m_xSendAsPB; + std::unique_ptr<weld::Widget> m_xAttachmentGroup; + std::unique_ptr<weld::Entry> m_xAttachmentED; + std::unique_ptr<weld::RadioButton> m_xSendAllRB; + std::unique_ptr<weld::RadioButton> m_xFromRB; + std::unique_ptr<weld::SpinButton> m_xFromNF; + std::unique_ptr<weld::Label> m_xToFT; + std::unique_ptr<weld::SpinButton> m_xToNF; + std::unique_ptr<weld::Button> m_xOKButton; + + DECL_LINK(CopyToHdl_Impl, weld::Button&, void); + DECL_LINK(SendTypeHdl_Impl, weld::ComboBox&, void); + DECL_LINK(SendAsHdl_Impl, weld::Button&, void); + DECL_LINK(SendDocumentsHdl_Impl, weld::Button&, void); + DECL_LINK(DocumentSelectionHdl_Impl, weld::ToggleButton&, void); void FillInEmailSettings(); public: - SwMMResultEmailDialog(); + SwMMResultEmailDialog(weld::Window *pParent); virtual ~SwMMResultEmailDialog() override; - - virtual void dispose() override; }; struct SwMailDescriptor diff --git a/sw/source/uibase/app/apphdl.cxx b/sw/source/uibase/app/apphdl.cxx index 89a99f79d727..fb6270a91958 100644 --- a/sw/source/uibase/app/apphdl.cxx +++ b/sw/source/uibase/app/apphdl.cxx @@ -768,7 +768,7 @@ void SwModule::ExecOther(SfxRequest& rReq) { case FN_MAILMERGE_SAVE_DOCUMENTS: pFact->ExecuteMMResultSaveDialog(rReq.GetFrameWeld()); break; case FN_MAILMERGE_PRINT_DOCUMENTS: pFact->ExecuteMMResultPrintDialog(rReq.GetFrameWeld()); break; - case FN_MAILMERGE_EMAIL_DOCUMENTS: pFact->ExecuteMMResultEmailDialog(); break; + case FN_MAILMERGE_EMAIL_DOCUMENTS: pFact->ExecuteMMResultEmailDialog(rReq.GetFrameWeld()); break; } } break; diff --git a/sw/uiconfig/swriter/ui/mmresultemaildialog.ui b/sw/uiconfig/swriter/ui/mmresultemaildialog.ui index 08f5bfc142f6..5f10bf7dd4aa 100644 --- a/sw/uiconfig/swriter/ui/mmresultemaildialog.ui +++ b/sw/uiconfig/swriter/ui/mmresultemaildialog.ui @@ -1,42 +1,28 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.18.3 --> +<!-- Generated with glade 3.22.1 --> <interface domain="sw"> <requires lib="gtk+" version="3.18"/> - <object class="GtkListStore" id="liststore1"> - <columns> - <!-- column-name gchararray1 --> - <column type="gchararray"/> - <!-- column-name gint1 --> - <column type="gint"/> - </columns> - <data> - <row> - <col id="0" translatable="yes" context="mmresultemaildialog|liststore1">OpenDocument Text</col> - <col id="1">1</col> - </row> - <row> - <col id="0" translatable="yes" context="mmresultemaildialog|liststore1">Adobe PDF-Document</col> - <col id="1">2</col> - </row> - <row> - <col id="0" translatable="yes" context="mmresultemaildialog|liststore1">Microsoft Word Document</col> - <col id="1">3</col> - </row> - <row> - <col id="0" translatable="yes" context="mmresultemaildialog|liststore1">HTML Message</col> - <col id="1">4</col> - </row> - <row> - <col id="0" translatable="yes" context="mmresultemaildialog|liststore1">Plain Text</col> - <col id="1">5</col> - </row> - </data> + <object class="GtkAdjustment" id="adjustment1"> + <property name="upper">16000</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> + <object class="GtkAdjustment" id="adjustment2"> + <property name="upper">16000</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> </object> <object class="GtkDialog" id="MMResultEmailDialog"> <property name="can_focus">False</property> <property name="border_width">6</property> <property name="title" translatable="yes" context="mmresultemaildialog|MMResultEmailDialog">E-Mail merged document</property> + <property name="modal">True</property> + <property name="default_width">0</property> + <property name="default_height">0</property> <property name="type_hint">dialog</property> + <child> + <placeholder/> + </child> <child internal-child="vbox"> <object class="GtkBox" id="dialog-vbox1"> <property name="can_focus">False</property> @@ -129,10 +115,10 @@ <object class="GtkLabel" id="mailtoft"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="mmresultemaildialog|mailtoft">T_o</property> <property name="use_underline">True</property> <property name="mnemonic_widget">mailto</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> @@ -167,10 +153,10 @@ <object class="GtkLabel" id="subjectft"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="mmresultemaildialog|subjectft">S_ubject</property> <property name="use_underline">True</property> <property name="mnemonic_widget">subject</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> @@ -192,10 +178,10 @@ <object class="GtkLabel" id="sendasft"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="mmresultemaildialog|sendasft">Sen_d as</property> <property name="use_underline">True</property> <property name="mnemonic_widget">sendas</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> @@ -203,11 +189,17 @@ </packing> </child> <child> - <object class="GtkComboBox" id="sendas"> + <object class="GtkComboBoxText" id="sendas"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="hexpand">True</property> - <property name="model">liststore1</property> + <items> + <item id="1" translatable="yes" context="mmresultemaildialog|liststore1">OpenDocument Text</item> + <item id="2" translatable="yes" context="mmresultemaildialog|liststore1">Adobe PDF-Document</item> + <item id="3" translatable="yes" context="mmresultemaildialog|liststore1">Microsoft Word Document</item> + <item id="4" translatable="yes" context="mmresultemaildialog|liststore1">HTML Message</item> + <item id="5" translatable="yes" context="mmresultemaildialog|liststore1">Plain Text</item> + </items> </object> <packing> <property name="left_attach">1</property> @@ -261,10 +253,10 @@ <object class="GtkLabel" id="attachft"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="mmresultemaildialog|attachft">Name of the a_ttachment</property> <property name="use_underline">True</property> <property name="mnemonic_widget">attach</property> + <property name="xalign">0</property> </object> </child> </object> @@ -321,7 +313,6 @@ <property name="xalign">0</property> <property name="active">True</property> <property name="draw_indicator">True</property> - <property name="group">fromrb</property> </object> <packing> <property name="expand">False</property> @@ -345,7 +336,7 @@ <property name="draw_indicator">True</property> <property name="group">sendallrb</property> <accessibility> - <relation type="label-for" target="from-nospin"/> + <relation type="label-for" target="from"/> </accessibility> </object> <packing> @@ -359,7 +350,7 @@ <property name="can_focus">False</property> <property name="label" translatable="yes" context="mmresultemaildialog|toft">_To</property> <property name="use_underline">True</property> - <property name="mnemonic_widget">to-nospin</property> + <property name="mnemonic_widget">to</property> </object> <packing> <property name="left_attach">2</property> @@ -367,10 +358,11 @@ </packing> </child> <child> - <object class="GtkSpinButton" id="from-nospin"> + <object class="GtkSpinButton" id="from"> <property name="visible">True</property> <property name="can_focus">True</property> - <property name="text" translatable="no">1</property> + <property name="text">1</property> + <property name="adjustment">adjustment2</property> <accessibility> <relation type="labelled-by" target="fromrb"/> </accessibility> @@ -381,10 +373,11 @@ </packing> </child> <child> - <object class="GtkSpinButton" id="to-nospin"> + <object class="GtkSpinButton" id="to"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="text">1</property> + <property name="adjustment">adjustment1</property> </object> <packing> <property name="left_attach">3</property> |