Juan Lang : cryptui: Skip the format page of the export wizard if the format is implied.
Alexandre Julliard
julliard at winehq.org
Mon Jan 26 10:13:37 CST 2009
Module: wine
Branch: master
Commit: c417c9b9c26bb229a5975f35c6fd1f9bc5c3e156
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c417c9b9c26bb229a5975f35c6fd1f9bc5c3e156
Author: Juan Lang <juan.lang at gmail.com>
Date: Fri Jan 23 09:01:38 2009 -0800
cryptui: Skip the format page of the export wizard if the format is implied.
---
dlls/cryptui/main.c | 44 +++++++++++++++++++++++++++++++++-----------
1 files changed, 33 insertions(+), 11 deletions(-)
diff --git a/dlls/cryptui/main.c b/dlls/cryptui/main.c
index d2d8465..e29a9e0 100644
--- a/dlls/cryptui/main.c
+++ b/dlls/cryptui/main.c
@@ -5443,6 +5443,7 @@ struct ExportWizData
LPCWSTR pwszWizardTitle;
PCCRYPTUI_WIZ_EXPORT_INFO pExportInfo;
void *pvoid;
+ DWORD exportFormat;
};
static LRESULT CALLBACK export_welcome_dlg_proc(HWND hwnd, UINT msg, WPARAM wp,
@@ -5615,11 +5616,13 @@ static BOOL show_export_ui(DWORD dwFlags, HWND hwndParent,
PROPSHEETPAGEW pages[4];
struct ExportWizData data;
int nPages = 0;
+ BOOL showFormatPage = TRUE;
data.dwFlags = dwFlags;
data.pwszWizardTitle = pwszWizardTitle;
data.pExportInfo = pExportInfo;
data.pvoid = pvoid;
+ data.exportFormat = 0;
memset(&pages, 0, sizeof(pages));
@@ -5631,17 +5634,36 @@ static BOOL show_export_ui(DWORD dwFlags, HWND hwndParent,
pages[nPages].lParam = (LPARAM)&data;
nPages++;
- pages[nPages].dwSize = sizeof(pages[0]);
- pages[nPages].hInstance = hInstance;
- pages[nPages].u.pszTemplate = MAKEINTRESOURCEW(IDD_EXPORT_FORMAT);
- pages[nPages].pfnDlgProc = export_format_dlg_proc;
- pages[nPages].dwFlags = PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
- pages[nPages].pszHeaderTitle =
- MAKEINTRESOURCEW(IDS_EXPORT_FORMAT_TITLE);
- pages[nPages].pszHeaderSubTitle =
- MAKEINTRESOURCEW(IDS_EXPORT_FORMAT_SUBTITLE);
- pages[nPages].lParam = (LPARAM)&data;
- nPages++;
+ switch (pExportInfo->dwSubjectChoice)
+ {
+ case CRYPTUI_WIZ_EXPORT_CRL_CONTEXT:
+ case CRYPTUI_WIZ_EXPORT_CTL_CONTEXT:
+ showFormatPage = FALSE;
+ data.exportFormat = CRYPTUI_WIZ_EXPORT_FORMAT_DER;
+ break;
+ case CRYPTUI_WIZ_EXPORT_CERT_STORE:
+ showFormatPage = FALSE;
+ data.exportFormat = CRYPTUI_WIZ_EXPORT_FORMAT_SERIALIZED_CERT_STORE;
+ break;
+ case CRYPTUI_WIZ_EXPORT_CERT_STORE_CERTIFICATES_ONLY:
+ showFormatPage = FALSE;
+ data.exportFormat = CRYPTUI_WIZ_EXPORT_FORMAT_PKCS7;
+ break;
+ }
+ if (showFormatPage)
+ {
+ pages[nPages].dwSize = sizeof(pages[0]);
+ pages[nPages].hInstance = hInstance;
+ pages[nPages].u.pszTemplate = MAKEINTRESOURCEW(IDD_EXPORT_FORMAT);
+ pages[nPages].pfnDlgProc = export_format_dlg_proc;
+ pages[nPages].dwFlags = PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
+ pages[nPages].pszHeaderTitle =
+ MAKEINTRESOURCEW(IDS_EXPORT_FORMAT_TITLE);
+ pages[nPages].pszHeaderSubTitle =
+ MAKEINTRESOURCEW(IDS_EXPORT_FORMAT_SUBTITLE);
+ pages[nPages].lParam = (LPARAM)&data;
+ nPages++;
+ }
pages[nPages].dwSize = sizeof(pages[0]);
pages[nPages].hInstance = hInstance;
More information about the wine-cvs
mailing list