1*efeef26fSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*efeef26fSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*efeef26fSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*efeef26fSAndrew Rist * distributed with this work for additional information 6*efeef26fSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*efeef26fSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*efeef26fSAndrew Rist * "License"); you may not use this file except in compliance 9*efeef26fSAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11*efeef26fSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*efeef26fSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*efeef26fSAndrew Rist * software distributed under the License is distributed on an 15*efeef26fSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*efeef26fSAndrew Rist * KIND, either express or implied. See the License for the 17*efeef26fSAndrew Rist * specific language governing permissions and limitations 18*efeef26fSAndrew Rist * under the License. 19cdf0e10cSrcweir * 20*efeef26fSAndrew Rist *************************************************************/ 21*efeef26fSAndrew Rist 22*efeef26fSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove 25cdf0e10cSrcweir #include "precompiled_sw.hxx" 26cdf0e10cSrcweir #ifdef SW_DLLIMPLEMENTATION 27cdf0e10cSrcweir #undef SW_DLLIMPLEMENTATION 28cdf0e10cSrcweir #endif 29cdf0e10cSrcweir 30cdf0e10cSrcweir 31cdf0e10cSrcweir #include <swtypes.hxx> 32cdf0e10cSrcweir #include <mailconfigpage.hxx> 33cdf0e10cSrcweir #include <svtools/svmedit.hxx> 34cdf0e10cSrcweir #include <svtools/stdctrl.hxx> 35cdf0e10cSrcweir #include <svtools/svtabbx.hxx> 36cdf0e10cSrcweir #include <svtools/headbar.hxx> 37cdf0e10cSrcweir #include <mmconfigitem.hxx> 38cdf0e10cSrcweir #include <mailmergehelper.hxx> 39cdf0e10cSrcweir #ifndef _CMDID_H 40cdf0e10cSrcweir #include <cmdid.h> 41cdf0e10cSrcweir #endif 42cdf0e10cSrcweir #include <vcl/svapp.hxx> 43cdf0e10cSrcweir #include <comphelper/processfactory.hxx> 44cdf0e10cSrcweir #include "com/sun/star/mail/MailServiceType.hpp" 45cdf0e10cSrcweir #include "com/sun/star/mail/XMailService.hpp" 46cdf0e10cSrcweir #include "com/sun/star/mail/MailServiceProvider.hpp" 47cdf0e10cSrcweir #include <vcl/msgbox.hxx> 48cdf0e10cSrcweir #include <globals.hrc> 49cdf0e10cSrcweir #include <mailconfigpage.hrc> 50cdf0e10cSrcweir #include <config.hrc> 51cdf0e10cSrcweir #include <helpid.h> 52cdf0e10cSrcweir 53cdf0e10cSrcweir using namespace ::com::sun::star; 54cdf0e10cSrcweir using namespace ::com::sun::star::lang; 55cdf0e10cSrcweir using namespace ::com::sun::star::mail; 56cdf0e10cSrcweir using namespace ::com::sun::star::beans; 57cdf0e10cSrcweir using ::rtl::OUString; 58cdf0e10cSrcweir /*-- 06.05.2004 12:04:11--------------------------------------------------- 59cdf0e10cSrcweir 60cdf0e10cSrcweir -----------------------------------------------------------------------*/ 61cdf0e10cSrcweir class SwTestAccountSettingsDialog : public SfxModalDialog 62cdf0e10cSrcweir { 63cdf0e10cSrcweir FixedInfo m_aInfoFI; 64cdf0e10cSrcweir 65cdf0e10cSrcweir HeaderBar m_aStatusHB; 66cdf0e10cSrcweir SvTabListBox m_aStatusLB; 67cdf0e10cSrcweir 68cdf0e10cSrcweir FixedInfo m_aErrorFI; 69cdf0e10cSrcweir MultiLineEdit m_eErrorsED; 70cdf0e10cSrcweir 71cdf0e10cSrcweir FixedLine m_aSeparatorFL; 72cdf0e10cSrcweir PushButton m_aStopPB; 73cdf0e10cSrcweir CancelButton m_aCancelPB; 74cdf0e10cSrcweir HelpButton m_aHelpPB; 75cdf0e10cSrcweir 76cdf0e10cSrcweir ImageList m_aImageList; 77cdf0e10cSrcweir 78cdf0e10cSrcweir String m_sTask ; 79cdf0e10cSrcweir String m_sStatus ; 80cdf0e10cSrcweir String m_sEstablish ; 81cdf0e10cSrcweir String m_sFindServer ; 82cdf0e10cSrcweir String m_sCompleted ; 83cdf0e10cSrcweir String m_sFailed ; 84cdf0e10cSrcweir String m_sErrorNetwork; 85cdf0e10cSrcweir String m_sErrorServer ; 86cdf0e10cSrcweir 87cdf0e10cSrcweir SwMailConfigPage* m_pParent; 88cdf0e10cSrcweir 89cdf0e10cSrcweir bool m_bStop; 90cdf0e10cSrcweir 91cdf0e10cSrcweir void Test(); 92cdf0e10cSrcweir DECL_LINK(StopHdl, PushButton*); 93cdf0e10cSrcweir DECL_STATIC_LINK(SwTestAccountSettingsDialog, TestHdl, void*); 94cdf0e10cSrcweir public: 95cdf0e10cSrcweir SwTestAccountSettingsDialog(SwMailConfigPage* pParent); 96cdf0e10cSrcweir ~SwTestAccountSettingsDialog(); 97cdf0e10cSrcweir }; 98cdf0e10cSrcweir /*-- 19.08.2004 14:27:33--------------------------------------------------- 99cdf0e10cSrcweir 100cdf0e10cSrcweir -----------------------------------------------------------------------*/ 101cdf0e10cSrcweir class SwAuthenticationSettingsDialog : public SfxModalDialog 102cdf0e10cSrcweir { 103cdf0e10cSrcweir CheckBox m_aAuthenticationCB; 104cdf0e10cSrcweir 105cdf0e10cSrcweir RadioButton m_aSeparateAuthenticationRB; 106cdf0e10cSrcweir RadioButton m_aSMTPAfterPOPRB; 107cdf0e10cSrcweir 108cdf0e10cSrcweir FixedInfo m_aOutgoingServerFT; 109cdf0e10cSrcweir FixedText m_aUserNameFT; 110cdf0e10cSrcweir Edit m_aUserNameED; 111cdf0e10cSrcweir FixedText m_aOutPasswordFT; 112cdf0e10cSrcweir Edit m_aOutPasswordED; 113cdf0e10cSrcweir 114cdf0e10cSrcweir FixedInfo m_aIncomingServerFT; 115cdf0e10cSrcweir FixedText m_aServerFT; 116cdf0e10cSrcweir Edit m_aServerED; 117cdf0e10cSrcweir FixedText m_aPortFT; 118cdf0e10cSrcweir NumericField m_aPortNF; 119cdf0e10cSrcweir FixedText m_aProtocolFT; 120cdf0e10cSrcweir RadioButton m_aPOP3RB; 121cdf0e10cSrcweir RadioButton m_aIMAPRB; 122cdf0e10cSrcweir FixedText m_aInUsernameFT; 123cdf0e10cSrcweir Edit m_aInUsernameED; 124cdf0e10cSrcweir FixedText m_aInPasswordFT; 125cdf0e10cSrcweir Edit m_aInPasswordED; 126cdf0e10cSrcweir 127cdf0e10cSrcweir FixedLine m_aSeparatorFL; 128cdf0e10cSrcweir 129cdf0e10cSrcweir OKButton m_aOKPB; 130cdf0e10cSrcweir CancelButton m_aCancelPB; 131cdf0e10cSrcweir HelpButton m_aHelpPB; 132cdf0e10cSrcweir 133cdf0e10cSrcweir SwMailMergeConfigItem& rConfigItem; 134cdf0e10cSrcweir 135cdf0e10cSrcweir DECL_LINK( OKHdl_Impl, OKButton*); 136cdf0e10cSrcweir DECL_LINK( CheckBoxHdl_Impl, CheckBox*); 137cdf0e10cSrcweir DECL_LINK( RadioButtonHdl_Impl, RadioButton*); 138cdf0e10cSrcweir 139cdf0e10cSrcweir 140cdf0e10cSrcweir public: 141cdf0e10cSrcweir SwAuthenticationSettingsDialog(SwMailConfigPage* pParent, SwMailMergeConfigItem& rItem); 142cdf0e10cSrcweir ~SwAuthenticationSettingsDialog(); 143cdf0e10cSrcweir }; 144cdf0e10cSrcweir 145cdf0e10cSrcweir /*-- 06.05.2004 10:59:40--------------------------------------------------- 146cdf0e10cSrcweir 147cdf0e10cSrcweir -----------------------------------------------------------------------*/ 148cdf0e10cSrcweir SwMailConfigPage::SwMailConfigPage( Window* pParent, const SfxItemSet& rSet ) : 149cdf0e10cSrcweir SfxTabPage(pParent, SW_RES(TP_MAILCONFIG), rSet), 150cdf0e10cSrcweir #ifdef MSC 151cdf0e10cSrcweir #pragma warning (disable : 4355) 152cdf0e10cSrcweir #endif 153cdf0e10cSrcweir m_aIdentityFL( this, SW_RES( FL_IDENTITY)), 154cdf0e10cSrcweir m_aDisplayNameFT( this, SW_RES( FT_DISPLAYNAME)), 155cdf0e10cSrcweir m_aDisplayNameED( this, SW_RES( ED_DISPLAYNAME)), 156cdf0e10cSrcweir m_aAddressFT( this, SW_RES( FT_ADDRESS)), 157cdf0e10cSrcweir m_aAddressED( this, SW_RES( ED_ADDRESS)), 158cdf0e10cSrcweir m_aReplyToCB( this, SW_RES( CB_REPLYTO)), 159cdf0e10cSrcweir m_aReplyToFT( this, SW_RES( FT_REPLYTO)), 160cdf0e10cSrcweir m_aReplyToED( this, SW_RES( ED_REPLYTO)), 161cdf0e10cSrcweir m_aSMTPFL( this, SW_RES( FL_SMTP)), 162cdf0e10cSrcweir m_aServerFT( this, SW_RES( FT_SERVER)), 163cdf0e10cSrcweir m_aServerED( this, SW_RES( ED_SERVER)), 164cdf0e10cSrcweir m_aPortFT( this, SW_RES( FT_PORT)), 165cdf0e10cSrcweir m_aPortNF( this, SW_RES( NF_PORT)), 166cdf0e10cSrcweir m_aSecureCB( this, SW_RES( CB_SECURE)), 167cdf0e10cSrcweir m_aServerAuthenticationPB( this, SW_RES( PB_AUTHENTICATION )), 168cdf0e10cSrcweir m_aSeparatorFL( this, SW_RES( FL_SEPARATOR )), 169cdf0e10cSrcweir m_aTestPB( this, SW_RES( PB_TEST)), 170cdf0e10cSrcweir #ifdef MSC 171cdf0e10cSrcweir #pragma warning (default : 4355) 172cdf0e10cSrcweir #endif 173cdf0e10cSrcweir m_pConfigItem( new SwMailMergeConfigItem ) 174cdf0e10cSrcweir { 175cdf0e10cSrcweir FreeResource(); 176cdf0e10cSrcweir m_aReplyToCB.SetClickHdl(LINK(this, SwMailConfigPage, ReplyToHdl)); 177cdf0e10cSrcweir m_aServerAuthenticationPB.SetClickHdl(LINK(this, SwMailConfigPage, AuthenticationHdl)); 178cdf0e10cSrcweir m_aTestPB.SetClickHdl(LINK(this, SwMailConfigPage, TestHdl)); 179cdf0e10cSrcweir } 180cdf0e10cSrcweir /*-- 06.05.2004 10:59:40--------------------------------------------------- 181cdf0e10cSrcweir 182cdf0e10cSrcweir -----------------------------------------------------------------------*/ 183cdf0e10cSrcweir SwMailConfigPage::~SwMailConfigPage() 184cdf0e10cSrcweir { 185cdf0e10cSrcweir delete m_pConfigItem; 186cdf0e10cSrcweir } 187cdf0e10cSrcweir /*-- 06.05.2004 10:59:40--------------------------------------------------- 188cdf0e10cSrcweir 189cdf0e10cSrcweir -----------------------------------------------------------------------*/ 190cdf0e10cSrcweir SfxTabPage* SwMailConfigPage::Create( Window* pParent, const SfxItemSet& rAttrSet) 191cdf0e10cSrcweir { 192cdf0e10cSrcweir return new SwMailConfigPage(pParent, rAttrSet); 193cdf0e10cSrcweir } 194cdf0e10cSrcweir /*-- 06.05.2004 10:59:41--------------------------------------------------- 195cdf0e10cSrcweir 196cdf0e10cSrcweir -----------------------------------------------------------------------*/ 197cdf0e10cSrcweir sal_Bool SwMailConfigPage::FillItemSet( SfxItemSet& /*rSet*/ ) 198cdf0e10cSrcweir { 199cdf0e10cSrcweir if(m_aDisplayNameED.GetText() != m_aDisplayNameED.GetSavedValue()) 200cdf0e10cSrcweir m_pConfigItem->SetMailDisplayName(m_aDisplayNameED.GetText()); 201cdf0e10cSrcweir if(m_aAddressED.GetText() != m_aAddressED.GetSavedValue()) 202cdf0e10cSrcweir m_pConfigItem->SetMailAddress(m_aAddressED.GetText()); 203cdf0e10cSrcweir String sReplyTo; 204cdf0e10cSrcweir if( m_aReplyToCB.GetSavedValue() != m_aReplyToCB.IsChecked()) 205cdf0e10cSrcweir m_pConfigItem->SetMailReplyTo(m_aReplyToCB.IsChecked()); 206cdf0e10cSrcweir if(m_aReplyToED.GetText() != m_aReplyToED.GetSavedValue()) 207cdf0e10cSrcweir m_pConfigItem->SetMailReplyTo(m_aReplyToED.GetText()); 208cdf0e10cSrcweir if(m_aServerED.GetText() != m_aServerED.GetSavedValue()) 209cdf0e10cSrcweir m_pConfigItem->SetMailServer(m_aServerED.GetText()); 210cdf0e10cSrcweir 211cdf0e10cSrcweir if(m_aPortNF.IsModified()) 212cdf0e10cSrcweir m_pConfigItem->SetMailPort((sal_Int16)m_aPortNF.GetValue()); 213cdf0e10cSrcweir 214cdf0e10cSrcweir m_pConfigItem->SetSecureConnection(m_aSecureCB.IsChecked()); 215cdf0e10cSrcweir 216cdf0e10cSrcweir m_pConfigItem->Commit(); 217cdf0e10cSrcweir return sal_True; 218cdf0e10cSrcweir } 219cdf0e10cSrcweir /*-- 06.05.2004 10:59:41--------------------------------------------------- 220cdf0e10cSrcweir 221cdf0e10cSrcweir -----------------------------------------------------------------------*/ 222cdf0e10cSrcweir void SwMailConfigPage::Reset( const SfxItemSet& /*rSet*/ ) 223cdf0e10cSrcweir { 224cdf0e10cSrcweir m_aDisplayNameED.SetText(m_pConfigItem->GetMailDisplayName()); 225cdf0e10cSrcweir m_aAddressED.SetText(m_pConfigItem->GetMailAddress()); 226cdf0e10cSrcweir 227cdf0e10cSrcweir m_aReplyToED.SetText(m_pConfigItem->GetMailReplyTo()) ; 228cdf0e10cSrcweir m_aReplyToCB.Check(m_pConfigItem->IsMailReplyTo()); 229cdf0e10cSrcweir m_aReplyToCB.GetClickHdl().Call(&m_aReplyToCB); 230cdf0e10cSrcweir 231cdf0e10cSrcweir m_aServerED.SetText(m_pConfigItem->GetMailServer()); 232cdf0e10cSrcweir m_aPortNF.SetValue(m_pConfigItem->GetMailPort()); 233cdf0e10cSrcweir 234cdf0e10cSrcweir m_aSecureCB.Check(m_pConfigItem->IsSecureConnection()); 235cdf0e10cSrcweir 236cdf0e10cSrcweir m_aDisplayNameED.SaveValue(); 237cdf0e10cSrcweir m_aAddressED .SaveValue(); 238cdf0e10cSrcweir m_aReplyToCB .SaveValue(); 239cdf0e10cSrcweir m_aReplyToED .SaveValue(); 240cdf0e10cSrcweir m_aServerED .SaveValue(); 241cdf0e10cSrcweir m_aPortNF .SaveValue(); 242cdf0e10cSrcweir m_aSecureCB .SaveValue(); 243cdf0e10cSrcweir } 244cdf0e10cSrcweir /*-- 06.05.2004 10:59:41--------------------------------------------------- 245cdf0e10cSrcweir 246cdf0e10cSrcweir -----------------------------------------------------------------------*/ 247cdf0e10cSrcweir IMPL_LINK(SwMailConfigPage, ReplyToHdl, CheckBox*, pBox) 248cdf0e10cSrcweir { 249cdf0e10cSrcweir sal_Bool bEnable = pBox->IsChecked(); 250cdf0e10cSrcweir m_aReplyToFT.Enable(bEnable); 251cdf0e10cSrcweir m_aReplyToED.Enable(bEnable); 252cdf0e10cSrcweir return 0; 253cdf0e10cSrcweir } 254cdf0e10cSrcweir /*-- 06.05.2004 10:59:41--------------------------------------------------- 255cdf0e10cSrcweir 256cdf0e10cSrcweir -----------------------------------------------------------------------*/ 257cdf0e10cSrcweir IMPL_LINK(SwMailConfigPage, AuthenticationHdl, PushButton*, EMPTYARG) 258cdf0e10cSrcweir { 259cdf0e10cSrcweir SwAuthenticationSettingsDialog aDlg(this, *m_pConfigItem); 260cdf0e10cSrcweir aDlg.Execute(); 261cdf0e10cSrcweir return 0; 262cdf0e10cSrcweir } 263cdf0e10cSrcweir /*-- 06.05.2004 10:59:42--------------------------------------------------- 264cdf0e10cSrcweir 265cdf0e10cSrcweir -----------------------------------------------------------------------*/ 266cdf0e10cSrcweir IMPL_LINK(SwMailConfigPage, TestHdl, PushButton*, EMPTYARG) 267cdf0e10cSrcweir { 268cdf0e10cSrcweir SwTestAccountSettingsDialog(this).Execute(); 269cdf0e10cSrcweir return 0; 270cdf0e10cSrcweir } 271cdf0e10cSrcweir /*-- 06.05.2004 12:11:13--------------------------------------------------- 272cdf0e10cSrcweir 273cdf0e10cSrcweir -----------------------------------------------------------------------*/ 274cdf0e10cSrcweir SwTestAccountSettingsDialog::SwTestAccountSettingsDialog(SwMailConfigPage* pParent) : 275cdf0e10cSrcweir SfxModalDialog(pParent, SW_RES(DLG_MM_TESTACCOUNTSETTINGS)), 276cdf0e10cSrcweir #ifdef MSC 277cdf0e10cSrcweir #pragma warning (disable : 4355) 278cdf0e10cSrcweir #endif 279cdf0e10cSrcweir m_aInfoFI( this, SW_RES( FI_INFO )), 280cdf0e10cSrcweir m_aStatusHB( this, WB_BUTTONSTYLE | WB_BOTTOMBORDER), 281cdf0e10cSrcweir m_aStatusLB( this, SW_RES( LB_STATUS )), 282cdf0e10cSrcweir m_aErrorFI( this, SW_RES( FI_ERROR )), 283cdf0e10cSrcweir m_eErrorsED( this, SW_RES( ED_ERROR )), 284cdf0e10cSrcweir m_aSeparatorFL( this, SW_RES( FL_SEPAPARATOR )), 285cdf0e10cSrcweir m_aStopPB( this, SW_RES( PB_STOP )), 286cdf0e10cSrcweir m_aCancelPB( this, SW_RES( PB_CANCEL )), 287cdf0e10cSrcweir m_aHelpPB( this, SW_RES( PB_HELP )), 288cdf0e10cSrcweir #ifdef MSC 289cdf0e10cSrcweir #pragma warning (default : 4355) 290cdf0e10cSrcweir #endif 291cdf0e10cSrcweir m_aImageList( SW_RES( GetSettings().GetStyleSettings().GetHighContrastMode() ? ILIST_HC : ILIST) ), 292cdf0e10cSrcweir m_sTask( SW_RES( ST_TASK )), 293cdf0e10cSrcweir m_sStatus( SW_RES( ST_STATUS )), 294cdf0e10cSrcweir m_sEstablish( SW_RES( ST_ESTABLISH )), 295cdf0e10cSrcweir m_sFindServer( SW_RES( ST_FINDSERVER )), 296cdf0e10cSrcweir m_sCompleted( SW_RES( ST_COMPLETED )), 297cdf0e10cSrcweir m_sFailed( SW_RES( ST_FAILED )), 298cdf0e10cSrcweir m_sErrorServer( SW_RES( ST_ERROR_SERVER )), 299cdf0e10cSrcweir m_pParent(pParent), 300cdf0e10cSrcweir m_bStop(false) 301cdf0e10cSrcweir { 302cdf0e10cSrcweir FreeResource(); 303cdf0e10cSrcweir m_aStopPB.SetClickHdl(LINK(this, SwTestAccountSettingsDialog, StopHdl)); 304cdf0e10cSrcweir 305cdf0e10cSrcweir Size aLBSize(m_aStatusLB.GetOutputSizePixel()); 306cdf0e10cSrcweir m_aStatusHB.SetSizePixel(aLBSize); 307cdf0e10cSrcweir Size aHeadSize(m_aStatusHB.CalcWindowSizePixel()); 308cdf0e10cSrcweir aHeadSize.Width() = aLBSize.Width(); 309cdf0e10cSrcweir m_aStatusHB.SetSizePixel(aHeadSize); 310cdf0e10cSrcweir Point aLBPos(m_aStatusLB.GetPosPixel()); 311cdf0e10cSrcweir m_aStatusHB.SetPosPixel(aLBPos); 312cdf0e10cSrcweir aLBPos.Y() += aHeadSize.Height(); 313cdf0e10cSrcweir aLBSize.Height() -= aHeadSize.Height(); 314cdf0e10cSrcweir m_aStatusLB.SetPosSizePixel(aLBPos, aLBSize); 315cdf0e10cSrcweir 316cdf0e10cSrcweir Size aSz(m_aStatusHB.GetOutputSizePixel()); 317cdf0e10cSrcweir m_aStatusHB.InsertItem( 1, m_sTask, 318cdf0e10cSrcweir aSz.Width()/2, 319cdf0e10cSrcweir HIB_LEFT | HIB_VCENTER ); 320cdf0e10cSrcweir m_aStatusHB.InsertItem( 2, m_sStatus, 321cdf0e10cSrcweir aSz.Width()/2, 322cdf0e10cSrcweir HIB_LEFT | HIB_VCENTER ); 323cdf0e10cSrcweir 324cdf0e10cSrcweir m_aStatusHB.SetHelpId(HID_MM_TESTACCOUNTSETTINGS_HB ); 325cdf0e10cSrcweir m_aStatusHB.Show(); 326cdf0e10cSrcweir 327cdf0e10cSrcweir m_aStatusLB.SetHelpId(HID_MM_TESTACCOUNTSETTINGS_TLB); 328cdf0e10cSrcweir static long nTabs[] = {2, 0, aSz.Width()/2 }; 329cdf0e10cSrcweir m_aStatusLB.SetStyle( m_aStatusLB.GetStyle() | WB_SORT | WB_HSCROLL | WB_CLIPCHILDREN | WB_TABSTOP ); 330cdf0e10cSrcweir m_aStatusLB.SetSelectionMode( SINGLE_SELECTION ); 331cdf0e10cSrcweir m_aStatusLB.SetTabs(&nTabs[0], MAP_PIXEL); 332cdf0e10cSrcweir short nEntryHeight = m_aStatusLB.GetEntryHeight(); 333cdf0e10cSrcweir m_aStatusLB.SetEntryHeight( nEntryHeight * 15 / 10 ); 334cdf0e10cSrcweir 335cdf0e10cSrcweir Application::PostUserEvent( STATIC_LINK( this, SwTestAccountSettingsDialog, TestHdl ), this ); 336cdf0e10cSrcweir } 337cdf0e10cSrcweir /*-- 06.05.2004 12:11:13--------------------------------------------------- 338cdf0e10cSrcweir 339cdf0e10cSrcweir -----------------------------------------------------------------------*/ 340cdf0e10cSrcweir SwTestAccountSettingsDialog::~SwTestAccountSettingsDialog() 341cdf0e10cSrcweir { 342cdf0e10cSrcweir } 343cdf0e10cSrcweir /*-- 06.05.2004 12:15:43--------------------------------------------------- 344cdf0e10cSrcweir 345cdf0e10cSrcweir -----------------------------------------------------------------------*/ 346cdf0e10cSrcweir IMPL_LINK(SwTestAccountSettingsDialog, StopHdl, PushButton*, EMPTYARG) 347cdf0e10cSrcweir { 348cdf0e10cSrcweir m_bStop = true; 349cdf0e10cSrcweir return 0; 350cdf0e10cSrcweir } 351cdf0e10cSrcweir /*-- 07.06.2004 12:44:50--------------------------------------------------- 352cdf0e10cSrcweir 353cdf0e10cSrcweir -----------------------------------------------------------------------*/ 354cdf0e10cSrcweir IMPL_STATIC_LINK(SwTestAccountSettingsDialog, TestHdl, void*, EMPTYARG) 355cdf0e10cSrcweir { 356cdf0e10cSrcweir pThis->EnterWait(); 357cdf0e10cSrcweir pThis->Test(); 358cdf0e10cSrcweir pThis->LeaveWait(); 359cdf0e10cSrcweir return 0; 360cdf0e10cSrcweir } 361cdf0e10cSrcweir /*-- 07.06.2004 12:45:45--------------------------------------------------- 362cdf0e10cSrcweir 363cdf0e10cSrcweir -----------------------------------------------------------------------*/ 364cdf0e10cSrcweir void SwTestAccountSettingsDialog::Test() 365cdf0e10cSrcweir { 366cdf0e10cSrcweir uno::Reference<XMultiServiceFactory> rMgr = ::comphelper::getProcessServiceFactory(); 367cdf0e10cSrcweir 368cdf0e10cSrcweir bool bIsLoggedIn = false; 369cdf0e10cSrcweir bool bIsServer = false; 370cdf0e10cSrcweir if (rMgr.is()) 371cdf0e10cSrcweir { 372cdf0e10cSrcweir try 373cdf0e10cSrcweir { 374cdf0e10cSrcweir uno::Reference< mail::XMailService > xInMailService; 375cdf0e10cSrcweir uno::Reference< mail::XMailServiceProvider > xMailServiceProvider = 376cdf0e10cSrcweir mail::MailServiceProvider::create(getCurrentCmpCtx(rMgr)); 377cdf0e10cSrcweir uno::Reference< mail::XMailService > xMailService = 378cdf0e10cSrcweir xMailServiceProvider->create( 379cdf0e10cSrcweir mail::MailServiceType_SMTP); 380cdf0e10cSrcweir if(m_bStop) 381cdf0e10cSrcweir return; 382cdf0e10cSrcweir uno::Reference<XConnectionListener> xConnectionListener(new SwConnectionListener()); 383cdf0e10cSrcweir 384cdf0e10cSrcweir if(m_pParent->m_pConfigItem->IsAuthentication() && 385cdf0e10cSrcweir m_pParent->m_pConfigItem->IsSMTPAfterPOP()) 386cdf0e10cSrcweir { 387cdf0e10cSrcweir xInMailService = xMailServiceProvider->create( 388cdf0e10cSrcweir m_pParent->m_pConfigItem->IsInServerPOP() ? 389cdf0e10cSrcweir mail::MailServiceType_POP3 : mail::MailServiceType_IMAP); 390cdf0e10cSrcweir if(m_bStop) 391cdf0e10cSrcweir return; 392cdf0e10cSrcweir //authenticate at the POP or IMAP server first 393cdf0e10cSrcweir uno::Reference<XAuthenticator> xAuthenticator = 394cdf0e10cSrcweir new SwAuthenticator( 395cdf0e10cSrcweir m_pParent->m_pConfigItem->GetInServerUserName(), 396cdf0e10cSrcweir m_pParent->m_pConfigItem->GetInServerPassword(), 397cdf0e10cSrcweir this); 398cdf0e10cSrcweir 399cdf0e10cSrcweir xInMailService->addConnectionListener(xConnectionListener); 400cdf0e10cSrcweir //check connection 401cdf0e10cSrcweir uno::Reference< uno::XCurrentContext> xConnectionContext = 402cdf0e10cSrcweir new SwConnectionContext( 403cdf0e10cSrcweir m_pParent->m_pConfigItem->GetInServerName(), 404cdf0e10cSrcweir m_pParent->m_pConfigItem->GetInServerPort(), 405cdf0e10cSrcweir ::rtl::OUString::createFromAscii( "Insecure" )); 406cdf0e10cSrcweir xInMailService->connect(xConnectionContext, xAuthenticator); 407cdf0e10cSrcweir } 408cdf0e10cSrcweir if(m_bStop) 409cdf0e10cSrcweir return; 410cdf0e10cSrcweir uno::Reference<XAuthenticator> xAuthenticator; 411cdf0e10cSrcweir if(m_pParent->m_pConfigItem->IsAuthentication() && 412cdf0e10cSrcweir !m_pParent->m_pConfigItem->IsSMTPAfterPOP() && 413cdf0e10cSrcweir m_pParent->m_pConfigItem->GetMailUserName().getLength()) 414cdf0e10cSrcweir xAuthenticator = 415cdf0e10cSrcweir new SwAuthenticator( 416cdf0e10cSrcweir m_pParent->m_pConfigItem->GetMailUserName(), 417cdf0e10cSrcweir m_pParent->m_pConfigItem->GetMailPassword(), 418cdf0e10cSrcweir this); 419cdf0e10cSrcweir else 420cdf0e10cSrcweir xAuthenticator = new SwAuthenticator(); 421cdf0e10cSrcweir 422cdf0e10cSrcweir xMailService->addConnectionListener(xConnectionListener); 423cdf0e10cSrcweir if(m_bStop) 424cdf0e10cSrcweir return; 425cdf0e10cSrcweir //just to check if the server exists 426cdf0e10cSrcweir xMailService->getSupportedConnectionTypes(); 427cdf0e10cSrcweir if(m_bStop) 428cdf0e10cSrcweir return; 429cdf0e10cSrcweir bIsServer = true; 430cdf0e10cSrcweir //check connection 431cdf0e10cSrcweir uno::Reference< uno::XCurrentContext> xConnectionContext = 432cdf0e10cSrcweir new SwConnectionContext( 433cdf0e10cSrcweir m_pParent->m_aServerED.GetText(), 434cdf0e10cSrcweir sal::static_int_cast< sal_Int16, sal_Int64 >(m_pParent->m_aPortNF.GetValue()), 435cdf0e10cSrcweir ::rtl::OUString::createFromAscii( 436cdf0e10cSrcweir m_pParent->m_aSecureCB.IsChecked() ? "Ssl" : "Insecure")); 437cdf0e10cSrcweir xMailService->connect(xConnectionContext, xAuthenticator); 438cdf0e10cSrcweir bIsLoggedIn = xMailService->isConnected(); 439cdf0e10cSrcweir if( xInMailService.is() ) 440cdf0e10cSrcweir xInMailService->disconnect(); 441cdf0e10cSrcweir if( xMailService->isConnected()) 442cdf0e10cSrcweir xMailService->disconnect(); 443cdf0e10cSrcweir } 444cdf0e10cSrcweir catch(uno::Exception&) 445cdf0e10cSrcweir { 446cdf0e10cSrcweir DBG_ERROR("exception caught"); 447cdf0e10cSrcweir } 448cdf0e10cSrcweir } 449cdf0e10cSrcweir 450cdf0e10cSrcweir Image aFailedImg = m_aImageList.GetImage( FN_FORMULA_CANCEL ); 451cdf0e10cSrcweir Image aCompletedImg = m_aImageList.GetImage( FN_FORMULA_APPLY ); 452cdf0e10cSrcweir 453cdf0e10cSrcweir String sTmp(m_sEstablish); 454cdf0e10cSrcweir sTmp += '\t'; 455cdf0e10cSrcweir sTmp += bIsServer ? m_sCompleted : m_sFailed; 456cdf0e10cSrcweir m_aStatusLB.InsertEntry(sTmp, 457cdf0e10cSrcweir bIsServer ? aCompletedImg : aFailedImg, 458cdf0e10cSrcweir bIsServer ? aCompletedImg : aFailedImg); 459cdf0e10cSrcweir 460cdf0e10cSrcweir sTmp = m_sFindServer; 461cdf0e10cSrcweir sTmp += '\t'; 462cdf0e10cSrcweir sTmp += bIsLoggedIn ? m_sCompleted : m_sFailed; 463cdf0e10cSrcweir m_aStatusLB.InsertEntry(sTmp, 464cdf0e10cSrcweir bIsLoggedIn ? aCompletedImg : aFailedImg, 465cdf0e10cSrcweir bIsLoggedIn ? aCompletedImg : aFailedImg); 466cdf0e10cSrcweir 467cdf0e10cSrcweir if(!bIsServer || !bIsLoggedIn ) 468cdf0e10cSrcweir { 469cdf0e10cSrcweir m_eErrorsED.SetText( m_sErrorServer ); 470cdf0e10cSrcweir } 471cdf0e10cSrcweir } 472cdf0e10cSrcweir /*-- 18.08.2004 12:18:38--------------------------------------------------- 473cdf0e10cSrcweir 474cdf0e10cSrcweir -----------------------------------------------------------------------*/ 475cdf0e10cSrcweir SwMailConfigDlg::SwMailConfigDlg(Window* pParent, SfxItemSet& rSet ) : 476cdf0e10cSrcweir SfxSingleTabDialog(pParent, rSet, 0) 477cdf0e10cSrcweir { 478cdf0e10cSrcweir // TabPage erzeugen 479cdf0e10cSrcweir SetTabPage(SwMailConfigPage::Create( this, rSet )); 480cdf0e10cSrcweir } 481cdf0e10cSrcweir /*-- 18.08.2004 12:18:38--------------------------------------------------- 482cdf0e10cSrcweir 483cdf0e10cSrcweir -----------------------------------------------------------------------*/ 484cdf0e10cSrcweir SwMailConfigDlg::~SwMailConfigDlg() 485cdf0e10cSrcweir { 486cdf0e10cSrcweir } 487cdf0e10cSrcweir /*-- 19.08.2004 14:33:58--------------------------------------------------- 488cdf0e10cSrcweir 489cdf0e10cSrcweir -----------------------------------------------------------------------*/ 490cdf0e10cSrcweir SwAuthenticationSettingsDialog::SwAuthenticationSettingsDialog( 491cdf0e10cSrcweir SwMailConfigPage* pParent, SwMailMergeConfigItem& rItem) : 492cdf0e10cSrcweir SfxModalDialog(pParent, SW_RES(DLG_MM_SERVERAUTHENTICATION)), 493cdf0e10cSrcweir #ifdef MSC 494cdf0e10cSrcweir #pragma warning (disable : 4355) 495cdf0e10cSrcweir #endif 496cdf0e10cSrcweir m_aAuthenticationCB( this, SW_RES( CB_AUTHENTICATION )), 497cdf0e10cSrcweir m_aSeparateAuthenticationRB( this, SW_RES( RB_SEP_AUTHENTICATION )), 498cdf0e10cSrcweir m_aSMTPAfterPOPRB( this, SW_RES( RB_SMPTAFTERPOP )), 499cdf0e10cSrcweir m_aOutgoingServerFT( this, SW_RES( FT_OUTGOINGSERVER )), 500cdf0e10cSrcweir m_aUserNameFT( this, SW_RES( FT_USERNAME )), 501cdf0e10cSrcweir m_aUserNameED( this, SW_RES( ED_USERNAME )), 502cdf0e10cSrcweir m_aOutPasswordFT( this, SW_RES( FT_OUTPASSWORD )), 503cdf0e10cSrcweir m_aOutPasswordED( this, SW_RES( ED_OUTPASSWORD )), 504cdf0e10cSrcweir m_aIncomingServerFT( this, SW_RES( FT_INCOMINGSERVER )), 505cdf0e10cSrcweir m_aServerFT( this, SW_RES( FT_SERVER )), 506cdf0e10cSrcweir m_aServerED( this, SW_RES( ED_SERVER )), 507cdf0e10cSrcweir m_aPortFT( this, SW_RES( FT_PORT )), 508cdf0e10cSrcweir m_aPortNF( this, SW_RES( NF_PORT )), 509cdf0e10cSrcweir m_aProtocolFT( this, SW_RES( FT_PROTOCOL )), 510cdf0e10cSrcweir m_aPOP3RB( this, SW_RES( RB_POP3 )), 511cdf0e10cSrcweir m_aIMAPRB( this, SW_RES( RB_IMAP )), 512cdf0e10cSrcweir m_aInUsernameFT( this, SW_RES( FT_INUSERNAME )), 513cdf0e10cSrcweir m_aInUsernameED( this, SW_RES( ED_INUSERNAME )), 514cdf0e10cSrcweir m_aInPasswordFT( this, SW_RES( FT_INPASSWORD )), 515cdf0e10cSrcweir m_aInPasswordED( this, SW_RES( ED_INPASSWORD )), 516cdf0e10cSrcweir m_aSeparatorFL( this, SW_RES( FL_SEPARATOR )), 517cdf0e10cSrcweir m_aOKPB( this, SW_RES( PB_OK )), 518cdf0e10cSrcweir m_aCancelPB( this, SW_RES( PB_CANCEL )), 519cdf0e10cSrcweir m_aHelpPB( this, SW_RES( PB_HELP )), 520cdf0e10cSrcweir #ifdef MSC 521cdf0e10cSrcweir #pragma warning (default : 4355) 522cdf0e10cSrcweir #endif 523cdf0e10cSrcweir rConfigItem( rItem ) 524cdf0e10cSrcweir { 525cdf0e10cSrcweir FreeResource(); 526cdf0e10cSrcweir 527cdf0e10cSrcweir m_aAuthenticationCB.SetClickHdl( LINK( this, SwAuthenticationSettingsDialog, CheckBoxHdl_Impl)); 528cdf0e10cSrcweir Link aRBLink = LINK( this, SwAuthenticationSettingsDialog, RadioButtonHdl_Impl ); 529cdf0e10cSrcweir m_aSeparateAuthenticationRB.SetClickHdl( aRBLink ); 530cdf0e10cSrcweir m_aSMTPAfterPOPRB.SetClickHdl( aRBLink ); 531cdf0e10cSrcweir m_aOKPB.SetClickHdl( LINK( this, SwAuthenticationSettingsDialog, OKHdl_Impl)); 532cdf0e10cSrcweir 533cdf0e10cSrcweir m_aAuthenticationCB.Check( rConfigItem.IsAuthentication() ); 534cdf0e10cSrcweir if(rConfigItem.IsSMTPAfterPOP()) 535cdf0e10cSrcweir m_aSMTPAfterPOPRB.Check(); 536cdf0e10cSrcweir else 537cdf0e10cSrcweir m_aSeparateAuthenticationRB.Check(); 538cdf0e10cSrcweir m_aUserNameED.SetText( rConfigItem.GetMailUserName() ); 539cdf0e10cSrcweir m_aOutPasswordED.SetText( rConfigItem.GetMailPassword() ); 540cdf0e10cSrcweir 541cdf0e10cSrcweir m_aServerED.SetText( rConfigItem.GetInServerName() ); 542cdf0e10cSrcweir m_aPortNF.SetValue( rConfigItem.GetInServerPort() ); 543cdf0e10cSrcweir if(rConfigItem.IsInServerPOP()) 544cdf0e10cSrcweir m_aPOP3RB.Check(); 545cdf0e10cSrcweir else 546cdf0e10cSrcweir m_aIMAPRB.Check(); 547cdf0e10cSrcweir m_aInUsernameED.SetText( rConfigItem.GetInServerUserName()); 548cdf0e10cSrcweir m_aInPasswordED.SetText( rConfigItem.GetInServerPassword() ); 549cdf0e10cSrcweir 550cdf0e10cSrcweir CheckBoxHdl_Impl( &m_aAuthenticationCB ); 551cdf0e10cSrcweir } 552cdf0e10cSrcweir /*-- 19.08.2004 14:33:58--------------------------------------------------- 553cdf0e10cSrcweir 554cdf0e10cSrcweir -----------------------------------------------------------------------*/ 555cdf0e10cSrcweir SwAuthenticationSettingsDialog::~SwAuthenticationSettingsDialog() 556cdf0e10cSrcweir { 557cdf0e10cSrcweir } 558cdf0e10cSrcweir /*-- 19.08.2004 14:33:59--------------------------------------------------- 559cdf0e10cSrcweir 560cdf0e10cSrcweir -----------------------------------------------------------------------*/ 561cdf0e10cSrcweir IMPL_LINK( SwAuthenticationSettingsDialog, OKHdl_Impl, OKButton*, EMPTYARG) 562cdf0e10cSrcweir { 563cdf0e10cSrcweir rConfigItem.SetAuthentication( m_aAuthenticationCB.IsChecked() ); 564cdf0e10cSrcweir rConfigItem.SetSMTPAfterPOP(m_aSMTPAfterPOPRB.IsChecked()); 565cdf0e10cSrcweir rConfigItem.SetMailUserName(m_aUserNameED.GetText()); 566cdf0e10cSrcweir rConfigItem.SetMailPassword(m_aOutPasswordED.GetText()); 567cdf0e10cSrcweir rConfigItem.SetInServerName(m_aServerED.GetText()); 568cdf0e10cSrcweir rConfigItem.SetInServerPort(sal::static_int_cast< sal_Int16, sal_Int64 >(m_aPortNF.GetValue( ) )); 569cdf0e10cSrcweir rConfigItem.SetInServerPOP(m_aPOP3RB.IsChecked()); 570cdf0e10cSrcweir rConfigItem.SetInServerUserName(m_aInUsernameED.GetText()); 571cdf0e10cSrcweir 572cdf0e10cSrcweir rConfigItem.SetInServerPassword(m_aInPasswordED.GetText()); 573cdf0e10cSrcweir EndDialog(RET_OK); 574cdf0e10cSrcweir return 0; 575cdf0e10cSrcweir } 576cdf0e10cSrcweir /*-- 19.08.2004 14:33:59--------------------------------------------------- 577cdf0e10cSrcweir 578cdf0e10cSrcweir -----------------------------------------------------------------------*/ 579cdf0e10cSrcweir IMPL_LINK( SwAuthenticationSettingsDialog, CheckBoxHdl_Impl, CheckBox*, pBox) 580cdf0e10cSrcweir { 581cdf0e10cSrcweir sal_Bool bChecked = pBox->IsChecked(); 582cdf0e10cSrcweir m_aSeparateAuthenticationRB.Enable(bChecked); 583cdf0e10cSrcweir m_aSMTPAfterPOPRB.Enable(bChecked); 584cdf0e10cSrcweir RadioButtonHdl_Impl( 0 ); 585cdf0e10cSrcweir 586cdf0e10cSrcweir return 0; 587cdf0e10cSrcweir } 588cdf0e10cSrcweir /*-- 19.08.2004 14:33:59--------------------------------------------------- 589cdf0e10cSrcweir 590cdf0e10cSrcweir -----------------------------------------------------------------------*/ 591cdf0e10cSrcweir IMPL_LINK( SwAuthenticationSettingsDialog, RadioButtonHdl_Impl, RadioButton*, EMPTYARG) 592cdf0e10cSrcweir { 593cdf0e10cSrcweir sal_Bool bSeparate = m_aSeparateAuthenticationRB.IsChecked(); 594cdf0e10cSrcweir sal_Bool bIsEnabled = m_aSeparateAuthenticationRB.IsEnabled(); 595cdf0e10cSrcweir sal_Bool bNotSeparate = !bSeparate & bIsEnabled; 596cdf0e10cSrcweir bSeparate &= bIsEnabled; 597cdf0e10cSrcweir 598cdf0e10cSrcweir m_aOutgoingServerFT.Enable(bSeparate); 599cdf0e10cSrcweir m_aUserNameFT.Enable(bSeparate); 600cdf0e10cSrcweir m_aUserNameED.Enable(bSeparate); 601cdf0e10cSrcweir m_aOutPasswordFT.Enable(bSeparate); 602cdf0e10cSrcweir m_aOutPasswordED.Enable(bSeparate); 603cdf0e10cSrcweir 604cdf0e10cSrcweir m_aIncomingServerFT.Enable(bNotSeparate); 605cdf0e10cSrcweir m_aServerFT.Enable(bNotSeparate); 606cdf0e10cSrcweir m_aServerED.Enable(bNotSeparate); 607cdf0e10cSrcweir m_aPortFT.Enable(bNotSeparate); 608cdf0e10cSrcweir m_aPortNF.Enable(bNotSeparate); 609cdf0e10cSrcweir m_aInUsernameFT.Enable(bNotSeparate); 610cdf0e10cSrcweir m_aInUsernameED.Enable(bNotSeparate); 611cdf0e10cSrcweir m_aProtocolFT.Enable(bNotSeparate); 612cdf0e10cSrcweir m_aPOP3RB.Enable(bNotSeparate); 613cdf0e10cSrcweir m_aIMAPRB.Enable(bNotSeparate); 614cdf0e10cSrcweir m_aInPasswordFT.Enable(bNotSeparate); 615cdf0e10cSrcweir m_aInPasswordED.Enable(bNotSeparate); 616cdf0e10cSrcweir 617cdf0e10cSrcweir return 0; 618cdf0e10cSrcweir } 619