148 lines
3.1 KiB
C++
148 lines
3.1 KiB
C++
|
//Copyright (c) 1997-2000 Microsoft Corporation
|
||
|
#include "pch.hxx" // pch
|
||
|
#pragma hdrstop
|
||
|
|
||
|
#include "resource.h"
|
||
|
#include "pgTmeOut.h"
|
||
|
|
||
|
CAccessTimeOutPg::CAccessTimeOutPg(
|
||
|
LPPROPSHEETPAGE ppsp
|
||
|
) : WizardPage(ppsp, IDS_WIZACCESSTIMEOUTTITLE, IDS_WIZACCESSTIMEOUTSUBTITLE)
|
||
|
{
|
||
|
m_dwPageId = IDD_WIZACCESSTIMEOUT;
|
||
|
ppsp->pszTemplate = MAKEINTRESOURCE(m_dwPageId);
|
||
|
}
|
||
|
|
||
|
|
||
|
CAccessTimeOutPg::~CAccessTimeOutPg(
|
||
|
VOID
|
||
|
)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
int g_nTimeOuts = 6;
|
||
|
DWORD g_rgdwTimeOuts[] = {5*60000, 10*60000, 15*60000, 20*60000, 25*60000, 30*60000};
|
||
|
|
||
|
LRESULT
|
||
|
CAccessTimeOutPg::OnInitDialog(
|
||
|
HWND hwnd,
|
||
|
WPARAM wParam,
|
||
|
LPARAM lParam
|
||
|
)
|
||
|
{
|
||
|
HWND hwndTimeOut = GetDlgItem(m_hwnd, IDC_TO_TIMEOUTVAL);
|
||
|
|
||
|
|
||
|
// JMC: TODO: Maybe move these into the string table
|
||
|
|
||
|
// Set timeouts for 5 to 30 minutes
|
||
|
int i;
|
||
|
for (i= 0; i < g_nTimeOuts; i++)
|
||
|
{
|
||
|
TCHAR buf[256];
|
||
|
wsprintf(buf,__TEXT("%d"),g_rgdwTimeOuts[i]/60000);
|
||
|
ComboBox_InsertString(hwndTimeOut, i, buf);
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
BOOL bEnable = g_Options.m_schemePreview.m_ACCESSTIMEOUT.dwFlags & ATF_TIMEOUTON;
|
||
|
if(bEnable)
|
||
|
{
|
||
|
Button_SetCheck(GetDlgItem(m_hwnd, IDC_TO_ENABLE), TRUE);
|
||
|
EnableWindow (GetDlgItem(m_hwnd,IDC_TO_TIMEOUTVAL),TRUE);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
// Hack for radio buttons
|
||
|
if(GetDlgItem(m_hwnd, IDC_TO_DISABLE))
|
||
|
Button_SetCheck(GetDlgItem(m_hwnd, IDC_TO_DISABLE), TRUE);
|
||
|
EnableWindow (GetDlgItem(m_hwnd,IDC_TO_TIMEOUTVAL),FALSE);
|
||
|
}
|
||
|
|
||
|
// Figure out the time to use as default
|
||
|
int nIndex = 0;
|
||
|
for(i = g_nTimeOuts - 1;i>=0;i--)
|
||
|
{
|
||
|
// Brute Force find the largest value
|
||
|
if(g_rgdwTimeOuts[i] >= g_Options.m_schemePreview.m_ACCESSTIMEOUT.iTimeOutMSec)
|
||
|
nIndex = i;
|
||
|
else
|
||
|
break;
|
||
|
}
|
||
|
ComboBox_SetCurSel(hwndTimeOut, nIndex);
|
||
|
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
|
||
|
void CAccessTimeOutPg::UpdateControls()
|
||
|
{
|
||
|
// enable/disable the combo box depending on which radio
|
||
|
// button is selected
|
||
|
if(Button_GetCheck(GetDlgItem(m_hwnd, IDC_TO_ENABLE)))
|
||
|
{
|
||
|
EnableWindow (GetDlgItem(m_hwnd,IDC_TO_TIMEOUTVAL), TRUE);
|
||
|
EnableWindow (GetDlgItem(m_hwnd,IDC_MIN), TRUE);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
EnableWindow (GetDlgItem(m_hwnd,IDC_TO_TIMEOUTVAL), FALSE);
|
||
|
EnableWindow (GetDlgItem(m_hwnd,IDC_MIN), FALSE);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
LRESULT
|
||
|
CAccessTimeOutPg::OnCommand(
|
||
|
HWND hwnd,
|
||
|
WPARAM wParam,
|
||
|
LPARAM lParam
|
||
|
)
|
||
|
{
|
||
|
LRESULT lResult = 1;
|
||
|
|
||
|
WORD wNotifyCode = HIWORD(wParam);
|
||
|
WORD wCtlID = LOWORD(wParam);
|
||
|
HWND hwndCtl = (HWND)lParam;
|
||
|
|
||
|
switch(wCtlID)
|
||
|
{
|
||
|
case IDC_TO_DISABLE:
|
||
|
case IDC_TO_ENABLE:
|
||
|
// These commands require us to re-enable/disable the appropriate controls
|
||
|
UpdateControls();
|
||
|
lResult = 0;
|
||
|
break;
|
||
|
|
||
|
default:
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
return lResult;
|
||
|
}
|
||
|
|
||
|
LRESULT
|
||
|
CAccessTimeOutPg::OnPSN_WizNext(
|
||
|
HWND hwnd,
|
||
|
INT idCtl,
|
||
|
LPPSHNOTIFY pnmh
|
||
|
)
|
||
|
{
|
||
|
BOOL bUseAccessTimeOut= Button_GetCheck(GetDlgItem(m_hwnd, IDC_TO_ENABLE));
|
||
|
|
||
|
if(bUseAccessTimeOut)
|
||
|
g_Options.m_schemePreview.m_ACCESSTIMEOUT.dwFlags |= ATF_TIMEOUTON;
|
||
|
else
|
||
|
g_Options.m_schemePreview.m_ACCESSTIMEOUT.dwFlags &= ~ATF_TIMEOUTON;
|
||
|
|
||
|
int nIndex = ComboBox_GetCurSel(GetDlgItem(m_hwnd, IDC_TO_TIMEOUTVAL));
|
||
|
g_Options.m_schemePreview.m_ACCESSTIMEOUT.iTimeOutMSec = g_rgdwTimeOuts[nIndex];
|
||
|
|
||
|
|
||
|
g_Options.ApplyPreview();
|
||
|
|
||
|
return WizardPage::OnPSN_WizNext(hwnd, idCtl, pnmh);
|
||
|
}
|