//---------------------------------------------------------------------------- // // Copyright (c) 1997-1999 Microsoft Corporation // All rights reserved. // // File Name: // iecustom.c // // Description: // This file contains the dialog procedures for the IE customy settings // pop-up. // //---------------------------------------------------------------------------- #include "pch.h" #include "resource.h" //---------------------------------------------------------------------------- // // Function: OnAutoConfigCheckBox // // Purpose: // // Arguments: IN HWND hwnd - handle to the dialog box // // Returns: VOID // //---------------------------------------------------------------------------- static VOID OnAutoConfigCheckBox( IN HWND hwnd ) { BOOL bGrey = IsDlgButtonChecked( hwnd, IDC_CB_AUTOCONFIG ); EnableWindow( GetDlgItem( hwnd, IDC_AUTOCONFIG_TEXT ), bGrey ); EnableWindow( GetDlgItem( hwnd, IDC_EB_AUTOCONFIG_URL ), bGrey ); EnableWindow( GetDlgItem( hwnd, IDC_AUTOCONFIG_JSCRIPT_TEXT ), bGrey ); EnableWindow( GetDlgItem( hwnd, IDC_EB_AUTOCONFIG_URL_PAC ), bGrey ); } //---------------------------------------------------------------------------- // // Function: OnInitCustomSettingsDialog // // Purpose: // // Arguments: IN HWND hwnd - handle to the dialog box // // Returns: VOID // //---------------------------------------------------------------------------- static VOID OnInitCustomSettingsDialog( IN HWND hwnd ) { // // Set the text limit on the edit boxes // SendDlgItemMessage( hwnd, IDC_EB_INS_FILE, EM_LIMITTEXT, (WPARAM) MAX_INS_LEN, (LPARAM) 0 ); SendDlgItemMessage( hwnd, IDC_EB_AUTOCONFIG_URL, EM_LIMITTEXT, (WPARAM) MAX_AUTOCONFIG_LEN, (LPARAM) 0 ); SendDlgItemMessage( hwnd, IDC_EB_AUTOCONFIG_URL_PAC, EM_LIMITTEXT, (WPARAM) MAX_AUTOCONFIG_LEN, (LPARAM) 0 ); // // Set the initial values // SetWindowText( GetDlgItem( hwnd, IDC_EB_INS_FILE ), GenSettings.szInsFile ); if( GenSettings.bUseAutoConfigScript ) { CheckDlgButton( hwnd, IDC_CB_AUTOCONFIG, BST_CHECKED ); } else { CheckDlgButton( hwnd, IDC_CB_AUTOCONFIG, BST_UNCHECKED ); } SetWindowText( GetDlgItem( hwnd, IDC_EB_AUTOCONFIG_URL ), GenSettings.szAutoConfigUrl ); SetWindowText( GetDlgItem( hwnd, IDC_EB_AUTOCONFIG_URL_PAC ), GenSettings.szAutoConfigUrlJscriptOrPac ); // // Grey/Ungrey the page appropriately // OnAutoConfigCheckBox( hwnd ); } //---------------------------------------------------------------------------- // // Function: StoreCustomSettings // // Purpose: // // Arguments: IN HWND hwnd - handle to the dialog box // // Returns: BOOL - TRUE if the dialog should close, FALSE if it should stay // open // //---------------------------------------------------------------------------- static BOOL StoreCustomSettings( IN HWND hwnd ) { GetWindowText( GetDlgItem( hwnd, IDC_EB_INS_FILE ), GenSettings.szInsFile, MAX_INS_LEN + 1 ); GenSettings.bUseAutoConfigScript = IsDlgButtonChecked( hwnd, IDC_CB_AUTOCONFIG ); GetWindowText( GetDlgItem( hwnd, IDC_EB_AUTOCONFIG_URL ), GenSettings.szAutoConfigUrl, MAX_AUTOCONFIG_LEN + 1 ); GetWindowText( GetDlgItem( hwnd, IDC_EB_AUTOCONFIG_URL_PAC ), GenSettings.szAutoConfigUrlJscriptOrPac, MAX_AUTOCONFIG_LEN + 1 ); if( ! DoesFileExist( GenSettings.szInsFile ) ) { INT iRet; iRet = ReportErrorId( hwnd, MSGTYPE_YESNO, IDS_ERR_INS_FILE_NOT_EXIST ); if( iRet == IDNO ) { return( FALSE ); } } return( TRUE ); } //---------------------------------------------------------------------------- // // Function: CustomSettingsDlg // // Purpose: // // Arguments: standard Win32 dialog proc arguments // // Returns: standard Win32 dialog proc return value -- whether the message // was handled or not // //---------------------------------------------------------------------------- INT_PTR CALLBACK CustomSettingsDlg( IN HWND hwnd, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam ) { BOOL bStatus = TRUE; switch( uMsg ) { case WM_INITDIALOG: OnInitCustomSettingsDialog( hwnd ); break; case WM_COMMAND: { int nButtonId; switch ( nButtonId = LOWORD(wParam) ) { case IDOK: // ISSUE-2002/02/28-stelo- do I need to validate proxy addresses? if( HIWORD( wParam ) == BN_CLICKED ) { BOOL bCloseDialog; bCloseDialog = StoreCustomSettings( hwnd ); if( bCloseDialog ) { EndDialog( hwnd, TRUE ); } } break; case IDCANCEL: if( HIWORD( wParam ) == BN_CLICKED ) { EndDialog( hwnd, FALSE ); } break; case IDC_CB_AUTOCONFIG: if( HIWORD( wParam ) == BN_CLICKED ) { OnAutoConfigCheckBox( hwnd ); } break; default: bStatus = FALSE; break; } } break; default: bStatus = FALSE; break; } return( bStatus ); }