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 <swmodule.hxx>
21 #include <swtypes.hxx>
22 #include <mailconfigpage.hxx>
23 #include <mmconfigitem.hxx>
24 #include <mailmergehelper.hxx>
25 #include <cmdid.h>
26 #include <vcl/svapp.hxx>
27 #include <vcl/weld.hxx>
29 #include <com/sun/star/mail/MailServiceType.hpp>
30 #include <com/sun/star/mail/XMailService.hpp>
31 #include <com/sun/star/mail/MailServiceProvider.hpp>
32 #include <globals.hrc>
33 #include <dbui.hrc>
34 #include <strings.hrc>
35 #include <bitmaps.hlst>
36 
37 using namespace ::com::sun::star;
38 using namespace ::com::sun::star::lang;
39 using namespace ::com::sun::star::mail;
40 using namespace ::com::sun::star::beans;
41 
43 {
45  OUString m_sCompleted;
46  OUString m_sFailed;
47  OUString m_sErrorServer;
48  bool m_bStop;
49 
51 
52  std::unique_ptr<weld::Button> m_xStopPB;
53  std::unique_ptr<weld::TextView> m_xErrorsED;
54  std::unique_ptr<weld::Label> m_xEstablish;
55  std::unique_ptr<weld::Label> m_xFind;
56  std::unique_ptr<weld::Label> m_xResult1;
57  std::unique_ptr<weld::Label> m_xResult2;
58  std::unique_ptr<weld::Image> m_xImage1;
59  std::unique_ptr<weld::Image> m_xImage2;
60  std::unique_ptr<weld::Image> m_xImage3;
61  std::unique_ptr<weld::Image> m_xImage4;
62 
63  void Test();
64  DECL_LINK(StopHdl, weld::Button&, void);
65  DECL_LINK(TestHdl, void*, void);
66 public:
68  virtual ~SwTestAccountSettingsDialog() override;
69 };
70 
72 {
74 
75  std::unique_ptr<weld::CheckButton> m_xAuthenticationCB;
76  std::unique_ptr<weld::RadioButton> m_xSeparateAuthenticationRB;
77  std::unique_ptr<weld::RadioButton> m_xSMTPAfterPOPRB;
78  std::unique_ptr<weld::Label> m_xOutgoingServerFT;
79  std::unique_ptr<weld::Label> m_xUserNameFT;
80  std::unique_ptr<weld::Entry> m_xUserNameED;
81  std::unique_ptr<weld::Label> m_xOutPasswordFT;
82  std::unique_ptr<weld::Entry> m_xOutPasswordED;
83  std::unique_ptr<weld::Label> m_xIncomingServerFT;
84  std::unique_ptr<weld::Label> m_xServerFT;
85  std::unique_ptr<weld::Entry> m_xServerED;
86  std::unique_ptr<weld::Label> m_xPortFT;
87  std::unique_ptr<weld::SpinButton> m_xPortNF;
88  std::unique_ptr<weld::Label> m_xProtocolFT;
89  std::unique_ptr<weld::RadioButton> m_xPOP3RB;
90  std::unique_ptr<weld::RadioButton> m_xIMAPRB;
91  std::unique_ptr<weld::Label> m_xInUsernameFT;
92  std::unique_ptr<weld::Entry> m_xInUsernameED;
93  std::unique_ptr<weld::Label> m_xInPasswordFT;
94  std::unique_ptr<weld::Entry> m_xInPasswordED;
95  std::unique_ptr<weld::Button> m_xOKPB;
96 
97  DECL_LINK(OKHdl_Impl, weld::Button&, void);
98  DECL_LINK(CheckBoxHdl_Impl, weld::ToggleButton&, void);
99  DECL_LINK(RadioButtonHdl_Impl, weld::ToggleButton&, void);
100  DECL_LINK(InServerHdl_Impl, weld::Button&, void);
101 
102 public:
104 };
105 
107  : SfxTabPage(pParent, "modules/swriter/ui/mailconfigpage.ui", "MailConfigPage", &rSet)
108  , m_pConfigItem(new SwMailMergeConfigItem)
109  , m_xDisplayNameED(m_xBuilder->weld_entry("displayname"))
110  , m_xAddressED(m_xBuilder->weld_entry("address"))
111  , m_xReplyToCB(m_xBuilder->weld_check_button("replytocb"))
112  , m_xReplyToFT(m_xBuilder->weld_label("replyto_label"))
113  , m_xReplyToED(m_xBuilder->weld_entry("replyto"))
114  , m_xServerED(m_xBuilder->weld_entry("server"))
115  , m_xPortNF(m_xBuilder->weld_spin_button("port"))
116  , m_xSecureCB(m_xBuilder->weld_check_button("secure"))
117  , m_xServerAuthenticationPB(m_xBuilder->weld_button("serverauthentication"))
118  , m_xTestPB(m_xBuilder->weld_button("test"))
119 {
120  m_xReplyToCB->connect_toggled(LINK(this, SwMailConfigPage, ReplyToHdl));
121  m_xServerAuthenticationPB->connect_clicked(LINK(this, SwMailConfigPage, AuthenticationHdl));
122  m_xTestPB->connect_clicked(LINK(this, SwMailConfigPage, TestHdl));
123  m_xSecureCB->connect_toggled(LINK(this, SwMailConfigPage, SecureHdl));
124 }
125 
127 {
128  disposeOnce();
129 }
130 
132 {
133  m_pConfigItem.reset();
135 }
136 
138 {
139  return VclPtr<SwMailConfigPage>::Create(pParent, *rAttrSet);
140 }
141 
143 {
144  if (m_xDisplayNameED->get_value_changed_from_saved())
145  m_pConfigItem->SetMailDisplayName(m_xDisplayNameED->get_text());
146  if (m_xAddressED->get_value_changed_from_saved())
147  m_pConfigItem->SetMailAddress(m_xAddressED->get_text());
148  if (m_xReplyToCB->get_state_changed_from_saved() )
149  m_pConfigItem->SetMailReplyTo(m_xReplyToCB->get_active());
150  if (m_xReplyToED->get_value_changed_from_saved())
151  m_pConfigItem->SetMailReplyTo(m_xReplyToED->get_text());
152  if (m_xServerED->get_value_changed_from_saved())
153  m_pConfigItem->SetMailServer(m_xServerED->get_text());
154 
155  m_pConfigItem->SetMailPort(m_xPortNF->get_value());
156  m_pConfigItem->SetSecureConnection(m_xSecureCB->get_active());
157 
158  m_pConfigItem->Commit();
159  return true;
160 }
161 
162 void SwMailConfigPage::Reset( const SfxItemSet* /*rSet*/ )
163 {
164  m_xDisplayNameED->set_text(m_pConfigItem->GetMailDisplayName());
165  m_xAddressED->set_text(m_pConfigItem->GetMailAddress());
166 
167  m_xReplyToED->set_text(m_pConfigItem->GetMailReplyTo()) ;
168  m_xReplyToCB->set_active(m_pConfigItem->IsMailReplyTo());
169  ReplyToHdl(*m_xReplyToCB);
170 
171  m_xServerED->set_text(m_pConfigItem->GetMailServer());
172  m_xPortNF->set_value(m_pConfigItem->GetMailPort());
173 
174  m_xSecureCB->set_active(m_pConfigItem->IsSecureConnection());
175 
176  m_xDisplayNameED->save_value();
177  m_xAddressED->save_value();
178  m_xReplyToCB->save_state();
179  m_xReplyToED->save_value();
180  m_xServerED->save_value();
181  m_xPortNF->save_value();
182  m_xSecureCB->save_state();
183 }
184 
186 {
187  bool bEnable = rBox.get_active();
188  m_xReplyToFT->set_sensitive(bEnable);
189  m_xReplyToED->set_sensitive(bEnable);
190 }
191 
192 IMPL_LINK_NOARG(SwMailConfigPage, AuthenticationHdl, weld::Button&, void)
193 {
194  m_pConfigItem->SetMailAddress(m_xAddressED->get_text());
195 
196  SwAuthenticationSettingsDialog aDlg(GetDialogFrameWeld(), *m_pConfigItem);
197  aDlg.run();
198 }
199 
201 {
202  SwTestAccountSettingsDialog aDlg(this);
203  aDlg.run();
204 }
205 
207 {
208  bool bEnable = rBox.get_active();
209  m_pConfigItem->SetSecureConnection(bEnable);
210  m_pConfigItem->SetMailPort(m_xPortNF->get_value());
211  m_xPortNF->set_value(m_pConfigItem->GetMailPort());
212 }
213 
215  : SfxDialogController(pParent->GetDialogFrameWeld(), "modules/swriter/ui/testmailsettings.ui", "TestMailSettings")
216  , m_bStop(false)
217  , m_pParent(pParent)
218  , m_xStopPB(m_xBuilder->weld_button("stop"))
219  , m_xErrorsED(m_xBuilder->weld_text_view("errors"))
220  , m_xEstablish(m_xBuilder->weld_label("establish"))
221  , m_xFind(m_xBuilder->weld_label("find"))
222  , m_xResult1(m_xBuilder->weld_label("result1"))
223  , m_xResult2(m_xBuilder->weld_label("result2"))
224  , m_xImage1(m_xBuilder->weld_image("image1"))
225  , m_xImage2(m_xBuilder->weld_image("image2"))
226  , m_xImage3(m_xBuilder->weld_image("image3"))
227  , m_xImage4(m_xBuilder->weld_image("image4"))
228 {
229  m_xErrorsED->set_size_request(m_xErrorsED->get_approximate_digit_width() * 72,
230  m_xErrorsED->get_height_rows(8));
231  m_sErrorServer = m_xErrorsED->get_text();
232  m_xErrorsED->set_text("");
233  m_sCompleted = m_xResult1->get_label();
234  m_sFailed = m_xResult2->get_label();
235 
236  m_xStopPB->connect_clicked(LINK(this, SwTestAccountSettingsDialog, StopHdl));
237 
239 }
240 
242 {
243  if (m_pPostedEvent)
244  {
246  }
247 }
248 
250 {
251  m_bStop = true;
252 }
253 
255 {
256  m_pPostedEvent = nullptr;
257  weld::WaitObject aWait(m_xDialog.get());
258  Test();
259 }
260 
262 {
263  uno::Reference<uno::XComponentContext> xContext = ::comphelper::getProcessComponentContext();
264 
265  OUString sException;
266 
267  bool bIsLoggedIn = false;
268  bool bIsServer = false;
269  try
270  {
271  uno::Reference< mail::XMailService > xInMailService;
272  uno::Reference< mail::XMailServiceProvider > xMailServiceProvider(
273  mail::MailServiceProvider::create(xContext) );
274  uno::Reference< mail::XMailService > xMailService =
275  xMailServiceProvider->create(
276  mail::MailServiceType_SMTP);
277  if(m_bStop)
278  return;
279  uno::Reference<XConnectionListener> xConnectionListener(new SwConnectionListener());
280 
281  if(m_pParent->m_pConfigItem->IsAuthentication() &&
282  m_pParent->m_pConfigItem->IsSMTPAfterPOP())
283  {
284  xInMailService = xMailServiceProvider->create(
285  m_pParent->m_pConfigItem->IsInServerPOP() ?
286  mail::MailServiceType_POP3 : mail::MailServiceType_IMAP);
287  if(m_bStop)
288  return;
289  //authenticate at the POP or IMAP server first
290  uno::Reference<XAuthenticator> xAuthenticator =
291  new SwAuthenticator(
292  m_pParent->m_pConfigItem->GetInServerUserName(),
293  m_pParent->m_pConfigItem->GetInServerPassword(),
294  m_xDialog.get());
295 
296  xInMailService->addConnectionListener(xConnectionListener);
297  //check connection
298  uno::Reference< uno::XCurrentContext> xConnectionContext =
300  m_pParent->m_pConfigItem->GetInServerName(),
301  m_pParent->m_pConfigItem->GetInServerPort(),
302  "Insecure");
303  xInMailService->connect(xConnectionContext, xAuthenticator);
304  }
305  if(m_bStop)
306  return;
307  uno::Reference<XAuthenticator> xAuthenticator;
308  if(m_pParent->m_pConfigItem->IsAuthentication() &&
309  !m_pParent->m_pConfigItem->IsSMTPAfterPOP() &&
310  !m_pParent->m_pConfigItem->GetMailUserName().isEmpty())
311  xAuthenticator =
312  new SwAuthenticator(
313  m_pParent->m_pConfigItem->GetMailUserName(),
314  m_pParent->m_pConfigItem->GetMailPassword(),
315  m_xDialog.get());
316  else
317  xAuthenticator = new SwAuthenticator();
318 
319  xMailService->addConnectionListener(xConnectionListener);
320  if(m_bStop)
321  return;
322  //just to check if the server exists
323  xMailService->getSupportedConnectionTypes();
324  if(m_bStop)
325  return;
326  bIsServer = true;
327  //check connection
328  uno::Reference< uno::XCurrentContext> xConnectionContext =
330  m_pParent->m_xServerED->get_text(),
331  m_pParent->m_xPortNF->get_value(),
332  m_pParent->m_xSecureCB->get_active() ? OUString("Ssl") : OUString("Insecure"));
333  xMailService->connect(xConnectionContext, xAuthenticator);
334  bIsLoggedIn = xMailService->isConnected();
335  if( xInMailService.is() )
336  xInMailService->disconnect();
337  if( xMailService->isConnected())
338  xMailService->disconnect();
339  }
340  catch (const uno::Exception& e)
341  {
342  sException = e.Message;
343  }
344 
345  m_xResult1->set_label(bIsServer ? m_sCompleted : m_sFailed);
346  m_xImage1->set_visible(!bIsServer);
347  m_xImage3->set_visible(bIsServer);
348 
349  m_xResult2->set_label(bIsLoggedIn ? m_sCompleted : m_sFailed);
350  m_xImage2->set_visible(!bIsLoggedIn);
351  m_xImage4->set_visible(bIsLoggedIn);
352 
353  if (!bIsServer || !bIsLoggedIn)
354  {
355  OUString aErrorMessage(m_sErrorServer);
356  if (!sException.isEmpty())
357  aErrorMessage += "\n--\n" + sException;
358  m_xErrorsED->set_text(aErrorMessage);
359  }
360 }
361 
363  : SfxSingleTabDialogController(pParent, &rSet)
364 {
365  TabPageParent pPageParent(get_content_area(), this);
366  // create TabPage
367  SetTabPage(SwMailConfigPage::Create(pPageParent, &rSet));
368  m_xDialog->set_title(SwResId(STR_MAILCONFIG_DLG_TITLE));
369 }
370 
372  weld::Window* pParent, SwMailMergeConfigItem& rItem)
373  : SfxDialogController(pParent, "modules/swriter/ui/authenticationsettingsdialog.ui", "AuthenticationSettingsDialog")
374  , m_rConfigItem(rItem)
375  , m_xAuthenticationCB(m_xBuilder->weld_check_button("authentication"))
376  , m_xSeparateAuthenticationRB(m_xBuilder->weld_radio_button("separateauthentication"))
377  , m_xSMTPAfterPOPRB(m_xBuilder->weld_radio_button("smtpafterpop"))
378  , m_xOutgoingServerFT(m_xBuilder->weld_label("label1"))
379  , m_xUserNameFT(m_xBuilder->weld_label("username_label"))
380  , m_xUserNameED(m_xBuilder->weld_entry("username"))
381  , m_xOutPasswordFT(m_xBuilder->weld_label("outpassword_label"))
382  , m_xOutPasswordED(m_xBuilder->weld_entry("outpassword"))
383  , m_xIncomingServerFT(m_xBuilder->weld_label("label2"))
384  , m_xServerFT(m_xBuilder->weld_label("server_label"))
385  , m_xServerED(m_xBuilder->weld_entry("server"))
386  , m_xPortFT(m_xBuilder->weld_label("port_label"))
387  , m_xPortNF(m_xBuilder->weld_spin_button("port"))
388  , m_xProtocolFT(m_xBuilder->weld_label("label3"))
389  , m_xPOP3RB(m_xBuilder->weld_radio_button("pop3"))
390  , m_xIMAPRB(m_xBuilder->weld_radio_button("imap"))
391  , m_xInUsernameFT(m_xBuilder->weld_label("inusername_label"))
392  , m_xInUsernameED(m_xBuilder->weld_entry("inusername"))
393  , m_xInPasswordFT(m_xBuilder->weld_label("inpassword_label"))
394  , m_xInPasswordED(m_xBuilder->weld_entry("inpassword"))
395  , m_xOKPB(m_xBuilder->weld_button("ok"))
396 {
397  m_xAuthenticationCB->connect_toggled( LINK( this, SwAuthenticationSettingsDialog, CheckBoxHdl_Impl));
398  Link<weld::ToggleButton&,void> aRBLink = LINK( this, SwAuthenticationSettingsDialog, RadioButtonHdl_Impl );
399  m_xSeparateAuthenticationRB->connect_toggled( aRBLink );
400  m_xSMTPAfterPOPRB->connect_toggled( aRBLink );
401  m_xOKPB->connect_clicked( LINK( this, SwAuthenticationSettingsDialog, OKHdl_Impl));
402  Link<weld::Button&,void> aInServerLink = LINK( this, SwAuthenticationSettingsDialog, InServerHdl_Impl );
403  m_xPOP3RB->connect_clicked( aInServerLink );
404  m_xIMAPRB->connect_clicked( aInServerLink );
405 
408  m_xSMTPAfterPOPRB->set_active(true);
409  else
410  m_xSeparateAuthenticationRB->set_active(true);
413 
417  m_xPOP3RB->set_active(true);
418  else
419  m_xIMAPRB->set_active(true);
422 
423  CheckBoxHdl_Impl(*m_xAuthenticationCB);
424 }
425 
427 {
428  m_rConfigItem.SetAuthentication( m_xAuthenticationCB->get_active() );
429  m_rConfigItem.SetSMTPAfterPOP(m_xSMTPAfterPOPRB->get_active());
430  m_rConfigItem.SetMailUserName(m_xUserNameED->get_text());
431  m_rConfigItem.SetMailPassword(m_xOutPasswordED->get_text());
432  m_rConfigItem.SetInServerName(m_xServerED->get_text());
433  m_rConfigItem.SetInServerPort(m_xPortNF->get_value());
434  m_rConfigItem.SetInServerPOP(m_xPOP3RB->get_active());
435  m_rConfigItem.SetInServerUserName(m_xInUsernameED->get_text());
436  m_rConfigItem.SetInServerPassword(m_xInPasswordED->get_text());
437  m_xDialog->response(RET_OK);
438 }
439 
441 {
442  bool bChecked = rBox.get_active();
443  m_xSeparateAuthenticationRB->set_sensitive(bChecked);
444  m_xSMTPAfterPOPRB->set_sensitive(bChecked);
445  RadioButtonHdl_Impl(*m_xSeparateAuthenticationRB);
446 }
447 
449 {
450  bool bSeparate = m_xSeparateAuthenticationRB->get_active();
451  bool bIsEnabled = m_xSeparateAuthenticationRB->get_sensitive();
452  bool bNotSeparate = !bSeparate && bIsEnabled;
453  bSeparate &= bIsEnabled;
454 
455  if (bSeparate && m_xUserNameED->get_text().isEmpty())
456  m_xUserNameED->set_text(m_rConfigItem.GetMailAddress());
457  else if (!bSeparate && m_xUserNameED->get_text() == m_rConfigItem.GetMailAddress())
458  m_xUserNameED->set_text("");
459 
460  if (bNotSeparate && m_xInUsernameED->get_text().isEmpty())
461  m_xInUsernameED->set_text(m_rConfigItem.GetMailAddress());
462  else if (!bNotSeparate && m_xInUsernameED->get_text() == m_rConfigItem.GetMailAddress())
463  m_xInUsernameED->set_text("");
464 
465  m_xOutgoingServerFT->set_sensitive(bSeparate);
466  m_xUserNameFT->set_sensitive(bSeparate);
467  m_xUserNameED->set_sensitive(bSeparate);
468  m_xOutPasswordFT->set_sensitive(bSeparate);
469  m_xOutPasswordED->set_sensitive(bSeparate);
470 
471  m_xIncomingServerFT->set_sensitive(bNotSeparate);
472  m_xServerFT->set_sensitive(bNotSeparate);
473  m_xServerED->set_sensitive(bNotSeparate);
474  m_xPortFT->set_sensitive(bNotSeparate);
475  m_xPortNF->set_sensitive(bNotSeparate);
476  m_xInUsernameFT->set_sensitive(bNotSeparate);
477  m_xInUsernameED->set_sensitive(bNotSeparate);
478  m_xProtocolFT->set_sensitive(bNotSeparate);
479  m_xPOP3RB->set_sensitive(bNotSeparate);
480  m_xIMAPRB->set_sensitive(bNotSeparate);
481  m_xInPasswordFT->set_sensitive(bNotSeparate);
482  m_xInPasswordED->set_sensitive(bNotSeparate);
483 }
484 
486 {
487  bool bPOP = m_xPOP3RB->get_active();
488  m_rConfigItem.SetInServerPOP(bPOP);
489  m_xPortNF->set_value(m_rConfigItem.GetInServerPort());
490 }
491 
492 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
std::unique_ptr< weld::Entry > m_xServerED
std::unique_ptr< weld::Label > m_xResult1
std::unique_ptr< weld::Label > m_xOutPasswordFT
std::unique_ptr< weld::Button > m_xStopPB
std::unique_ptr< weld::Entry > m_xInUsernameED
std::unique_ptr< weld::Entry > m_xAddressED
virtual void dispose() override
std::unique_ptr< weld::Image > m_xImage1
std::unique_ptr< weld::RadioButton > m_xIMAPRB
std::unique_ptr< weld::Label > m_xPortFT
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< weld::Label > m_xIncomingServerFT
std::unique_ptr< weld::Label > m_xProtocolFT
std::unique_ptr< SwMailMergeConfigItem > m_pConfigItem
virtual ~SwTestAccountSettingsDialog() override
SwMailConfigDlg(weld::Window *pParent, SfxItemSet &rSet)
std::unique_ptr< weld::RadioButton > m_xPOP3RB
virtual bool FillItemSet(SfxItemSet *rSet) override
std::unique_ptr< weld::Label > m_xFind
std::unique_ptr< weld::Label > m_xInPasswordFT
void SetTabPage(SfxTabPage *pTabPage)
std::unique_ptr< weld::CheckButton > m_xSecureCB
std::unique_ptr< weld::Entry > m_xInPasswordED
std::unique_ptr< weld::Image > m_xImage3
std::unique_ptr< weld::Button > m_xTestPB
virtual void dispose() override
std::unique_ptr< weld::Label > m_xInUsernameFT
bool IsAuthentication() const
OUString const & GetInServerPassword() const
sal_Int16 GetInServerPort() const
std::unique_ptr< weld::Button > m_xOKPB
static void RemoveUserEvent(ImplSVEvent *nUserEvent)
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::Label > m_xUserNameFT
std::unique_ptr< weld::Label > m_xOutgoingServerFT
std::unique_ptr< weld::Label > m_xServerFT
std::unique_ptr< weld::CheckButton > m_xAuthenticationCB
std::unique_ptr< weld::SpinButton > m_xPortNF
VclPtr< SwMailConfigPage > m_pParent
std::unique_ptr< weld::TextView > m_xErrorsED
std::unique_ptr< weld::Image > m_xImage2
DECL_LINK(StopHdl, weld::Button &, void)
OUString SwResId(const char *pId)
Definition: swmodule.cxx:191
std::unique_ptr< weld::Label > m_xResult2
std::unique_ptr< weld::RadioButton > m_xSeparateAuthenticationRB
bool IsInServerPOP() const
OUString const & GetInServerUserName() const
SwAuthenticationSettingsDialog(weld::Window *pParent, SwMailMergeConfigItem &rItem)
static VclPtr< SfxTabPage > Create(TabPageParent pParent, const SfxItemSet *rAttrSet)
IMPL_LINK_NOARG(SwMailConfigPage, AuthenticationHdl, weld::Button &, void)
IMPL_LINK(SwMailConfigPage, ReplyToHdl, weld::ToggleButton &, rBox, void)
RET_OK
static VclPtr< reference_type > Create(Arg &&...arg)
std::unique_ptr< weld::Entry > m_xUserNameED
SwTestAccountSettingsDialog(SwMailConfigPage *pParent)
std::unique_ptr< weld::CheckButton > m_xReplyToCB
SwMailMergeConfigItem & m_rConfigItem
bool IsSMTPAfterPOP() const
std::unique_ptr< weld::Label > m_xEstablish
virtual ~SwMailConfigPage() override
std::unique_ptr< weld::Entry > m_xOutPasswordED
std::unique_ptr< weld::RadioButton > m_xSMTPAfterPOPRB
std::unique_ptr< weld::Entry > m_xServerED
OUString const & GetMailPassword() const
std::unique_ptr< weld::Image > m_xImage4
OUString const & GetMailUserName() const
OUString const & GetInServerName() const
SwMailConfigPage(TabPageParent pParent, const SfxItemSet &rSet)
DECL_LINK(OKHdl_Impl, weld::Button &, void)