diff --git a/reactos/dll/cpl/appwiz/Cz.rc b/reactos/dll/cpl/appwiz/Cz.rc index eaf41514dca..d4122e70e82 100644 --- a/reactos/dll/cpl/appwiz/Cz.rc +++ b/reactos/dll/cpl/appwiz/Cz.rc @@ -11,8 +11,9 @@ BEGIN LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 + CONTROL "&Show updates",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 LTEXT "Nsledujc aplikace mohou bt automaticky odstranny. K odstrann aplikace nebo k nastaven jejch komponent, ji vyberte ze seznamu a klepnte na tlatko Pidat/Odebrat.",-1,36,72,PROPSHEETWIDTH-48,32 - LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 105, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP + LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP PUSHBUTTON "Pidat/&Odebrat", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 198, 60, 14 END diff --git a/reactos/dll/cpl/appwiz/De.rc b/reactos/dll/cpl/appwiz/De.rc index e8466d436d0..22e7fe77d61 100644 --- a/reactos/dll/cpl/appwiz/De.rc +++ b/reactos/dll/cpl/appwiz/De.rc @@ -11,9 +11,10 @@ BEGIN LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 + CONTROL "&Updates anzeigen",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 LTEXT "Die folgende Software kann automatisch entfernt werden. Um ein Programm zu entfernen oder die installierten Programmpakete zu ndern, whlen Sie das Programm in der Liste und klicken auf ndern/Entfernen.",-1,36,72,PROPSHEETWIDTH-48,32 - LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 105, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP - PUSHBUTTON "ndern/Entfe&rnen", IDC_ADDREMOVE, PROPSHEETWIDTH-(82), 198, 70, 14 + LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP + PUSHBUTTON "ndern/Entfe&rnen", IDC_ADDREMOVE, PROPSHEETWIDTH-(82), 205, 70, 14 END IDD_PROPPAGEROSSETUP DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT diff --git a/reactos/dll/cpl/appwiz/Dk.rc b/reactos/dll/cpl/appwiz/Dk.rc index 41fc8027669..258a9a74a6f 100644 --- a/reactos/dll/cpl/appwiz/Dk.rc +++ b/reactos/dll/cpl/appwiz/Dk.rc @@ -11,8 +11,9 @@ BEGIN LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 + CONTROL "&Show updates",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 LTEXT "Flgende Software kan automatisk blive Fjernet. For at fjerne programmer eller ndre hvilken typer komponeter der skal vre installeret, vlg fra listen og klik p Tilfj/Fjern.",-1,36,72,PROPSHEETWIDTH-48,32 - LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 105, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP + LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP PUSHBUTTON "Tilfj/&Fjern", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 198, 60, 14 END diff --git a/reactos/dll/cpl/appwiz/En.rc b/reactos/dll/cpl/appwiz/En.rc index 861986d0689..9a3c677c122 100644 --- a/reactos/dll/cpl/appwiz/En.rc +++ b/reactos/dll/cpl/appwiz/En.rc @@ -11,8 +11,9 @@ BEGIN LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 + CONTROL "&Show updates",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 LTEXT "The following Software can be automatically removed. To remove a program or to modify its installed components, select it from the list and click Add/Remove.",-1,36,72,PROPSHEETWIDTH-48,32 - LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 105, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP + LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP PUSHBUTTON "Modify/&Remove", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 198, 60, 14 END diff --git a/reactos/dll/cpl/appwiz/Es.rc b/reactos/dll/cpl/appwiz/Es.rc index 8b51cb4641a..fcf505c67ef 100644 --- a/reactos/dll/cpl/appwiz/Es.rc +++ b/reactos/dll/cpl/appwiz/Es.rc @@ -17,8 +17,9 @@ BEGIN LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 + CONTROL "&Show updates",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 LTEXT "El siguiente software puede ser removido automaticamente. Para remover un programa o modificar sus componentes instalados, seleccionalo en la lista y pulsa Aadir/Remover.",-1,36,72,PROPSHEETWIDTH-48,32 - LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 105, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP + LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP PUSHBUTTON "Aadir/&Remover", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 198, 60, 14 END diff --git a/reactos/dll/cpl/appwiz/Fr.rc b/reactos/dll/cpl/appwiz/Fr.rc index a42c5456ebd..ce92ff09139 100644 --- a/reactos/dll/cpl/appwiz/Fr.rc +++ b/reactos/dll/cpl/appwiz/Fr.rc @@ -1,52 +1,53 @@ /* French translation by Benoit Plante 2005 (cmoibenlepro AT hotmail DOT com) */ -LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL - -IDD_PROPPAGEINSTALL DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Ajout/Supression de programmes" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,18,16,16 - LTEXT "Pour installer un nouveau programme, cliquez sur Installer",-1,36,18,PROPSHEETWIDTH-48,8 - PUSHBUTTON "&Installer...", IDC_INSTALL, PROPSHEETWIDTH-(72), 36, 60, 14 - LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN - - ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 - LTEXT "Les logiciels suivant peuvent tre supprims automatiquement. Pour supprimer un programme ou modifier ses composantes installes, slectionnez-le dans la liste et cliquez sur Ajouter/Supprimer.",-1,36,72,PROPSHEETWIDTH-48,32 - LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 105, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP - PUSHBUTTON "Ajouter/Supp&rimer", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 198, 60, 14 -END - -IDD_PROPPAGEROSSETUP DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Configuration de ReactOS" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - -END - -IDD_FIRSTPAGE DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Crer un raccourci" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - LTEXT "Texte 1", -1, 115, 15, 160, 24 - LTEXT "Texte 2", -1, 115, 35, 160, 17 -END - -IDD_SUBMIT_REPORT DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Crer un raccourci" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - LTEXT "Texte 1",-1,10,0,225,40 - LTEXT "Texte 2",-1,10,40,120,20 - LTEXT "Texte 3",-1,10,55,120,20 -END - -STRINGTABLE -BEGIN - IDS_CPLSYSTEMNAME "Ajout/Supression de programmes" - IDS_CPLSYSTEMDESCRIPTION "Installe et supprime les programmes et les composantes de ReactOS, ainsi que les raccourcis." -END +LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL + +IDD_PROPPAGEINSTALL DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Ajout/Supression de programmes" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,18,16,16 + LTEXT "Pour installer un nouveau programme, cliquez sur Installer",-1,36,18,PROPSHEETWIDTH-48,8 + PUSHBUTTON "&Installer...", IDC_INSTALL, PROPSHEETWIDTH-(72), 36, 60, 14 + LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN + + ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 + CONTROL "&Show updates",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 + LTEXT "Les logiciels suivant peuvent tre supprims automatiquement. Pour supprimer un programme ou modifier ses composantes installes, slectionnez-le dans la liste et cliquez sur Ajouter/Supprimer.",-1,36,72,PROPSHEETWIDTH-48,32 + LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP + PUSHBUTTON "Ajouter/Supp&rimer", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 198, 60, 14 +END + +IDD_PROPPAGEROSSETUP DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Configuration de ReactOS" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + +END + +IDD_FIRSTPAGE DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Crer un raccourci" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "Texte 1", -1, 115, 15, 160, 24 + LTEXT "Texte 2", -1, 115, 35, 160, 17 +END + +IDD_SUBMIT_REPORT DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Crer un raccourci" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "Texte 1",-1,10,0,225,40 + LTEXT "Texte 2",-1,10,40,120,20 + LTEXT "Texte 3",-1,10,55,120,20 +END + +STRINGTABLE +BEGIN + IDS_CPLSYSTEMNAME "Ajout/Supression de programmes" + IDS_CPLSYSTEMDESCRIPTION "Installe et supprime les programmes et les composantes de ReactOS, ainsi que les raccourcis." +END diff --git a/reactos/dll/cpl/appwiz/Gr.rc b/reactos/dll/cpl/appwiz/Gr.rc index 567f2bcb6c0..5eec6f6440d 100644 --- a/reactos/dll/cpl/appwiz/Gr.rc +++ b/reactos/dll/cpl/appwiz/Gr.rc @@ -11,8 +11,9 @@ BEGIN LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 + CONTROL "&Show updates",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 LTEXT " . , /.",-1,36,72,PROPSHEETWIDTH-48,32 - LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 105, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP + LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP PUSHBUTTON "/&", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 198, 60, 14 END diff --git a/reactos/dll/cpl/appwiz/Hu.rc b/reactos/dll/cpl/appwiz/Hu.rc index 1141855e463..a1935cae59f 100644 --- a/reactos/dll/cpl/appwiz/Hu.rc +++ b/reactos/dll/cpl/appwiz/Hu.rc @@ -12,8 +12,9 @@ BEGIN LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 + CONTROL "&Show updates",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 LTEXT "A kvetkez szoftvereket lehet eltvoltani. A szoftver trlshez vagy sszetevinek modostshoz kattints a szoftverre a listban, majd kattints a Hozzads/eltvolts gombra.",-1,36,72,PROPSHEETWIDTH-48,32 - LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 105, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP + LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP PUSHBUTTON "Hozzads/eltvolts", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 198, 60, 14 END diff --git a/reactos/dll/cpl/appwiz/Ja.rc b/reactos/dll/cpl/appwiz/Ja.rc index d949a5ae8ab..eb296e05db3 100644 --- a/reactos/dll/cpl/appwiz/Ja.rc +++ b/reactos/dll/cpl/appwiz/Ja.rc @@ -11,8 +11,9 @@ BEGIN LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 + CONTROL "&Show updates",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 LTEXT "̃vO͎ō폜邱Ƃł܂BvOύXARs[^폜肷ɂ́AꗗړĨvOIA[ύXƍ폜] NbNĂB",-1,36,72,PROPSHEETWIDTH-48,32 - LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 105, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP + LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP PUSHBUTTON "ύXƍ폜(&R)", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 198, 60, 14 END diff --git a/reactos/dll/cpl/appwiz/Nl.rc b/reactos/dll/cpl/appwiz/Nl.rc index 97565a2852c..02dfcd74137 100644 --- a/reactos/dll/cpl/appwiz/Nl.rc +++ b/reactos/dll/cpl/appwiz/Nl.rc @@ -11,8 +11,9 @@ BEGIN LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 + CONTROL "&Show updates",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 LTEXT "&De volgende software kan automatisch worden verwijderd. U verwijdert een programma of wijzigt de genstalleerde onderdelen door het programma te selecteren en op Toevoegen/verwijderen te klikken.",-1,36,72,PROPSHEETWIDTH-48,32 - LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 105, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP + LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP PUSHBUTTON "Toe&voegen/verwijderen", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 198, 60, 14 END diff --git a/reactos/dll/cpl/appwiz/Pl.rc b/reactos/dll/cpl/appwiz/Pl.rc index f5eabf4a2ed..9f8bcfaef50 100644 --- a/reactos/dll/cpl/appwiz/Pl.rc +++ b/reactos/dll/cpl/appwiz/Pl.rc @@ -13,8 +13,9 @@ BEGIN LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 + CONTROL "&Show updates",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 LTEXT "Nastpujce oprogramowanie moe by automatycznie usunite. eby usunc program, albo zmodyfikowa zainstalowane komponenty, wybierz program z listy i kliknij Dodaj/Usu.",-1,36,72,PROPSHEETWIDTH-48,32 - LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 105, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP + LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP PUSHBUTTON "Dodaj/&Usu", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 198, 60, 14 END diff --git a/reactos/dll/cpl/appwiz/Ru.rc b/reactos/dll/cpl/appwiz/Ru.rc index 0db9c751389..a62fd279a57 100644 --- a/reactos/dll/cpl/appwiz/Ru.rc +++ b/reactos/dll/cpl/appwiz/Ru.rc @@ -11,8 +11,9 @@ BEGIN LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 + CONTROL "&Show updates",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 LTEXT " , ""/"".",-1,36,72,PROPSHEETWIDTH-48,32 - LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 105, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP + LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP PUSHBUTTON "&/", IDC_ADDREMOVE, PROPSHEETWIDTH-98, 198, 85, 14 END diff --git a/reactos/dll/cpl/appwiz/appwiz.c b/reactos/dll/cpl/appwiz/appwiz.c index 57098345e1e..6db3a56ed5d 100644 --- a/reactos/dll/cpl/appwiz/appwiz.c +++ b/reactos/dll/cpl/appwiz/appwiz.c @@ -105,65 +105,113 @@ CallUninstall(HWND hwndDlg) } -/* Property page dialog callback */ -static INT_PTR CALLBACK -InstallPageProc(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam) +static void FillSoftwareList(HWND hwndDlg) { TCHAR pszName[MAX_PATH]; TCHAR pszDisplayName[MAX_PATH]; + TCHAR pszParentKeyName[MAX_PATH]; FILETIME FileTime; HKEY hKey; HKEY hSubKey; DWORD dwType; DWORD dwSize; + DWORD dwValue = 0; + BOOL bIsUpdate = FALSE; + BOOL bIsSystemComponent = FALSE; + BOOL bShowUpdates = FALSE; int i; ULONG index; + bShowUpdates = (SendMessage(GetDlgItem(hwndDlg, IDC_SHOWUPDATES), BM_GETCHECK, 0, 0) == BST_CHECKED); + + if (RegOpenKey(HKEY_LOCAL_MACHINE, + _TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall"), + &hKey) != ERROR_SUCCESS) + { + MessageBox(hwndDlg, + _TEXT("Unable to open Uninstall Key"), + _TEXT("Error"), + MB_ICONSTOP); + return; + } + + i = 0; + dwSize = MAX_PATH; + while (RegEnumKeyEx (hKey, i, pszName, &dwSize, NULL, NULL, NULL, &FileTime) == ERROR_SUCCESS) + { + if (RegOpenKey(hKey,pszName,&hSubKey)==ERROR_SUCCESS) + { + dwType = REG_DWORD; + dwSize = sizeof(DWORD); + if (RegQueryValueEx(hSubKey, + _TEXT("SystemComponent"), + NULL, + &dwType, + (LPBYTE)&dwValue, + &dwSize) == ERROR_SUCCESS) + { + bIsSystemComponent = (dwValue == 0x1); + } + else { + bIsSystemComponent = FALSE; + } + dwType = REG_SZ; + dwSize = MAX_PATH; + bIsUpdate = (RegQueryValueEx(hSubKey, + _TEXT("ParentKeyName"), + NULL, + &dwType, + (LPBYTE)pszParentKeyName, + &dwSize) == ERROR_SUCCESS); + dwSize = MAX_PATH; + if (RegQueryValueEx(hSubKey, + _TEXT("DisplayName"), + NULL, + &dwType, + (LPBYTE)pszDisplayName, + &dwSize) == ERROR_SUCCESS) + { + if ((!bIsUpdate) && (!bIsSystemComponent)) + { + index = SendDlgItemMessage(hwndDlg,IDC_SOFTWARELIST,LB_ADDSTRING,0,(LPARAM)pszDisplayName); + SendDlgItemMessage(hwndDlg,IDC_SOFTWARELIST,LB_SETITEMDATA,index,(LPARAM)hSubKey); + } + else if (bIsUpdate && bShowUpdates) + { + index = SendDlgItemMessage(hwndDlg,IDC_SOFTWARELIST,LB_ADDSTRING,0,(LPARAM)pszDisplayName); + SendDlgItemMessage(hwndDlg,IDC_SOFTWARELIST,LB_SETITEMDATA,index,(LPARAM)hSubKey); + } + } + } + + dwSize = MAX_PATH; + i++; + } + + RegCloseKey(hKey); +} + +/* Property page dialog callback */ +static INT_PTR CALLBACK +InstallPageProc(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam) +{ switch (uMsg) { case WM_INITDIALOG: EnableWindow(GetDlgItem(hwndDlg,IDC_INSTALL), FALSE); - if (RegOpenKey(HKEY_LOCAL_MACHINE, - _TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall"), - &hKey) != ERROR_SUCCESS) - { - MessageBox(hwndDlg, - _TEXT("Unable to open Uninstall Key"), - _TEXT("Error"), - MB_ICONSTOP); - return FALSE; - } - - i = 0; - dwSize = MAX_PATH; - while (RegEnumKeyEx (hKey, i, pszName, &dwSize, NULL, NULL, NULL, &FileTime) == ERROR_SUCCESS) - { - if (RegOpenKey(hKey,pszName,&hSubKey)==ERROR_SUCCESS) - { - dwType = REG_SZ; - dwSize = MAX_PATH; - if (RegQueryValueEx(hSubKey, - _TEXT("DisplayName"), - NULL, - &dwType, - (LPBYTE)pszDisplayName, - &dwSize) == ERROR_SUCCESS) - { - index = SendDlgItemMessage(hwndDlg,IDC_SOFTWARELIST,LB_ADDSTRING,0,(LPARAM)pszDisplayName); - SendDlgItemMessage(hwndDlg,IDC_SOFTWARELIST,LB_SETITEMDATA,index,(LPARAM)hSubKey); - } - } - - dwSize = MAX_PATH; - i++; - } - - RegCloseKey(hKey); + FillSoftwareList(hwndDlg); break; case WM_COMMAND: switch (LOWORD(wParam)) { + case IDC_SHOWUPDATES: + if (HIWORD(wParam) == BN_CLICKED) + { + SendDlgItemMessage(hwndDlg, IDC_SOFTWARELIST, LB_RESETCONTENT, 0, 0); + FillSoftwareList(hwndDlg); + } + break; case IDC_SOFTWARELIST: if (HIWORD(wParam) == LBN_DBLCLK) { diff --git a/reactos/dll/cpl/appwiz/resource.h b/reactos/dll/cpl/appwiz/resource.h index 361158b509c..f6361914f55 100644 --- a/reactos/dll/cpl/appwiz/resource.h +++ b/reactos/dll/cpl/appwiz/resource.h @@ -23,8 +23,9 @@ /* controls */ #define IDC_INSTALL 101 -#define IDC_SOFTWARELIST 102 -#define IDC_ADDREMOVE 103 +#define IDC_SOFTWARELIST 102 +#define IDC_ADDREMOVE 103 +#define IDC_SHOWUPDATES 104 #endif /* __CPL_RESOURCE_H */