| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| // MARKER(update_precomp.py): autogen include statement, do not remove |
| #include "precompiled_sw.hxx" |
| #ifdef SW_DLLIMPLEMENTATION |
| #undef SW_DLLIMPLEMENTATION |
| #endif |
| |
| |
| #include <swtypes.hxx> |
| #include <mailconfigpage.hxx> |
| #include <svtools/svmedit.hxx> |
| #include <svtools/stdctrl.hxx> |
| #include <svtools/svtabbx.hxx> |
| #include <svtools/headbar.hxx> |
| #include <mmconfigitem.hxx> |
| #include <mailmergehelper.hxx> |
| #ifndef _CMDID_H |
| #include <cmdid.h> |
| #endif |
| #include <vcl/svapp.hxx> |
| #include <comphelper/processfactory.hxx> |
| #include "com/sun/star/mail/MailServiceType.hpp" |
| #include "com/sun/star/mail/XMailService.hpp" |
| #include "com/sun/star/mail/MailServiceProvider.hpp" |
| #include <vcl/msgbox.hxx> |
| #include <globals.hrc> |
| #include <mailconfigpage.hrc> |
| #include <config.hrc> |
| #include <helpid.h> |
| |
| using namespace ::com::sun::star; |
| using namespace ::com::sun::star::lang; |
| using namespace ::com::sun::star::mail; |
| using namespace ::com::sun::star::beans; |
| using ::rtl::OUString; |
| /*-- 06.05.2004 12:04:11--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| class SwTestAccountSettingsDialog : public SfxModalDialog |
| { |
| FixedInfo m_aInfoFI; |
| |
| HeaderBar m_aStatusHB; |
| SvTabListBox m_aStatusLB; |
| |
| FixedInfo m_aErrorFI; |
| MultiLineEdit m_eErrorsED; |
| |
| FixedLine m_aSeparatorFL; |
| PushButton m_aStopPB; |
| CancelButton m_aCancelPB; |
| HelpButton m_aHelpPB; |
| |
| ImageList m_aImageList; |
| |
| String m_sTask ; |
| String m_sStatus ; |
| String m_sEstablish ; |
| String m_sFindServer ; |
| String m_sCompleted ; |
| String m_sFailed ; |
| String m_sErrorNetwork; |
| String m_sErrorServer ; |
| |
| SwMailConfigPage* m_pParent; |
| |
| bool m_bStop; |
| |
| void Test(); |
| DECL_LINK(StopHdl, PushButton*); |
| DECL_STATIC_LINK(SwTestAccountSettingsDialog, TestHdl, void*); |
| public: |
| SwTestAccountSettingsDialog(SwMailConfigPage* pParent); |
| ~SwTestAccountSettingsDialog(); |
| }; |
| /*-- 19.08.2004 14:27:33--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| class SwAuthenticationSettingsDialog : public SfxModalDialog |
| { |
| CheckBox m_aAuthenticationCB; |
| |
| RadioButton m_aSeparateAuthenticationRB; |
| RadioButton m_aSMTPAfterPOPRB; |
| |
| FixedInfo m_aOutgoingServerFT; |
| FixedText m_aUserNameFT; |
| Edit m_aUserNameED; |
| FixedText m_aOutPasswordFT; |
| Edit m_aOutPasswordED; |
| |
| FixedInfo m_aIncomingServerFT; |
| FixedText m_aServerFT; |
| Edit m_aServerED; |
| FixedText m_aPortFT; |
| NumericField m_aPortNF; |
| FixedText m_aProtocolFT; |
| RadioButton m_aPOP3RB; |
| RadioButton m_aIMAPRB; |
| FixedText m_aInUsernameFT; |
| Edit m_aInUsernameED; |
| FixedText m_aInPasswordFT; |
| Edit m_aInPasswordED; |
| |
| FixedLine m_aSeparatorFL; |
| |
| OKButton m_aOKPB; |
| CancelButton m_aCancelPB; |
| HelpButton m_aHelpPB; |
| |
| SwMailMergeConfigItem& rConfigItem; |
| |
| DECL_LINK( OKHdl_Impl, OKButton*); |
| DECL_LINK( CheckBoxHdl_Impl, CheckBox*); |
| DECL_LINK( RadioButtonHdl_Impl, RadioButton*); |
| |
| |
| public: |
| SwAuthenticationSettingsDialog(SwMailConfigPage* pParent, SwMailMergeConfigItem& rItem); |
| ~SwAuthenticationSettingsDialog(); |
| }; |
| |
| /*-- 06.05.2004 10:59:40--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| SwMailConfigPage::SwMailConfigPage( Window* pParent, const SfxItemSet& rSet ) : |
| SfxTabPage(pParent, SW_RES(TP_MAILCONFIG), rSet), |
| #ifdef MSC |
| #pragma warning (disable : 4355) |
| #endif |
| m_aIdentityFL( this, SW_RES( FL_IDENTITY)), |
| m_aDisplayNameFT( this, SW_RES( FT_DISPLAYNAME)), |
| m_aDisplayNameED( this, SW_RES( ED_DISPLAYNAME)), |
| m_aAddressFT( this, SW_RES( FT_ADDRESS)), |
| m_aAddressED( this, SW_RES( ED_ADDRESS)), |
| m_aReplyToCB( this, SW_RES( CB_REPLYTO)), |
| m_aReplyToFT( this, SW_RES( FT_REPLYTO)), |
| m_aReplyToED( this, SW_RES( ED_REPLYTO)), |
| m_aSMTPFL( this, SW_RES( FL_SMTP)), |
| m_aServerFT( this, SW_RES( FT_SERVER)), |
| m_aServerED( this, SW_RES( ED_SERVER)), |
| m_aPortFT( this, SW_RES( FT_PORT)), |
| m_aPortNF( this, SW_RES( NF_PORT)), |
| m_aSecureCB( this, SW_RES( CB_SECURE)), |
| m_aServerAuthenticationPB( this, SW_RES( PB_AUTHENTICATION )), |
| m_aSeparatorFL( this, SW_RES( FL_SEPARATOR )), |
| m_aTestPB( this, SW_RES( PB_TEST)), |
| #ifdef MSC |
| #pragma warning (default : 4355) |
| #endif |
| m_pConfigItem( new SwMailMergeConfigItem ) |
| { |
| FreeResource(); |
| m_aReplyToCB.SetClickHdl(LINK(this, SwMailConfigPage, ReplyToHdl)); |
| m_aServerAuthenticationPB.SetClickHdl(LINK(this, SwMailConfigPage, AuthenticationHdl)); |
| m_aTestPB.SetClickHdl(LINK(this, SwMailConfigPage, TestHdl)); |
| } |
| /*-- 06.05.2004 10:59:40--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| SwMailConfigPage::~SwMailConfigPage() |
| { |
| delete m_pConfigItem; |
| } |
| /*-- 06.05.2004 10:59:40--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| SfxTabPage* SwMailConfigPage::Create( Window* pParent, const SfxItemSet& rAttrSet) |
| { |
| return new SwMailConfigPage(pParent, rAttrSet); |
| } |
| /*-- 06.05.2004 10:59:41--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| sal_Bool SwMailConfigPage::FillItemSet( SfxItemSet& /*rSet*/ ) |
| { |
| if(m_aDisplayNameED.GetText() != m_aDisplayNameED.GetSavedValue()) |
| m_pConfigItem->SetMailDisplayName(m_aDisplayNameED.GetText()); |
| if(m_aAddressED.GetText() != m_aAddressED.GetSavedValue()) |
| m_pConfigItem->SetMailAddress(m_aAddressED.GetText()); |
| String sReplyTo; |
| if( m_aReplyToCB.GetSavedValue() != m_aReplyToCB.IsChecked()) |
| m_pConfigItem->SetMailReplyTo(m_aReplyToCB.IsChecked()); |
| if(m_aReplyToED.GetText() != m_aReplyToED.GetSavedValue()) |
| m_pConfigItem->SetMailReplyTo(m_aReplyToED.GetText()); |
| if(m_aServerED.GetText() != m_aServerED.GetSavedValue()) |
| m_pConfigItem->SetMailServer(m_aServerED.GetText()); |
| |
| if(m_aPortNF.IsModified()) |
| m_pConfigItem->SetMailPort((sal_Int16)m_aPortNF.GetValue()); |
| |
| m_pConfigItem->SetSecureConnection(m_aSecureCB.IsChecked()); |
| |
| m_pConfigItem->Commit(); |
| return sal_True; |
| } |
| /*-- 06.05.2004 10:59:41--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| void SwMailConfigPage::Reset( const SfxItemSet& /*rSet*/ ) |
| { |
| m_aDisplayNameED.SetText(m_pConfigItem->GetMailDisplayName()); |
| m_aAddressED.SetText(m_pConfigItem->GetMailAddress()); |
| |
| m_aReplyToED.SetText(m_pConfigItem->GetMailReplyTo()) ; |
| m_aReplyToCB.Check(m_pConfigItem->IsMailReplyTo()); |
| m_aReplyToCB.GetClickHdl().Call(&m_aReplyToCB); |
| |
| m_aServerED.SetText(m_pConfigItem->GetMailServer()); |
| m_aPortNF.SetValue(m_pConfigItem->GetMailPort()); |
| |
| m_aSecureCB.Check(m_pConfigItem->IsSecureConnection()); |
| |
| m_aDisplayNameED.SaveValue(); |
| m_aAddressED .SaveValue(); |
| m_aReplyToCB .SaveValue(); |
| m_aReplyToED .SaveValue(); |
| m_aServerED .SaveValue(); |
| m_aPortNF .SaveValue(); |
| m_aSecureCB .SaveValue(); |
| } |
| /*-- 06.05.2004 10:59:41--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| IMPL_LINK(SwMailConfigPage, ReplyToHdl, CheckBox*, pBox) |
| { |
| sal_Bool bEnable = pBox->IsChecked(); |
| m_aReplyToFT.Enable(bEnable); |
| m_aReplyToED.Enable(bEnable); |
| return 0; |
| } |
| /*-- 06.05.2004 10:59:41--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| IMPL_LINK(SwMailConfigPage, AuthenticationHdl, PushButton*, EMPTYARG) |
| { |
| SwAuthenticationSettingsDialog aDlg(this, *m_pConfigItem); |
| aDlg.Execute(); |
| return 0; |
| } |
| /*-- 06.05.2004 10:59:42--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| IMPL_LINK(SwMailConfigPage, TestHdl, PushButton*, EMPTYARG) |
| { |
| SwTestAccountSettingsDialog(this).Execute(); |
| return 0; |
| } |
| /*-- 06.05.2004 12:11:13--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| SwTestAccountSettingsDialog::SwTestAccountSettingsDialog(SwMailConfigPage* pParent) : |
| SfxModalDialog(pParent, SW_RES(DLG_MM_TESTACCOUNTSETTINGS)), |
| #ifdef MSC |
| #pragma warning (disable : 4355) |
| #endif |
| m_aInfoFI( this, SW_RES( FI_INFO )), |
| m_aStatusHB( this, WB_BUTTONSTYLE | WB_BOTTOMBORDER), |
| m_aStatusLB( this, SW_RES( LB_STATUS )), |
| m_aErrorFI( this, SW_RES( FI_ERROR )), |
| m_eErrorsED( this, SW_RES( ED_ERROR )), |
| m_aSeparatorFL( this, SW_RES( FL_SEPAPARATOR )), |
| m_aStopPB( this, SW_RES( PB_STOP )), |
| m_aCancelPB( this, SW_RES( PB_CANCEL )), |
| m_aHelpPB( this, SW_RES( PB_HELP )), |
| #ifdef MSC |
| #pragma warning (default : 4355) |
| #endif |
| m_aImageList( SW_RES( GetSettings().GetStyleSettings().GetHighContrastMode() ? ILIST_HC : ILIST) ), |
| m_sTask( SW_RES( ST_TASK )), |
| m_sStatus( SW_RES( ST_STATUS )), |
| m_sEstablish( SW_RES( ST_ESTABLISH )), |
| m_sFindServer( SW_RES( ST_FINDSERVER )), |
| m_sCompleted( SW_RES( ST_COMPLETED )), |
| m_sFailed( SW_RES( ST_FAILED )), |
| m_sErrorServer( SW_RES( ST_ERROR_SERVER )), |
| m_pParent(pParent), |
| m_bStop(false) |
| { |
| FreeResource(); |
| m_aStopPB.SetClickHdl(LINK(this, SwTestAccountSettingsDialog, StopHdl)); |
| |
| Size aLBSize(m_aStatusLB.GetOutputSizePixel()); |
| m_aStatusHB.SetSizePixel(aLBSize); |
| Size aHeadSize(m_aStatusHB.CalcWindowSizePixel()); |
| aHeadSize.Width() = aLBSize.Width(); |
| m_aStatusHB.SetSizePixel(aHeadSize); |
| Point aLBPos(m_aStatusLB.GetPosPixel()); |
| m_aStatusHB.SetPosPixel(aLBPos); |
| aLBPos.Y() += aHeadSize.Height(); |
| aLBSize.Height() -= aHeadSize.Height(); |
| m_aStatusLB.SetPosSizePixel(aLBPos, aLBSize); |
| |
| Size aSz(m_aStatusHB.GetOutputSizePixel()); |
| m_aStatusHB.InsertItem( 1, m_sTask, |
| aSz.Width()/2, |
| HIB_LEFT | HIB_VCENTER ); |
| m_aStatusHB.InsertItem( 2, m_sStatus, |
| aSz.Width()/2, |
| HIB_LEFT | HIB_VCENTER ); |
| |
| m_aStatusHB.SetHelpId(HID_MM_TESTACCOUNTSETTINGS_HB ); |
| m_aStatusHB.Show(); |
| |
| m_aStatusLB.SetHelpId(HID_MM_TESTACCOUNTSETTINGS_TLB); |
| static long nTabs[] = {2, 0, aSz.Width()/2 }; |
| m_aStatusLB.SetStyle( m_aStatusLB.GetStyle() | WB_SORT | WB_HSCROLL | WB_CLIPCHILDREN | WB_TABSTOP ); |
| m_aStatusLB.SetSelectionMode( SINGLE_SELECTION ); |
| m_aStatusLB.SetTabs(&nTabs[0], MAP_PIXEL); |
| short nEntryHeight = m_aStatusLB.GetEntryHeight(); |
| m_aStatusLB.SetEntryHeight( nEntryHeight * 15 / 10 ); |
| |
| Application::PostUserEvent( STATIC_LINK( this, SwTestAccountSettingsDialog, TestHdl ), this ); |
| } |
| /*-- 06.05.2004 12:11:13--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| SwTestAccountSettingsDialog::~SwTestAccountSettingsDialog() |
| { |
| } |
| /*-- 06.05.2004 12:15:43--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| IMPL_LINK(SwTestAccountSettingsDialog, StopHdl, PushButton*, EMPTYARG) |
| { |
| m_bStop = true; |
| return 0; |
| } |
| /*-- 07.06.2004 12:44:50--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| IMPL_STATIC_LINK(SwTestAccountSettingsDialog, TestHdl, void*, EMPTYARG) |
| { |
| pThis->EnterWait(); |
| pThis->Test(); |
| pThis->LeaveWait(); |
| return 0; |
| } |
| /*-- 07.06.2004 12:45:45--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| void SwTestAccountSettingsDialog::Test() |
| { |
| uno::Reference<XMultiServiceFactory> rMgr = ::comphelper::getProcessServiceFactory(); |
| |
| bool bIsLoggedIn = false; |
| bool bIsServer = false; |
| if (rMgr.is()) |
| { |
| try |
| { |
| uno::Reference< mail::XMailService > xInMailService; |
| uno::Reference< mail::XMailServiceProvider > xMailServiceProvider = |
| mail::MailServiceProvider::create(getCurrentCmpCtx(rMgr)); |
| uno::Reference< mail::XMailService > xMailService = |
| xMailServiceProvider->create( |
| mail::MailServiceType_SMTP); |
| if(m_bStop) |
| return; |
| uno::Reference<XConnectionListener> xConnectionListener(new SwConnectionListener()); |
| |
| if(m_pParent->m_pConfigItem->IsAuthentication() && |
| m_pParent->m_pConfigItem->IsSMTPAfterPOP()) |
| { |
| xInMailService = xMailServiceProvider->create( |
| m_pParent->m_pConfigItem->IsInServerPOP() ? |
| mail::MailServiceType_POP3 : mail::MailServiceType_IMAP); |
| if(m_bStop) |
| return; |
| //authenticate at the POP or IMAP server first |
| uno::Reference<XAuthenticator> xAuthenticator = |
| new SwAuthenticator( |
| m_pParent->m_pConfigItem->GetInServerUserName(), |
| m_pParent->m_pConfigItem->GetInServerPassword(), |
| this); |
| |
| xInMailService->addConnectionListener(xConnectionListener); |
| //check connection |
| uno::Reference< uno::XCurrentContext> xConnectionContext = |
| new SwConnectionContext( |
| m_pParent->m_pConfigItem->GetInServerName(), |
| m_pParent->m_pConfigItem->GetInServerPort(), |
| ::rtl::OUString::createFromAscii( "Insecure" )); |
| xInMailService->connect(xConnectionContext, xAuthenticator); |
| } |
| if(m_bStop) |
| return; |
| uno::Reference<XAuthenticator> xAuthenticator; |
| if(m_pParent->m_pConfigItem->IsAuthentication() && |
| !m_pParent->m_pConfigItem->IsSMTPAfterPOP() && |
| m_pParent->m_pConfigItem->GetMailUserName().getLength()) |
| xAuthenticator = |
| new SwAuthenticator( |
| m_pParent->m_pConfigItem->GetMailUserName(), |
| m_pParent->m_pConfigItem->GetMailPassword(), |
| this); |
| else |
| xAuthenticator = new SwAuthenticator(); |
| |
| xMailService->addConnectionListener(xConnectionListener); |
| if(m_bStop) |
| return; |
| //just to check if the server exists |
| xMailService->getSupportedConnectionTypes(); |
| if(m_bStop) |
| return; |
| bIsServer = true; |
| //check connection |
| uno::Reference< uno::XCurrentContext> xConnectionContext = |
| new SwConnectionContext( |
| m_pParent->m_aServerED.GetText(), |
| sal::static_int_cast< sal_Int16, sal_Int64 >(m_pParent->m_aPortNF.GetValue()), |
| ::rtl::OUString::createFromAscii( |
| m_pParent->m_aSecureCB.IsChecked() ? "Ssl" : "Insecure")); |
| xMailService->connect(xConnectionContext, xAuthenticator); |
| bIsLoggedIn = xMailService->isConnected(); |
| if( xInMailService.is() ) |
| xInMailService->disconnect(); |
| if( xMailService->isConnected()) |
| xMailService->disconnect(); |
| } |
| catch(uno::Exception&) |
| { |
| DBG_ERROR("exception caught"); |
| } |
| } |
| |
| Image aFailedImg = m_aImageList.GetImage( FN_FORMULA_CANCEL ); |
| Image aCompletedImg = m_aImageList.GetImage( FN_FORMULA_APPLY ); |
| |
| String sTmp(m_sEstablish); |
| sTmp += '\t'; |
| sTmp += bIsServer ? m_sCompleted : m_sFailed; |
| m_aStatusLB.InsertEntry(sTmp, |
| bIsServer ? aCompletedImg : aFailedImg, |
| bIsServer ? aCompletedImg : aFailedImg); |
| |
| sTmp = m_sFindServer; |
| sTmp += '\t'; |
| sTmp += bIsLoggedIn ? m_sCompleted : m_sFailed; |
| m_aStatusLB.InsertEntry(sTmp, |
| bIsLoggedIn ? aCompletedImg : aFailedImg, |
| bIsLoggedIn ? aCompletedImg : aFailedImg); |
| |
| if(!bIsServer || !bIsLoggedIn ) |
| { |
| m_eErrorsED.SetText( m_sErrorServer ); |
| } |
| } |
| /*-- 18.08.2004 12:18:38--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| SwMailConfigDlg::SwMailConfigDlg(Window* pParent, SfxItemSet& rSet ) : |
| SfxSingleTabDialog(pParent, rSet, 0) |
| { |
| // TabPage erzeugen |
| SetTabPage(SwMailConfigPage::Create( this, rSet )); |
| } |
| /*-- 18.08.2004 12:18:38--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| SwMailConfigDlg::~SwMailConfigDlg() |
| { |
| } |
| /*-- 19.08.2004 14:33:58--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| SwAuthenticationSettingsDialog::SwAuthenticationSettingsDialog( |
| SwMailConfigPage* pParent, SwMailMergeConfigItem& rItem) : |
| SfxModalDialog(pParent, SW_RES(DLG_MM_SERVERAUTHENTICATION)), |
| #ifdef MSC |
| #pragma warning (disable : 4355) |
| #endif |
| m_aAuthenticationCB( this, SW_RES( CB_AUTHENTICATION )), |
| m_aSeparateAuthenticationRB( this, SW_RES( RB_SEP_AUTHENTICATION )), |
| m_aSMTPAfterPOPRB( this, SW_RES( RB_SMPTAFTERPOP )), |
| m_aOutgoingServerFT( this, SW_RES( FT_OUTGOINGSERVER )), |
| m_aUserNameFT( this, SW_RES( FT_USERNAME )), |
| m_aUserNameED( this, SW_RES( ED_USERNAME )), |
| m_aOutPasswordFT( this, SW_RES( FT_OUTPASSWORD )), |
| m_aOutPasswordED( this, SW_RES( ED_OUTPASSWORD )), |
| m_aIncomingServerFT( this, SW_RES( FT_INCOMINGSERVER )), |
| m_aServerFT( this, SW_RES( FT_SERVER )), |
| m_aServerED( this, SW_RES( ED_SERVER )), |
| m_aPortFT( this, SW_RES( FT_PORT )), |
| m_aPortNF( this, SW_RES( NF_PORT )), |
| m_aProtocolFT( this, SW_RES( FT_PROTOCOL )), |
| m_aPOP3RB( this, SW_RES( RB_POP3 )), |
| m_aIMAPRB( this, SW_RES( RB_IMAP )), |
| m_aInUsernameFT( this, SW_RES( FT_INUSERNAME )), |
| m_aInUsernameED( this, SW_RES( ED_INUSERNAME )), |
| m_aInPasswordFT( this, SW_RES( FT_INPASSWORD )), |
| m_aInPasswordED( this, SW_RES( ED_INPASSWORD )), |
| m_aSeparatorFL( this, SW_RES( FL_SEPARATOR )), |
| m_aOKPB( this, SW_RES( PB_OK )), |
| m_aCancelPB( this, SW_RES( PB_CANCEL )), |
| m_aHelpPB( this, SW_RES( PB_HELP )), |
| #ifdef MSC |
| #pragma warning (default : 4355) |
| #endif |
| rConfigItem( rItem ) |
| { |
| FreeResource(); |
| |
| m_aAuthenticationCB.SetClickHdl( LINK( this, SwAuthenticationSettingsDialog, CheckBoxHdl_Impl)); |
| Link aRBLink = LINK( this, SwAuthenticationSettingsDialog, RadioButtonHdl_Impl ); |
| m_aSeparateAuthenticationRB.SetClickHdl( aRBLink ); |
| m_aSMTPAfterPOPRB.SetClickHdl( aRBLink ); |
| m_aOKPB.SetClickHdl( LINK( this, SwAuthenticationSettingsDialog, OKHdl_Impl)); |
| |
| m_aAuthenticationCB.Check( rConfigItem.IsAuthentication() ); |
| if(rConfigItem.IsSMTPAfterPOP()) |
| m_aSMTPAfterPOPRB.Check(); |
| else |
| m_aSeparateAuthenticationRB.Check(); |
| m_aUserNameED.SetText( rConfigItem.GetMailUserName() ); |
| m_aOutPasswordED.SetText( rConfigItem.GetMailPassword() ); |
| |
| m_aServerED.SetText( rConfigItem.GetInServerName() ); |
| m_aPortNF.SetValue( rConfigItem.GetInServerPort() ); |
| if(rConfigItem.IsInServerPOP()) |
| m_aPOP3RB.Check(); |
| else |
| m_aIMAPRB.Check(); |
| m_aInUsernameED.SetText( rConfigItem.GetInServerUserName()); |
| m_aInPasswordED.SetText( rConfigItem.GetInServerPassword() ); |
| |
| CheckBoxHdl_Impl( &m_aAuthenticationCB ); |
| } |
| /*-- 19.08.2004 14:33:58--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| SwAuthenticationSettingsDialog::~SwAuthenticationSettingsDialog() |
| { |
| } |
| /*-- 19.08.2004 14:33:59--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| IMPL_LINK( SwAuthenticationSettingsDialog, OKHdl_Impl, OKButton*, EMPTYARG) |
| { |
| rConfigItem.SetAuthentication( m_aAuthenticationCB.IsChecked() ); |
| rConfigItem.SetSMTPAfterPOP(m_aSMTPAfterPOPRB.IsChecked()); |
| rConfigItem.SetMailUserName(m_aUserNameED.GetText()); |
| rConfigItem.SetMailPassword(m_aOutPasswordED.GetText()); |
| rConfigItem.SetInServerName(m_aServerED.GetText()); |
| rConfigItem.SetInServerPort(sal::static_int_cast< sal_Int16, sal_Int64 >(m_aPortNF.GetValue( ) )); |
| rConfigItem.SetInServerPOP(m_aPOP3RB.IsChecked()); |
| rConfigItem.SetInServerUserName(m_aInUsernameED.GetText()); |
| |
| rConfigItem.SetInServerPassword(m_aInPasswordED.GetText()); |
| EndDialog(RET_OK); |
| return 0; |
| } |
| /*-- 19.08.2004 14:33:59--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| IMPL_LINK( SwAuthenticationSettingsDialog, CheckBoxHdl_Impl, CheckBox*, pBox) |
| { |
| sal_Bool bChecked = pBox->IsChecked(); |
| m_aSeparateAuthenticationRB.Enable(bChecked); |
| m_aSMTPAfterPOPRB.Enable(bChecked); |
| RadioButtonHdl_Impl( 0 ); |
| |
| return 0; |
| } |
| /*-- 19.08.2004 14:33:59--------------------------------------------------- |
| |
| -----------------------------------------------------------------------*/ |
| IMPL_LINK( SwAuthenticationSettingsDialog, RadioButtonHdl_Impl, RadioButton*, EMPTYARG) |
| { |
| sal_Bool bSeparate = m_aSeparateAuthenticationRB.IsChecked(); |
| sal_Bool bIsEnabled = m_aSeparateAuthenticationRB.IsEnabled(); |
| sal_Bool bNotSeparate = !bSeparate & bIsEnabled; |
| bSeparate &= bIsEnabled; |
| |
| m_aOutgoingServerFT.Enable(bSeparate); |
| m_aUserNameFT.Enable(bSeparate); |
| m_aUserNameED.Enable(bSeparate); |
| m_aOutPasswordFT.Enable(bSeparate); |
| m_aOutPasswordED.Enable(bSeparate); |
| |
| m_aIncomingServerFT.Enable(bNotSeparate); |
| m_aServerFT.Enable(bNotSeparate); |
| m_aServerED.Enable(bNotSeparate); |
| m_aPortFT.Enable(bNotSeparate); |
| m_aPortNF.Enable(bNotSeparate); |
| m_aInUsernameFT.Enable(bNotSeparate); |
| m_aInUsernameED.Enable(bNotSeparate); |
| m_aProtocolFT.Enable(bNotSeparate); |
| m_aPOP3RB.Enable(bNotSeparate); |
| m_aIMAPRB.Enable(bNotSeparate); |
| m_aInPasswordFT.Enable(bNotSeparate); |
| m_aInPasswordED.Enable(bNotSeparate); |
| |
| return 0; |
| } |