Author: ekohl Date: Sun Apr 23 21:56:36 2017 New Revision: 74396 URL: http://svn.reactos.org/svn/reactos?rev=74396&view=rev Log: [SYSETUP] Update the shown date and time on the Date and Time page until the user changes the date or time. CORE-11896
Modified: trunk/reactos/dll/win32/syssetup/wizard.c Modified: trunk/reactos/dll/win32/syssetup/wizard.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/wizard.c?rev=74396&r1=74395&r2=74396&view=diff ============================================================================== --- trunk/reactos/dll/win32/syssetup/wizard.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/wizard.c [iso-8859-1] Sun Apr 23 21:56:36 2017 @@ -1476,11 +1476,24 @@ return Ret; } + +static VOID +UpdateLocalSystemTime(HWND hwnd) +{ + SYSTEMTIME LocalTime; + + GetLocalTime(&LocalTime); + DateTime_SetSystemtime(GetDlgItem(hwnd, IDC_DATEPICKER), GDT_VALID, &LocalTime); + DateTime_SetSystemtime(GetDlgItem(hwnd, IDC_TIMEPICKER), GDT_VALID, &LocalTime); +} + + static BOOL WriteDateTimeSettings(HWND hwndDlg, PSETUPDATA SetupData) { WCHAR Title[64]; WCHAR ErrorLocalTime[256]; + GetLocalSystemTime(hwndDlg, SetupData); SetLocalTimeZone(GetDlgItem(hwndDlg, IDC_TIMEZONELIST), SetupData); @@ -1503,6 +1516,7 @@ return TRUE; } + static INT_PTR CALLBACK DateTimePageDlgProc(HWND hwndDlg, @@ -1518,7 +1532,6 @@ switch (uMsg) { case WM_INITDIALOG: - { /* Save pointer to the global setup data */ SetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam; SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)SetupData); @@ -1542,16 +1555,14 @@ SendDlgItemMessage(hwndDlg, IDC_AUTODAYLIGHT, BM_SETCHECK, (WPARAM)BST_CHECKED, 0); } - - } - break; - + break; + + case WM_TIMER: + UpdateLocalSystemTime(hwndDlg); + break; case WM_NOTIFY: - { - LPNMHDR lpnm = (LPNMHDR)lParam; - - switch (lpnm->code) + switch (((LPNMHDR)lParam)->code) { case PSN_SETACTIVE: /* Enable the Back and Next buttons */ @@ -1561,13 +1572,17 @@ SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, SetupData->uFirstNetworkWizardPage); return TRUE; } + SetTimer(hwndDlg, 1, 1000, NULL); + break; + + case PSN_KILLACTIVE: + case DTN_DATETIMECHANGE: + KillTimer(hwndDlg, 1); break; case PSN_WIZNEXT: - { WriteDateTimeSettings(hwndDlg, SetupData); - } - break; + break; case PSN_WIZBACK: SetupData->UnattendSetup = FALSE; @@ -1576,8 +1591,7 @@ default: break; } - } - break; + break; case WM_DESTROY: DestroyTimeZoneList(SetupData);