LibreOffice Module sw (master)  1
mailconfigpage.cxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #include <swtypes.hxx>
21 #include <mailconfigpage.hxx>
22 #include <mmconfigitem.hxx>
23 #include <mailmergehelper.hxx>
24 #include <vcl/svapp.hxx>
25 #include <vcl/weld.hxx>
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>
31 
32 using namespace ::com::sun::star;
33 using namespace ::com::sun::star::lang;
34 using namespace ::com::sun::star::mail;
35 using namespace ::com::sun::star::beans;
36 
38 {
40  OUString m_sCompleted;
41  OUString m_sFailed;
42  OUString m_sErrorServer;
43  bool m_bStop;
44 
46 
47  std::unique_ptr<weld::Button> m_xStopPB;
48  std::unique_ptr<weld::TextView> m_xErrorsED;
49  std::unique_ptr<weld::Label> m_xEstablish;
50  std::unique_ptr<weld::Label> m_xFind;
51  std::unique_ptr<weld::Label> m_xResult1;
52  std::unique_ptr<weld::Label> m_xResult2;
53  std::unique_ptr<weld::Image> m_xImage1;
54  std::unique_ptr<weld::Image> m_xImage2;
55  std::unique_ptr<weld::Image> m_xImage3;
56  std::unique_ptr<weld::Image> m_xImage4;
57 
58  void Test();
59  DECL_LINK(StopHdl, weld::Button&, void);
60  DECL_LINK(TestHdl, void*, void);
61 public:
63  virtual ~SwTestAccountSettingsDialog() override;
64 };
65 
66 namespace {
67 
68 class SwAuthenticationSettingsDialog : public SfxDialogController
69 {
70  SwMailMergeConfigItem& m_rConfigItem;
71 
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;
93 
94  DECL_LINK(OKHdl_Impl, weld::Button&, void);
95  DECL_LINK(CheckBoxHdl_Impl, weld::ToggleButton&, void);
96  DECL_LINK(RadioButtonHdl_Impl, weld::ToggleButton&, void);
97  DECL_LINK(InServerHdl_Impl, weld::Button&, void);
98 
99 public:
100  SwAuthenticationSettingsDialog(weld::Window* pParent, SwMailMergeConfigItem& rItem);
101 };
102 
103 }
104 
106  : SfxTabPage(pPage, pController, "modules/swriter/ui/mailconfigpage.ui", "MailConfigPage", &rSet)
107  , m_pConfigItem(new SwMailMergeConfigItem)
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"))
118 {
119  m_xReplyToCB->connect_toggled(LINK(this, SwMailConfigPage, ReplyToHdl));
120  m_xServerAuthenticationPB->connect_clicked(LINK(this, SwMailConfigPage, AuthenticationHdl));
121  m_xTestPB->connect_clicked(LINK(this, SwMailConfigPage, TestHdl));
122  m_xSecureCB->connect_toggled(LINK(this, SwMailConfigPage, SecureHdl));
123 }
124 
126 {
127  m_pConfigItem.reset();
128 }
129 
130 std::unique_ptr<SfxTabPage> SwMailConfigPage::Create(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* rAttrSet)
131 {
132  return std::make_unique<SwMailConfigPage>(pPage, pController, *rAttrSet);
133 }
134 
136 {
137  if (m_xDisplayNameED->get_value_changed_from_saved())
138  m_pConfigItem->SetMailDisplayName(m_xDisplayNameED->get_text());
139  if (m_xAddressED->get_value_changed_from_saved())
140  m_pConfigItem->SetMailAddress(m_xAddressED->get_text());
141  if (m_xReplyToCB->get_state_changed_from_saved() )
142  m_pConfigItem->SetMailReplyTo(m_xReplyToCB->get_active());
143  if (m_xReplyToED->get_value_changed_from_saved())
144  m_pConfigItem->SetMailReplyTo(m_xReplyToED->get_text());
145  if (m_xServerED->get_value_changed_from_saved())
146  m_pConfigItem->SetMailServer(m_xServerED->get_text());
147 
148  m_pConfigItem->SetMailPort(m_xPortNF->get_value());
149  m_pConfigItem->SetSecureConnection(m_xSecureCB->get_active());
150 
151  m_pConfigItem->Commit();
152  return true;
153 }
154 
155 void SwMailConfigPage::Reset( const SfxItemSet* /*rSet*/ )
156 {
157  m_xDisplayNameED->set_text(m_pConfigItem->GetMailDisplayName());
158  m_xAddressED->set_text(m_pConfigItem->GetMailAddress());
159 
160  m_xReplyToED->set_text(m_pConfigItem->GetMailReplyTo()) ;
161  m_xReplyToCB->set_active(m_pConfigItem->IsMailReplyTo());
162  ReplyToHdl(*m_xReplyToCB);
163 
164  m_xServerED->set_text(m_pConfigItem->GetMailServer());
165  m_xPortNF->set_value(m_pConfigItem->GetMailPort());
166 
167  m_xSecureCB->set_active(m_pConfigItem->IsSecureConnection());
168 
169  m_xDisplayNameED->save_value();
170  m_xAddressED->save_value();
171  m_xReplyToCB->save_state();
172  m_xReplyToED->save_value();
173  m_xServerED->save_value();
174  m_xPortNF->save_value();
175  m_xSecureCB->save_state();
176 }
177 
179 {
180  bool bEnable = rBox.get_active();
181  m_xReplyToFT->set_sensitive(bEnable);
182  m_xReplyToED->set_sensitive(bEnable);
183 }
184 
185 IMPL_LINK_NOARG(SwMailConfigPage, AuthenticationHdl, weld::Button&, void)
186 {
187  m_pConfigItem->SetMailAddress(m_xAddressED->get_text());
188 
189  SwAuthenticationSettingsDialog aDlg(GetFrameWeld(), *m_pConfigItem);
190  aDlg.run();
191 }
192 
194 {
195  SwTestAccountSettingsDialog aDlg(this);
196  aDlg.run();
197 }
198 
200 {
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());
205 }
206 
208  : SfxDialogController(pParent->GetFrameWeld(), "modules/swriter/ui/testmailsettings.ui", "TestMailSettings")
209  , m_bStop(false)
210  , m_pParent(pParent)
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"))
221 {
222  m_xErrorsED->set_size_request(m_xErrorsED->get_approximate_digit_width() * 72,
223  m_xErrorsED->get_height_rows(8));
224  m_sErrorServer = m_xErrorsED->get_text();
225  m_xErrorsED->set_text("");
226  m_sCompleted = m_xResult1->get_label();
227  m_sFailed = m_xResult2->get_label();
228 
229  m_xStopPB->connect_clicked(LINK(this, SwTestAccountSettingsDialog, StopHdl));
230 
232 }
233 
235 {
236  if (m_pPostedEvent)
237  {
239  }
240 }
241 
243 {
244  m_bStop = true;
245 }
246 
248 {
249  m_pPostedEvent = nullptr;
250  weld::WaitObject aWait(m_xDialog.get());
251  Test();
252 }
253 
255 {
256  uno::Reference<uno::XComponentContext> xContext = ::comphelper::getProcessComponentContext();
257 
258  OUString sException;
259 
260  bool bIsLoggedIn = false;
261  bool bIsServer = false;
262  try
263  {
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);
270  if(m_bStop)
271  return;
272  uno::Reference<XConnectionListener> xConnectionListener(new SwConnectionListener());
273 
274  if(m_pParent->m_pConfigItem->IsAuthentication() &&
275  m_pParent->m_pConfigItem->IsSMTPAfterPOP())
276  {
277  xInMailService = xMailServiceProvider->create(
278  m_pParent->m_pConfigItem->IsInServerPOP() ?
279  mail::MailServiceType_POP3 : mail::MailServiceType_IMAP);
280  if(m_bStop)
281  return;
282  //authenticate at the POP or IMAP server first
283  uno::Reference<XAuthenticator> xAuthenticator =
284  new SwAuthenticator(
285  m_pParent->m_pConfigItem->GetInServerUserName(),
286  m_pParent->m_pConfigItem->GetInServerPassword(),
287  m_xDialog.get());
288 
289  xInMailService->addConnectionListener(xConnectionListener);
290  //check connection
291  uno::Reference< uno::XCurrentContext> xConnectionContext =
293  m_pParent->m_pConfigItem->GetInServerName(),
294  m_pParent->m_pConfigItem->GetInServerPort(),
295  "Insecure");
296  xInMailService->connect(xConnectionContext, xAuthenticator);
297  }
298  if(m_bStop)
299  return;
300  uno::Reference<XAuthenticator> xAuthenticator;
301  if(m_pParent->m_pConfigItem->IsAuthentication() &&
302  !m_pParent->m_pConfigItem->IsSMTPAfterPOP() &&
303  !m_pParent->m_pConfigItem->GetMailUserName().isEmpty())
304  xAuthenticator =
305  new SwAuthenticator(
306  m_pParent->m_pConfigItem->GetMailUserName(),
307  m_pParent->m_pConfigItem->GetMailPassword(),
308  m_xDialog.get());
309  else
310  xAuthenticator = new SwAuthenticator();
311 
312  xMailService->addConnectionListener(xConnectionListener);
313  if(m_bStop)
314  return;
315  //just to check if the server exists
316  xMailService->getSupportedConnectionTypes();
317  if(m_bStop)
318  return;
319  bIsServer = true;
320  //check connection
321  uno::Reference< uno::XCurrentContext> xConnectionContext =
323  m_pParent->m_xServerED->get_text(),
324  m_pParent->m_xPortNF->get_value(),
325  m_pParent->m_xSecureCB->get_active() ? OUString("Ssl") : OUString("Insecure"));
326  xMailService->connect(xConnectionContext, xAuthenticator);
327  bIsLoggedIn = xMailService->isConnected();
328  if( xInMailService.is() )
329  xInMailService->disconnect();
330  if( xMailService->isConnected())
331  xMailService->disconnect();
332  }
333  catch (const uno::Exception& e)
334  {
335  sException = e.Message;
336  }
337 
338  m_xResult1->set_label(bIsServer ? m_sCompleted : m_sFailed);
339  m_xImage1->set_visible(!bIsServer);
340  m_xImage3->set_visible(bIsServer);
341 
342  m_xResult2->set_label(bIsLoggedIn ? m_sCompleted : m_sFailed);
343  m_xImage2->set_visible(!bIsLoggedIn);
344  m_xImage4->set_visible(bIsLoggedIn);
345 
346  if (!bIsServer || !bIsLoggedIn)
347  {
348  OUString aErrorMessage(m_sErrorServer);
349  if (!sException.isEmpty())
350  aErrorMessage += "\n--\n" + sException;
351  m_xErrorsED->set_text(aErrorMessage);
352  }
353 }
354 
356  : SfxSingleTabDialogController(pParent, &rSet)
357 {
358  // create TabPage
360  m_xDialog->set_title(SwResId(STR_MAILCONFIG_DLG_TITLE));
361 }
362 
363 SwAuthenticationSettingsDialog::SwAuthenticationSettingsDialog(
364  weld::Window* pParent, SwMailMergeConfigItem& rItem)
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"))
388 {
389  m_xAuthenticationCB->connect_toggled( LINK( this, SwAuthenticationSettingsDialog, CheckBoxHdl_Impl));
390  Link<weld::ToggleButton&,void> aRBLink = LINK( this, SwAuthenticationSettingsDialog, RadioButtonHdl_Impl );
391  m_xSeparateAuthenticationRB->connect_toggled( aRBLink );
392  m_xSMTPAfterPOPRB->connect_toggled( aRBLink );
393  m_xOKPB->connect_clicked( LINK( this, SwAuthenticationSettingsDialog, OKHdl_Impl));
394  Link<weld::Button&,void> aInServerLink = LINK( this, SwAuthenticationSettingsDialog, InServerHdl_Impl );
395  m_xPOP3RB->connect_clicked( aInServerLink );
396  m_xIMAPRB->connect_clicked( aInServerLink );
397 
398  m_xAuthenticationCB->set_active(m_rConfigItem.IsAuthentication());
399  if (m_rConfigItem.IsSMTPAfterPOP())
400  m_xSMTPAfterPOPRB->set_active(true);
401  else
402  m_xSeparateAuthenticationRB->set_active(true);
403  m_xUserNameED->set_text(m_rConfigItem.GetMailUserName());
404  m_xOutPasswordED->set_text(m_rConfigItem.GetMailPassword());
405 
406  m_xServerED->set_text(m_rConfigItem.GetInServerName());
407  m_xPortNF->set_value(m_rConfigItem.GetInServerPort());
408  if (m_rConfigItem.IsInServerPOP())
409  m_xPOP3RB->set_active(true);
410  else
411  m_xIMAPRB->set_active(true);
412  m_xInUsernameED->set_text(m_rConfigItem.GetInServerUserName());
413  m_xInPasswordED->set_text(m_rConfigItem.GetInServerPassword());
414 
415  CheckBoxHdl_Impl(*m_xAuthenticationCB);
416 }
417 
418 IMPL_LINK_NOARG(SwAuthenticationSettingsDialog, OKHdl_Impl, weld::Button&, void)
419 {
420  m_rConfigItem.SetAuthentication( m_xAuthenticationCB->get_active() );
421  m_rConfigItem.SetSMTPAfterPOP(m_xSMTPAfterPOPRB->get_active());
422  m_rConfigItem.SetMailUserName(m_xUserNameED->get_text());
423  m_rConfigItem.SetMailPassword(m_xOutPasswordED->get_text());
424  m_rConfigItem.SetInServerName(m_xServerED->get_text());
425  m_rConfigItem.SetInServerPort(m_xPortNF->get_value());
426  m_rConfigItem.SetInServerPOP(m_xPOP3RB->get_active());
427  m_rConfigItem.SetInServerUserName(m_xInUsernameED->get_text());
428  m_rConfigItem.SetInServerPassword(m_xInPasswordED->get_text());
429  m_xDialog->response(RET_OK);
430 }
431 
432 IMPL_LINK( SwAuthenticationSettingsDialog, CheckBoxHdl_Impl, weld::ToggleButton&, rBox, void)
433 {
434  bool bChecked = rBox.get_active();
435  m_xSeparateAuthenticationRB->set_sensitive(bChecked);
436  m_xSMTPAfterPOPRB->set_sensitive(bChecked);
437  RadioButtonHdl_Impl(*m_xSeparateAuthenticationRB);
438 }
439 
440 IMPL_LINK_NOARG(SwAuthenticationSettingsDialog, RadioButtonHdl_Impl, weld::ToggleButton&, void)
441 {
442  bool bSeparate = m_xSeparateAuthenticationRB->get_active();
443  bool bIsEnabled = m_xSeparateAuthenticationRB->get_sensitive();
444  bool bNotSeparate = !bSeparate && bIsEnabled;
445  bSeparate &= bIsEnabled;
446 
447  if (bSeparate && m_xUserNameED->get_text().isEmpty())
448  m_xUserNameED->set_text(m_rConfigItem.GetMailAddress());
449  else if (!bSeparate && m_xUserNameED->get_text() == m_rConfigItem.GetMailAddress())
450  m_xUserNameED->set_text("");
451 
452  if (bNotSeparate && m_xInUsernameED->get_text().isEmpty())
453  m_xInUsernameED->set_text(m_rConfigItem.GetMailAddress());
454  else if (!bNotSeparate && m_xInUsernameED->get_text() == m_rConfigItem.GetMailAddress())
455  m_xInUsernameED->set_text("");
456 
457  m_xOutgoingServerFT->set_sensitive(bSeparate);
458  m_xUserNameFT->set_sensitive(bSeparate);
459  m_xUserNameED->set_sensitive(bSeparate);
460  m_xOutPasswordFT->set_sensitive(bSeparate);
461  m_xOutPasswordED->set_sensitive(bSeparate);
462 
463  m_xIncomingServerFT->set_sensitive(bNotSeparate);
464  m_xServerFT->set_sensitive(bNotSeparate);
465  m_xServerED->set_sensitive(bNotSeparate);
466  m_xPortFT->set_sensitive(bNotSeparate);
467  m_xPortNF->set_sensitive(bNotSeparate);
468  m_xInUsernameFT->set_sensitive(bNotSeparate);
469  m_xInUsernameED->set_sensitive(bNotSeparate);
470  m_xProtocolFT->set_sensitive(bNotSeparate);
471  m_xPOP3RB->set_sensitive(bNotSeparate);
472  m_xIMAPRB->set_sensitive(bNotSeparate);
473  m_xInPasswordFT->set_sensitive(bNotSeparate);
474  m_xInPasswordED->set_sensitive(bNotSeparate);
475 }
476 
477 IMPL_LINK_NOARG( SwAuthenticationSettingsDialog, InServerHdl_Impl, weld::Button&, void)
478 {
479  bool bPOP = m_xPOP3RB->get_active();
480  m_rConfigItem.SetInServerPOP(bPOP);
481  m_xPortNF->set_value(m_rConfigItem.GetInServerPort());
482 }
483 
484 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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, SfxItemSet &rSet)
virtual bool FillItemSet(SfxItemSet *rSet) override
std::unique_ptr< weld::Label > m_xFind
std::unique_ptr< weld::CheckButton > m_xSecureCB
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)
Definition: dialoghelp.cxx:20
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)
OUString SwResId(const char *pId)
Definition: swmodule.cxx:165
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)
IMPL_LINK(SwMailConfigPage, ReplyToHdl, weld::ToggleButton &, rBox, void)
bool bIsEnabled
RET_OK
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