diff --git a/reactos/dll/cpl/intl/advanced.c b/reactos/dll/cpl/intl/advanced.c index 9184dde28de..0ade7e34d97 100644 --- a/reactos/dll/cpl/intl/advanced.c +++ b/reactos/dll/cpl/intl/advanced.c @@ -60,13 +60,6 @@ GetSupportedCP(VOID) continue; } - /*_stprintf(Section, _T("%s%d"), _T("CODEPAGE_REMOVE_"), uiCPage); - if ((uiCPage == GetACP()) || (uiCPage == GetOEMCP()) || - (!SetupFindFirstLine(hIntlInf, Section, _T("AddReg"), &infCont))) - { - lpCPage->Status |= (0x0001 | 0x0002); - }*/ - lpCPage->NextItem = PCPage; PCPage = lpCPage; } @@ -336,6 +329,8 @@ AdvancedPageProc(HWND hwndDlg, LCID lcid; INT iIndex; + PropSheet_UnChanged(GetParent(hwndDlg), hwndDlg); + iIndex = SendMessage(hLangList, CB_GETCURSEL, 0, 0); if (iIndex == CB_ERR) break; @@ -345,7 +340,6 @@ AdvancedPageProc(HWND hwndDlg, break; SetNonUnicodeLang(hwndDlg, lcid); - PropSheet_UnChanged(GetParent(hwndDlg), hwndDlg); } } break; diff --git a/reactos/dll/cpl/intl/generalp.c b/reactos/dll/cpl/intl/generalp.c index 6b85786a859..f0720be28cf 100644 --- a/reactos/dll/cpl/intl/generalp.c +++ b/reactos/dll/cpl/intl/generalp.c @@ -235,7 +235,6 @@ SetNewLocale(LCID lcid) } /* Location enumerate procedure */ -#if 0 BOOL CALLBACK LocationsEnumProc(GEOID gId) @@ -256,14 +255,12 @@ LocationsEnumProc(GEOID gId) return TRUE; } -#endif /* Enumerate all system locations identifiers */ static VOID CreateLocationsList(HWND hWnd) { -#if 0 GEOID userGeoID; TCHAR loc[MAX_STR_SIZE]; @@ -283,7 +280,6 @@ CreateLocationsList(HWND hWnd) CB_SELECTSTRING, (WPARAM) -1, (LPARAM)loc); -#endif } DWORD @@ -370,6 +366,12 @@ GeneralPageProc(HWND hwndDlg, } break; + case IDC_LOCATION_COMBO: + if (HIWORD(wParam) == CBN_SELCHANGE) + { + PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + } + break; case IDC_SETUP_BUTTON: { LCID NewLcid; @@ -403,8 +405,11 @@ GeneralPageProc(HWND hwndDlg, { /* Apply changes */ LCID NewLcid; + GEOID NewGeoID; INT iCurSel; + PropSheet_UnChanged(GetParent(hwndDlg), hwndDlg); + /* Acquire new value */ iCurSel = SendMessage(hList, CB_GETCURSEL, @@ -420,8 +425,23 @@ GeneralPageProc(HWND hwndDlg, if (NewLcid == (LCID)CB_ERR) break; + iCurSel = SendMessage(GetDlgItem(hwndDlg, IDC_LOCATION_COMBO), + CB_GETCURSEL, + 0, + 0); + if (iCurSel == CB_ERR) + break; + + NewGeoID = SendMessage(GetDlgItem(hwndDlg, IDC_LOCATION_COMBO), + CB_GETITEMDATA, + iCurSel, + 0); + if (NewGeoID == (GEOID)CB_ERR) + break; + /* Set new locale */ SetNewLocale(NewLcid); + SetUserGeoID(NewGeoID); SetNonUnicodeLang(hwndDlg, NewLcid); } }