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