Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

95 lines
2.4 KiB

  1. #include "precomp.h"
  2. extern TCHAR g_szCustIns[];
  3. extern TCHAR g_szTempSign[];
  4. extern PROPSHEETPAGE g_psp[];
  5. extern int g_iCurPage;
  6. INT_PTR CALLBACK ProgramsDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
  7. {
  8. BOOL fImport;
  9. switch (uMsg)
  10. {
  11. case WM_NOTIFY:
  12. switch (((LPNMHDR) lParam)->code)
  13. {
  14. case PSN_SETACTIVE:
  15. // import INS clean-up -- delete old content
  16. DeleteFileInDir(TEXT("programs.inf"), g_szTempSign);
  17. SetBannerText(hDlg);
  18. fImport = !InsIsKeyEmpty(IS_EXTREGINF, IK_PROGRAMS, g_szCustIns);
  19. CheckRadioButton(hDlg, IDC_PROGNOIMPORT, IDC_PROGIMPORT, fImport ? IDC_PROGIMPORT : IDC_PROGNOIMPORT);
  20. EnableDlgItem2(hDlg, IDC_MODIFYPROG, fImport);
  21. CheckBatchAdvance(hDlg);
  22. break;
  23. case PSN_WIZBACK:
  24. case PSN_WIZNEXT:
  25. fImport = (IsDlgButtonChecked(hDlg, IDC_PROGIMPORT) == BST_CHECKED);
  26. {
  27. TCHAR szBrandingDir[MAX_PATH];
  28. CNewCursor cur(IDC_WAIT);
  29. g_cmCabMappings.GetFeatureDir(FEATURE_BRAND, szBrandingDir);
  30. ImportPrograms(g_szCustIns, szBrandingDir, fImport);
  31. }
  32. g_iCurPage = PPAGE_PROGRAMS;
  33. EnablePages();
  34. (((NMHDR FAR *) lParam)->code == PSN_WIZNEXT) ? PageNext(hDlg) : PagePrev(hDlg);
  35. break;
  36. case PSN_HELP:
  37. IeakPageHelp(hDlg, g_psp[g_iCurPage].pszTemplate);
  38. break;
  39. case PSN_QUERYCANCEL:
  40. QueryCancel(hDlg);
  41. break;
  42. default:
  43. return FALSE;
  44. }
  45. break;
  46. case WM_COMMAND:
  47. if (GET_WM_COMMAND_CMD(wParam, lParam) != BN_CLICKED)
  48. return FALSE;
  49. switch (GET_WM_COMMAND_ID(wParam, lParam))
  50. {
  51. case IDC_PROGNOIMPORT:
  52. DisableDlgItem(hDlg, IDC_MODIFYPROG);
  53. break;
  54. case IDC_PROGIMPORT:
  55. EnableDlgItem(hDlg, IDC_MODIFYPROG);
  56. break;
  57. case IDC_MODIFYPROG:
  58. ShowInetcpl(hDlg, INET_PAGE_PROGRAMS);
  59. break;
  60. }
  61. break;
  62. case WM_HELP:
  63. IeakPageHelp(hDlg, g_psp[g_iCurPage].pszTemplate);
  64. break;
  65. case IDM_BATCHADVANCE:
  66. DoBatchAdvance(hDlg);
  67. break;
  68. default:
  69. return FALSE;
  70. }
  71. return TRUE;
  72. }