Juan Lang : cryptui: Skip the file page in CryptUIWizImport when the import source isn't a file .

Alexandre Julliard julliard at winehq.org
Tue Dec 23 13:41:27 CST 2008


Module: wine
Branch: master
Commit: 9f6c54335595bec84b49c521f5c3925d20a2b141
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9f6c54335595bec84b49c521f5c3925d20a2b141

Author: Juan Lang <juan.lang at gmail.com>
Date:   Mon Dec 22 19:17:52 2008 -0800

cryptui: Skip the file page in CryptUIWizImport when the import source isn't a file.

---

 dlls/cryptui/main.c |   69 +++++++++++++++++++++++++++++---------------------
 1 files changed, 40 insertions(+), 29 deletions(-)

diff --git a/dlls/cryptui/main.c b/dlls/cryptui/main.c
index a7f8a1b..c578b35 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)




More information about the wine-cvs mailing list