/*++ Copyright (c) 1996 Microsoft Corporation Module Name : maindlg.cpp Abstract: CMainDialog dialog class implementation. This is link checker the main dialog. Author: Michael Cheuk (mcheuk) Project: Link Checker Revision History: --*/ #include "stdafx.h" #include "linkchk.h" #include "maindlg.h" #include "browser.h" #include "progdlg.h" #include "athendlg.h" #include "propsdlg.h" #include "lcmgr.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif CMainDialog::CMainDialog( CWnd* pParent /*=NULL*/ ): /*++ Routine Description: Constructor. Arguments: pParent - pointer to parent CWnd Return Value: N/A --*/ CAppDialog(CMainDialog::IDD, pParent) { //{{AFX_DATA_INIT(CMainDialog) m_fLogToFile = TRUE; m_strLogFilename = _T("c:\\LinkError.log"); m_fCheckLocalLinks = TRUE; m_fCheckRemoteLinks = TRUE; m_fLogToEventMgr = FALSE; //}}AFX_DATA_INIT } // CMainDialog::CMainDialog void CMainDialog::DoDataExchange( CDataExchange* pDX ) /*++ Routine Description: Called by MFC to change/retrieve dialog data Arguments: pDX - Return Value: N/A --*/ { CAppDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CMainDialog) DDX_Check(pDX, IDC_LOG_TO_FILE, m_fLogToFile); DDX_Text(pDX, IDC_LOG_FILENAME, m_strLogFilename); DDX_Check(pDX, IDC_CHECK_LOCAL_LINK, m_fCheckLocalLinks); DDX_Check(pDX, IDC_CHECK_REMOTE_LINK, m_fCheckRemoteLinks); DDX_Check(pDX, IDC_LOG_TO_EVENT_MANAGER, m_fLogToEventMgr); //}}AFX_DATA_MAP } // CMainDialog::DoDataExchange BEGIN_MESSAGE_MAP(CMainDialog, CAppDialog) //{{AFX_MSG_MAP(CMainDialog) ON_BN_CLICKED(IDC_MAIN_RUN, OnMainRun) ON_BN_CLICKED(IDC_MAIN_CLOSE, CAppDialog::OnOK) ON_WM_CREATE() ON_BN_CLICKED(IDC_ATHENICATION, OnAthenication) ON_BN_CLICKED(IDC_PROPERTIES, OnProperties) //}}AFX_MSG_MAP END_MESSAGE_MAP() void CMainDialog::OnMainRun( ) /*++ Routine Description: OK button click handler. This functions brings up the progress dialog. Arguments: N/A Return Value: N/A --*/ { // Retrieve the data from dialog UpdateData(); // Make sure we have at least one type // of link checking checked if(!m_fCheckLocalLinks && !m_fCheckRemoteLinks) { AfxMessageBox(IDS_LINKS_NOT_CHECKED); return; } // Set the user options in global CUserOptions GetLinkCheckerMgr().GetUserOptions().SetOptions( m_fCheckLocalLinks, m_fCheckRemoteLinks, m_fLogToFile, m_strLogFilename, m_fLogToEventMgr); // Show the progress dialog CProgressDialog dlg; dlg.DoModal(); CAppDialog::OnOK(); } // CMainDialog::OnMainRun int CMainDialog::OnCreate( LPCREATESTRUCT lpCreateStruct ) /*++ Routine Description: WM_CREATE message handler. Load the wininet.dll at this point. Arguments: N/A Return Value: int - -1 if wininet.dll fail. 0 otherwise. --*/ { if (CAppDialog::OnCreate(lpCreateStruct) == -1) return -1; // Load the wininet.dll if (!GetLinkCheckerMgr().LoadWininet()) { AfxMessageBox(IDS_WININET_LOAD_FAIL); return -1; } return 0; } // CMainDialog::OnCreate void CMainDialog::OnAthenication( ) /*++ Routine Description: Athenication button click handler. This functions brings up the athenication dialog. Arguments: N/A Return Value: N/A --*/ { CAthenicationDialog dlg; dlg.DoModal(); } // CMainDialog::OnAthenication void CMainDialog::OnProperties( ) /*++ Routine Description: Browser Properties button click handler. This functions brings up the browser properties dialog. Arguments: N/A Return Value: N/A --*/ { CPropertiesDialog dlg; dlg.DoModal(); } // CMainDialog::OnProperties BOOL CMainDialog::OnInitDialog( ) /*++ Routine Description: WM_INITDIALOG message handler Arguments: N/A Return Value: BOOL - TRUE if sucess. FALSE otherwise. --*/ { CAppDialog::OnInitDialog(); // Add the available browser to CUserOptions for(int i=0; i