windows-nt/Source/XPSP1/NT/enduser/windows.com/wuau/wuauclt/reminder.cpp

93 lines
1.9 KiB
C++
Raw Normal View History

2020-09-26 03:20:57 -05:00
#include "pch.h"
#pragma hdrstop
#define STRING_BUFFER_SIZE 80
void InitReminderComboBox(HWND hDlg, HWND combo)
{
for(int i = 0; i < TIMEOUT_INX_COUNT; i++)
{
TCHAR buffer[STRING_BUFFER_SIZE];
if (0 == LoadString(ghInstance, ReminderTimes[i].stringResId, buffer, STRING_BUFFER_SIZE))
{
DEBUGMSG("WUAUCLT String resource %d not found", ReminderTimes[i].stringResId);
QUITAUClient();
return;
}
LRESULT lr = SendMessage(combo, CB_INSERTSTRING, i, (LPARAM)buffer);
if (CB_ERR == lr)
{
DEBUGMSG("REMINDER: fail to insert string to combobox %S", buffer);
}
}
SendMessage(combo, CB_SETCURSEL, 0, 0);
}
BOOL CALLBACK ReminderDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM /*lParam*/)
{
//fixcode: no need static
static HWND combo;
static HWND oldCurrentDlg;
switch(message)
{
case WM_INITDIALOG:
oldCurrentDlg = ghCurrentDialog;
ghCurrentDialog = hWnd;
gTopWins.Add(hWnd);
combo = GetDlgItem(hWnd, IDC_REMINDTIME);
InitReminderComboBox(hWnd, combo);
SetFocus(combo);
return TRUE;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDC_OK:
{
#ifdef TESTUI
EndDialog(hWnd, S_OK);
return 0;
#else
UINT index = (LONG)SendMessage(combo, CB_GETCURSEL, 0, 0);
gInternals->m_setReminderTimeout(index);
EndDialog(hWnd, S_OK);
QUITAUClient(); //Stop the client's execution when user sets remind me later
return 0;
#endif
}
case IDCANCEL:
case IDC_CANCEL:
{
EndDialog(hWnd, S_FALSE);
return 0;
}
default:
break;
}
break;
/*
case WM_CLOSE:
{
UINT index = SendMessage(combo, CB_GETCURSEL, 0, 0);
setReminderTime(index);
EndDialog(hWnd, S_FALSE);
return TRUE;
}
*/
case WM_DESTROY:
ghCurrentDialog = oldCurrentDlg;
gTopWins.Remove(hWnd);
return 0;
default:
break;
}
return FALSE;
}