From: Juan Lang Date: Tue, 23 Dec 2008 03:17:52 +0000 (-0800) Subject: cryptui: Skip the file page in CryptUIWizImport when the import source isn't a file. X-Git-Tag: 1.0.10-eter4~1^2~1^2~41 X-Git-Url: http://git.etersoft.ru/projects/?a=commitdiff_plain;h=9f6c54335595bec84b49c521f5c3925d20a2b141;p=wine%2Feterwine.git cryptui: Skip the file page in CryptUIWizImport when the import source isn't a file. --- diff --git a/dlls/cryptui/main.c b/dlls/cryptui/main.c index a7f8a1ba81..c578b356bc 100644 --- a/dlls/cryptui/main.c +++ b/dlls/cryptui/main.c @@ -4006,6 +4006,7 @@ static BOOL show_import_ui(DWORD dwFlags, HWND hwndParent, PROPSHEETHEADERW hdr; PROPSHEETPAGEW pages[4]; struct ImportWizData data; + int nPages = 0; FIXME("\n"); @@ -4019,34 +4020,44 @@ static BOOL show_import_ui(DWORD dwFlags, HWND hwndParent, data.hDestCertStore = hDestCertStore; memset(&pages, 0, sizeof(pages)); - pages[0].dwSize = sizeof(pages[0]); - pages[0].hInstance = hInstance; - pages[0].u.pszTemplate = MAKEINTRESOURCEW(IDD_IMPORT_WELCOME); - pages[0].pfnDlgProc = import_welcome_dlg_proc; - pages[0].dwFlags = PSP_HIDEHEADER; - - pages[1].dwSize = sizeof(pages[1]); - pages[1].hInstance = hInstance; - pages[1].u.pszTemplate = MAKEINTRESOURCEW(IDD_IMPORT_FILE); - pages[1].pfnDlgProc = import_file_dlg_proc; - pages[1].dwFlags = PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE; - pages[1].pszHeaderTitle = MAKEINTRESOURCEW(IDS_IMPORT_FILE_TITLE); - pages[1].pszHeaderSubTitle = MAKEINTRESOURCEW(IDS_IMPORT_FILE_SUBTITLE); - pages[1].lParam = (LPARAM)&data; - - pages[2].dwSize = sizeof(pages[2]); - pages[2].hInstance = hInstance; - pages[2].u.pszTemplate = MAKEINTRESOURCEW(IDD_IMPORT_STORE); - pages[2].pfnDlgProc = import_store_dlg_proc; - pages[2].dwFlags = PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE; - pages[2].pszHeaderTitle = MAKEINTRESOURCEW(IDS_IMPORT_STORE_TITLE); - pages[2].pszHeaderSubTitle = MAKEINTRESOURCEW(IDS_IMPORT_STORE_SUBTITLE); - - pages[3].dwSize = sizeof(pages[3]); - pages[3].hInstance = hInstance; - pages[3].u.pszTemplate = MAKEINTRESOURCEW(IDD_IMPORT_FINISH); - pages[3].pfnDlgProc = import_finish_dlg_proc; - pages[3].dwFlags = PSP_HIDEHEADER; + pages[nPages].dwSize = sizeof(pages[0]); + pages[nPages].hInstance = hInstance; + pages[nPages].u.pszTemplate = MAKEINTRESOURCEW(IDD_IMPORT_WELCOME); + pages[nPages].pfnDlgProc = import_welcome_dlg_proc; + pages[nPages].dwFlags = PSP_HIDEHEADER; + nPages++; + + if (!pImportSrc || + pImportSrc->dwSubjectChoice == CRYPTUI_WIZ_IMPORT_SUBJECT_FILE) + { + pages[nPages].dwSize = sizeof(pages[0]); + pages[nPages].hInstance = hInstance; + pages[nPages].u.pszTemplate = MAKEINTRESOURCEW(IDD_IMPORT_FILE); + pages[nPages].pfnDlgProc = import_file_dlg_proc; + pages[nPages].dwFlags = PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE; + pages[nPages].pszHeaderTitle = MAKEINTRESOURCEW(IDS_IMPORT_FILE_TITLE); + pages[nPages].pszHeaderSubTitle = + MAKEINTRESOURCEW(IDS_IMPORT_FILE_SUBTITLE); + pages[nPages].lParam = (LPARAM)&data; + nPages++; + } + + pages[nPages].dwSize = sizeof(pages[0]); + pages[nPages].hInstance = hInstance; + pages[nPages].u.pszTemplate = MAKEINTRESOURCEW(IDD_IMPORT_STORE); + pages[nPages].pfnDlgProc = import_store_dlg_proc; + pages[nPages].dwFlags = PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE; + pages[nPages].pszHeaderTitle = MAKEINTRESOURCEW(IDS_IMPORT_STORE_TITLE); + pages[nPages].pszHeaderSubTitle = + MAKEINTRESOURCEW(IDS_IMPORT_STORE_SUBTITLE); + nPages++; + + pages[nPages].dwSize = sizeof(pages[0]); + pages[nPages].hInstance = hInstance; + pages[nPages].u.pszTemplate = MAKEINTRESOURCEW(IDD_IMPORT_FINISH); + pages[nPages].pfnDlgProc = import_finish_dlg_proc; + pages[nPages].dwFlags = PSP_HIDEHEADER; + nPages++; memset(&hdr, 0, sizeof(hdr)); hdr.dwSize = sizeof(hdr); @@ -4058,7 +4069,7 @@ static BOOL show_import_ui(DWORD dwFlags, HWND hwndParent, else hdr.pszCaption = MAKEINTRESOURCEW(IDS_IMPORT_WIZARD); hdr.u3.ppsp = pages; - hdr.nPages = 4; + hdr.nPages = nPages; PropertySheetW(&hdr); if (data.freeSource && data.importSrc.dwSubjectChoice == CRYPTUI_WIZ_IMPORT_SUBJECT_CERT_STORE)