mirror of
https://github.com/reactos/reactos.git
synced 2025-04-21 04:37:15 +00:00
[INTL]
- Remove the Advanced page for non-admin users. - Disable the 'complex script' and 'east asian language' checkboxes for non-admin users. svn path=/trunk/; revision=70571
This commit is contained in:
parent
24c45ac2f1
commit
b83fd18555
3 changed files with 23 additions and 2 deletions
|
@ -168,6 +168,7 @@ Applet(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
pGlobalData->SystemLCID = GetSystemDefaultLCID();
|
pGlobalData->SystemLCID = GetSystemDefaultLCID();
|
||||||
|
pGlobalData->bIsUserAdmin = IsUserAdmin();
|
||||||
|
|
||||||
LoadString(hApplet, IDS_CPLNAME, Caption, sizeof(Caption) / sizeof(TCHAR));
|
LoadString(hApplet, IDS_CPLNAME, Caption, sizeof(Caption) / sizeof(TCHAR));
|
||||||
|
|
||||||
|
@ -178,13 +179,20 @@ Applet(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam)
|
||||||
psh.hInstance = hApplet;
|
psh.hInstance = hApplet;
|
||||||
psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDC_CPLICON));
|
psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDC_CPLICON));
|
||||||
psh.pszCaption = Caption;
|
psh.pszCaption = Caption;
|
||||||
psh.nPages = sizeof(psp) / sizeof(PROPSHEETPAGE);
|
psh.nPages = 0; //sizeof(psp) / sizeof(PROPSHEETPAGE);
|
||||||
psh.nStartPage = 0;
|
psh.nStartPage = 0;
|
||||||
psh.ppsp = psp;
|
psh.ppsp = psp;
|
||||||
|
|
||||||
InitPropSheetPage(&psp[0], IDD_GENERALPAGE, GeneralPageProc, (LPARAM)pGlobalData);
|
InitPropSheetPage(&psp[0], IDD_GENERALPAGE, GeneralPageProc, (LPARAM)pGlobalData);
|
||||||
|
psh.nPages++;
|
||||||
InitPropSheetPage(&psp[1], IDD_LANGUAGESPAGE, LanguagesPageProc, (LPARAM)pGlobalData);
|
InitPropSheetPage(&psp[1], IDD_LANGUAGESPAGE, LanguagesPageProc, (LPARAM)pGlobalData);
|
||||||
InitPropSheetPage(&psp[2], IDD_ADVANCEDPAGE, AdvancedPageProc, (LPARAM)pGlobalData);
|
psh.nPages++;
|
||||||
|
|
||||||
|
if (pGlobalData->bIsUserAdmin)
|
||||||
|
{
|
||||||
|
InitPropSheetPage(&psp[2], IDD_ADVANCEDPAGE, AdvancedPageProc, (LPARAM)pGlobalData);
|
||||||
|
psh.nPages++;
|
||||||
|
}
|
||||||
|
|
||||||
ret = (LONG)(PropertySheet(&psh) != -1);
|
ret = (LONG)(PropertySheet(&psh) != -1);
|
||||||
|
|
||||||
|
|
|
@ -116,6 +116,8 @@ typedef struct _GLOBALDATA
|
||||||
GEOID geoid;
|
GEOID geoid;
|
||||||
BOOL fGeoIdChanged;
|
BOOL fGeoIdChanged;
|
||||||
|
|
||||||
|
/* Misc */
|
||||||
|
BOOL bIsUserAdmin;
|
||||||
} GLOBALDATA, *PGLOBALDATA;
|
} GLOBALDATA, *PGLOBALDATA;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
|
|
@ -10,10 +10,21 @@ LanguagesPageProc(HWND hwndDlg,
|
||||||
LPARAM lParam)
|
LPARAM lParam)
|
||||||
{
|
{
|
||||||
SHELLEXECUTEINFOW shInputDll;
|
SHELLEXECUTEINFOW shInputDll;
|
||||||
|
PGLOBALDATA pGlobalData;
|
||||||
|
|
||||||
|
pGlobalData = (PGLOBALDATA)GetWindowLongPtr(hwndDlg, DWLP_USER);
|
||||||
|
|
||||||
switch (uMsg)
|
switch (uMsg)
|
||||||
{
|
{
|
||||||
case WM_INITDIALOG:
|
case WM_INITDIALOG:
|
||||||
|
pGlobalData = (PGLOBALDATA)((LPPROPSHEETPAGE)lParam)->lParam;
|
||||||
|
SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pGlobalData);
|
||||||
|
|
||||||
|
if (!pGlobalData->bIsUserAdmin)
|
||||||
|
{
|
||||||
|
EnableWindow(GetDlgItem(hwndDlg, IDC_INST_FILES_FOR_RTOL_LANG), FALSE);
|
||||||
|
EnableWindow(GetDlgItem(hwndDlg, IDC_INST_FILES_FOR_ASIAN), FALSE);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WM_COMMAND:
|
case WM_COMMAND:
|
||||||
|
|
Loading…
Reference in a new issue