27 #include <com/sun/star/mail/MailServiceType.hpp>
28 #include <com/sun/star/mail/XMailService.hpp>
29 #include <com/sun/star/mail/MailServiceProvider.hpp>
30 #include <strings.hrc>
72 std::unique_ptr<weld::CheckButton> m_xAuthenticationCB;
73 std::unique_ptr<weld::RadioButton> m_xSeparateAuthenticationRB;
74 std::unique_ptr<weld::RadioButton> m_xSMTPAfterPOPRB;
75 std::unique_ptr<weld::Label> m_xOutgoingServerFT;
76 std::unique_ptr<weld::Label> m_xUserNameFT;
77 std::unique_ptr<weld::Entry> m_xUserNameED;
78 std::unique_ptr<weld::Label> m_xOutPasswordFT;
79 std::unique_ptr<weld::Entry> m_xOutPasswordED;
80 std::unique_ptr<weld::Label> m_xIncomingServerFT;
81 std::unique_ptr<weld::Label> m_xServerFT;
82 std::unique_ptr<weld::Entry> m_xServerED;
83 std::unique_ptr<weld::Label> m_xPortFT;
84 std::unique_ptr<weld::SpinButton> m_xPortNF;
85 std::unique_ptr<weld::Label> m_xProtocolFT;
86 std::unique_ptr<weld::RadioButton> m_xPOP3RB;
87 std::unique_ptr<weld::RadioButton> m_xIMAPRB;
88 std::unique_ptr<weld::Label> m_xInUsernameFT;
89 std::unique_ptr<weld::Entry> m_xInUsernameED;
90 std::unique_ptr<weld::Label> m_xInPasswordFT;
91 std::unique_ptr<weld::Entry> m_xInPasswordED;
92 std::unique_ptr<weld::Button> m_xOKPB;
106 :
SfxTabPage(pPage, pController,
"modules/swriter/ui/mailconfigpage.ui",
"MailConfigPage", &rSet)
108 , m_xDisplayNameED(m_xBuilder->weld_entry(
"displayname"))
109 , m_xAddressED(m_xBuilder->weld_entry(
"address"))
110 , m_xReplyToCB(m_xBuilder->weld_check_button(
"replytocb"))
111 , m_xReplyToFT(m_xBuilder->weld_label(
"replyto_label"))
112 , m_xReplyToED(m_xBuilder->weld_entry(
"replyto"))
113 , m_xServerED(m_xBuilder->weld_entry(
"server"))
114 , m_xPortNF(m_xBuilder->weld_spin_button(
"port"))
115 , m_xSecureCB(m_xBuilder->weld_check_button(
"secure"))
116 , m_xServerAuthenticationPB(m_xBuilder->weld_button(
"serverauthentication"))
117 , m_xTestPB(m_xBuilder->weld_button(
"test"))
132 return std::make_unique<SwMailConfigPage>(pPage, pController, *rAttrSet);
180 bool bEnable = rBox.get_active();
181 m_xReplyToFT->set_sensitive(bEnable);
182 m_xReplyToED->set_sensitive(bEnable);
187 m_pConfigItem->SetMailAddress(m_xAddressED->get_text());
189 SwAuthenticationSettingsDialog aDlg(
GetFrameWeld(), *m_pConfigItem);
201 bool bEnable = rBox.get_active();
202 m_pConfigItem->SetSecureConnection(bEnable);
203 m_pConfigItem->SetMailPort(m_xPortNF->get_value());
204 m_xPortNF->set_value(m_pConfigItem->GetMailPort());
211 , m_xStopPB(m_xBuilder->weld_button(
"stop"))
212 , m_xErrorsED(m_xBuilder->weld_text_view(
"errors"))
213 , m_xEstablish(m_xBuilder->weld_label(
"establish"))
214 , m_xFind(m_xBuilder->weld_label(
"find"))
215 , m_xResult1(m_xBuilder->weld_label(
"result1"))
216 , m_xResult2(m_xBuilder->weld_label(
"result2"))
217 , m_xImage1(m_xBuilder->weld_image(
"image1"))
218 , m_xImage2(m_xBuilder->weld_image(
"image2"))
219 , m_xImage3(m_xBuilder->weld_image(
"image3"))
220 , m_xImage4(m_xBuilder->weld_image(
"image4"))
249 m_pPostedEvent =
nullptr;
256 uno::Reference<uno::XComponentContext> xContext = ::comphelper::getProcessComponentContext();
260 bool bIsLoggedIn =
false;
261 bool bIsServer =
false;
264 uno::Reference< mail::XMailService > xInMailService;
265 uno::Reference< mail::XMailServiceProvider > xMailServiceProvider(
266 mail::MailServiceProvider::create(xContext) );
267 uno::Reference< mail::XMailService > xMailService =
268 xMailServiceProvider->create(
269 mail::MailServiceType_SMTP);
277 xInMailService = xMailServiceProvider->create(
279 mail::MailServiceType_POP3 : mail::MailServiceType_IMAP);
283 uno::Reference<XAuthenticator> xAuthenticator =
289 xInMailService->addConnectionListener(xConnectionListener);
291 uno::Reference< uno::XCurrentContext> xConnectionContext =
296 xInMailService->connect(xConnectionContext, xAuthenticator);
300 uno::Reference<XAuthenticator> xAuthenticator;
312 xMailService->addConnectionListener(xConnectionListener);
316 xMailService->getSupportedConnectionTypes();
321 uno::Reference< uno::XCurrentContext> xConnectionContext =
326 xMailService->connect(xConnectionContext, xAuthenticator);
327 bIsLoggedIn = xMailService->isConnected();
328 if( xInMailService.is() )
329 xInMailService->disconnect();
330 if( xMailService->isConnected())
331 xMailService->disconnect();
333 catch (
const uno::Exception& e)
335 sException = e.Message;
346 if (!bIsServer || !bIsLoggedIn)
349 if (!sException.isEmpty())
350 aErrorMessage +=
"\n--\n" + sException;
363 SwAuthenticationSettingsDialog::SwAuthenticationSettingsDialog(
365 :
SfxDialogController(pParent,
"modules/swriter/ui/authenticationsettingsdialog.ui",
"AuthenticationSettingsDialog")
366 , m_rConfigItem(rItem)
367 , m_xAuthenticationCB(m_xBuilder->weld_check_button(
"authentication"))
368 , m_xSeparateAuthenticationRB(m_xBuilder->weld_radio_button(
"separateauthentication"))
369 , m_xSMTPAfterPOPRB(m_xBuilder->weld_radio_button(
"smtpafterpop"))
370 , m_xOutgoingServerFT(m_xBuilder->weld_label(
"label1"))
371 , m_xUserNameFT(m_xBuilder->weld_label(
"username_label"))
372 , m_xUserNameED(m_xBuilder->weld_entry(
"username"))
373 , m_xOutPasswordFT(m_xBuilder->weld_label(
"outpassword_label"))
374 , m_xOutPasswordED(m_xBuilder->weld_entry(
"outpassword"))
375 , m_xIncomingServerFT(m_xBuilder->weld_label(
"label2"))
376 , m_xServerFT(m_xBuilder->weld_label(
"server_label"))
377 , m_xServerED(m_xBuilder->weld_entry(
"server"))
378 , m_xPortFT(m_xBuilder->weld_label(
"port_label"))
379 , m_xPortNF(m_xBuilder->weld_spin_button(
"port"))
380 , m_xProtocolFT(m_xBuilder->weld_label(
"label3"))
381 , m_xPOP3RB(m_xBuilder->weld_radio_button(
"pop3"))
382 , m_xIMAPRB(m_xBuilder->weld_radio_button(
"imap"))
383 , m_xInUsernameFT(m_xBuilder->weld_label(
"inusername_label"))
384 , m_xInUsernameED(m_xBuilder->weld_entry(
"inusername"))
385 , m_xInPasswordFT(m_xBuilder->weld_label(
"inpassword_label"))
386 , m_xInPasswordED(m_xBuilder->weld_entry(
"inpassword"))
387 , m_xOKPB(m_xBuilder->weld_button(
"ok"))
389 m_xAuthenticationCB->connect_toggled(
LINK(
this, SwAuthenticationSettingsDialog, CheckBoxHdl_Impl));
391 m_xSeparateAuthenticationRB->connect_toggled( aRBLink );
392 m_xSMTPAfterPOPRB->connect_toggled( aRBLink );
393 m_xOKPB->connect_clicked(
LINK(
this, SwAuthenticationSettingsDialog, OKHdl_Impl));
394 m_xPOP3RB->connect_toggled(
LINK(
this, SwAuthenticationSettingsDialog, InServerHdl_Impl));
396 m_xAuthenticationCB->set_active(m_rConfigItem.IsAuthentication());
397 if (m_rConfigItem.IsSMTPAfterPOP())
398 m_xSMTPAfterPOPRB->set_active(
true);
400 m_xSeparateAuthenticationRB->set_active(
true);
401 m_xUserNameED->set_text(m_rConfigItem.GetMailUserName());
402 m_xOutPasswordED->set_text(m_rConfigItem.GetMailPassword());
404 m_xServerED->set_text(m_rConfigItem.GetInServerName());
405 m_xPortNF->set_value(m_rConfigItem.GetInServerPort());
406 if (m_rConfigItem.IsInServerPOP())
407 m_xPOP3RB->set_active(
true);
409 m_xIMAPRB->set_active(
true);
410 m_xInUsernameED->set_text(m_rConfigItem.GetInServerUserName());
411 m_xInPasswordED->set_text(m_rConfigItem.GetInServerPassword());
413 CheckBoxHdl_Impl(*m_xAuthenticationCB);
418 m_rConfigItem.SetAuthentication( m_xAuthenticationCB->get_active() );
419 m_rConfigItem.SetSMTPAfterPOP(m_xSMTPAfterPOPRB->get_active());
420 m_rConfigItem.SetMailUserName(m_xUserNameED->get_text());
421 m_rConfigItem.SetMailPassword(m_xOutPasswordED->get_text());
422 m_rConfigItem.SetInServerName(m_xServerED->get_text());
423 m_rConfigItem.SetInServerPort(m_xPortNF->get_value());
424 m_rConfigItem.SetInServerPOP(m_xPOP3RB->get_active());
425 m_rConfigItem.SetInServerUserName(m_xInUsernameED->get_text());
426 m_rConfigItem.SetInServerPassword(m_xInPasswordED->get_text());
432 bool bChecked = rBox.get_active();
433 m_xSeparateAuthenticationRB->set_sensitive(bChecked);
434 m_xSMTPAfterPOPRB->set_sensitive(bChecked);
435 RadioButtonHdl_Impl(*m_xSeparateAuthenticationRB);
440 bool bSeparate = m_xSeparateAuthenticationRB->get_active();
441 bool bIsEnabled = m_xSeparateAuthenticationRB->get_sensitive();
442 bool bNotSeparate = !bSeparate && bIsEnabled;
443 bSeparate &= bIsEnabled;
445 if (bSeparate && m_xUserNameED->get_text().isEmpty())
446 m_xUserNameED->set_text(m_rConfigItem.GetMailAddress());
447 else if (!bSeparate && m_xUserNameED->get_text() == m_rConfigItem.GetMailAddress())
448 m_xUserNameED->set_text(
"");
450 if (bNotSeparate && m_xInUsernameED->get_text().isEmpty())
451 m_xInUsernameED->set_text(m_rConfigItem.GetMailAddress());
452 else if (!bNotSeparate && m_xInUsernameED->get_text() == m_rConfigItem.GetMailAddress())
453 m_xInUsernameED->set_text(
"");
455 m_xOutgoingServerFT->set_sensitive(bSeparate);
456 m_xUserNameFT->set_sensitive(bSeparate);
457 m_xUserNameED->set_sensitive(bSeparate);
458 m_xOutPasswordFT->set_sensitive(bSeparate);
459 m_xOutPasswordED->set_sensitive(bSeparate);
461 m_xIncomingServerFT->set_sensitive(bNotSeparate);
462 m_xServerFT->set_sensitive(bNotSeparate);
463 m_xServerED->set_sensitive(bNotSeparate);
464 m_xPortFT->set_sensitive(bNotSeparate);
465 m_xPortNF->set_sensitive(bNotSeparate);
466 m_xInUsernameFT->set_sensitive(bNotSeparate);
467 m_xInUsernameED->set_sensitive(bNotSeparate);
468 m_xProtocolFT->set_sensitive(bNotSeparate);
469 m_xPOP3RB->set_sensitive(bNotSeparate);
470 m_xIMAPRB->set_sensitive(bNotSeparate);
471 m_xInPasswordFT->set_sensitive(bNotSeparate);
472 m_xInPasswordED->set_sensitive(bNotSeparate);
477 bool bPOP = m_xPOP3RB->get_active();
478 m_rConfigItem.SetInServerPOP(bPOP);
479 m_xPortNF->set_value(m_rConfigItem.GetInServerPort());
#define LINK(Instance, Class, Member)
DECL_LINK(CheckNameHdl, SvxNameDialog &, bool)
std::unique_ptr< weld::Label > m_xResult1
std::unique_ptr< weld::Button > m_xStopPB
std::unique_ptr< weld::Entry > m_xAddressED
SwMailConfigPage(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet &rSet)
std::unique_ptr< weld::Image > m_xImage1
static ImplSVEvent * PostUserEvent(const Link< void *, void > &rLink, void *pCaller=nullptr, bool bReferenceLink=false)
std::unique_ptr< weld::Button > m_xServerAuthenticationPB
weld::Container * get_content_area()
std::unique_ptr< weld::Entry > m_xDisplayNameED
std::unique_ptr< SwMailMergeConfigItem > m_pConfigItem
virtual ~SwTestAccountSettingsDialog() override
SwMailConfigDlg(weld::Window *pParent, const SfxItemSet &rSet)
virtual bool FillItemSet(SfxItemSet *rSet) override
std::unique_ptr< weld::Label > m_xFind
OUString SwResId(TranslateId aId)
std::unique_ptr< weld::CheckButton > m_xSecureCB
ImplSVEvent * m_pPostedEvent
IMPL_LINK(SwMailConfigPage, ReplyToHdl, weld::Toggleable &, rBox, void)
std::unique_ptr< weld::Image > m_xImage3
std::unique_ptr< weld::Button > m_xTestPB
static void RemoveUserEvent(ImplSVEvent *nUserEvent)
weld::Window * GetFrameWeld(const SfxFrame *pFrame)
virtual void Reset(const SfxItemSet *rSet) override
std::unique_ptr< weld::SpinButton > m_xPortNF
std::unique_ptr< weld::Entry > m_xReplyToED
std::unique_ptr< weld::TextView > m_xErrorsED
std::unique_ptr< weld::Image > m_xImage2
DECL_LINK(StopHdl, weld::Button &, void)
void SetTabPage(std::unique_ptr< SfxTabPage > xTabPage)
std::unique_ptr< weld::Label > m_xResult2
static std::unique_ptr< SfxTabPage > Create(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *rAttrSet)
IMPL_LINK_NOARG(SwMailConfigPage, AuthenticationHdl, weld::Button &, void)
Reference< XExecutableDialog > m_xDialog
SwTestAccountSettingsDialog(SwMailConfigPage *pParent)
SwMailConfigPage * m_pParent
std::unique_ptr< weld::CheckButton > m_xReplyToCB
std::unique_ptr< weld::Label > m_xEstablish
virtual ~SwMailConfigPage() override
std::unique_ptr< weld::Entry > m_xServerED
std::unique_ptr< weld::Image > m_xImage4
bool m_bDetectedRangeSegmentation false