summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-10-18 09:52:28 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-10-18 15:09:12 +0200
commitf1ca64800074530d95e507f93c764a687310b9eb (patch)
tree62caeff3a9a568205ec45f9eeb421c98f946bbe8 /sw
parent9c6a4d1f542ad687e72037ac55547241f519097b (diff)
weld SwMMResultEmailDialog
Change-Id: Ib12455751074bbd818cc2da0c813fe984d887571 Reviewed-on: https://gerrit.libreoffice.org/61920 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sw')
-rw-r--r--sw/inc/swabstdlg.hxx2
-rw-r--r--sw/source/ui/dbui/mmresultdialogs.cxx198
-rw-r--r--sw/source/ui/dialog/swdlgfact.cxx6
-rw-r--r--sw/source/ui/dialog/swdlgfact.hxx2
-rw-r--r--sw/source/ui/inc/mmresultdialogs.hxx58
-rw-r--r--sw/source/uibase/app/apphdl.cxx2
-rw-r--r--sw/uiconfig/swriter/ui/mmresultemaildialog.ui77
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>