Juan Lang : cryptui: Add a (empty) certificate manager dialog.
Alexandre Julliard
julliard at winehq.org
Fri Jan 9 09:52:28 CST 2009
Module: wine
Branch: master
Commit: 1f183ea2893c24180f92a496c3b299d2b7cd1393
URL: http://source.winehq.org/git/wine.git/?a=commit;h=1f183ea2893c24180f92a496c3b299d2b7cd1393
Author: Juan Lang <juan.lang at gmail.com>
Date: Wed Jan 7 16:15:05 2009 -0800
cryptui: Add a (empty) certificate manager dialog.
---
dlls/cryptui/cryptui_En.rc | 21 +++++++++++++++++++++
dlls/cryptui/cryptuires.h | 11 +++++++++++
dlls/cryptui/main.c | 40 ++++++++++++++++++++++++++++++++++++++--
3 files changed, 70 insertions(+), 2 deletions(-)
diff --git a/dlls/cryptui/cryptui_En.rc b/dlls/cryptui/cryptui_En.rc
index 0609229..251bf01 100644
--- a/dlls/cryptui/cryptui_En.rc
+++ b/dlls/cryptui/cryptui_En.rc
@@ -287,3 +287,24 @@ BEGIN
LVS_REPORT|LVS_NOCOLUMNHEADER|LVS_SINGLESEL|WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER,
115,67,174,100
END
+
+IDD_CERT_MGR DIALOG DISCARDABLE 0,0,335,270
+CAPTION "Certificates"
+FONT 8, "MS Shell Dlg"
+BEGIN
+ LTEXT "I&ntended purpose:", IDC_STATIC, 7,9,100,12
+ COMBOBOX IDC_MGR_PURPOSE_SELECTION, 83,7,245,14,
+ CBS_DROPDOWNLIST|WS_BORDER|WS_VSCROLL|WS_TABSTOP
+ CONTROL "", IDC_MGR_STORES, "SysTabControl32",
+ WS_CLIPSIBLINGS|WS_TABSTOP, 7,25,321,140
+ CONTROL "", IDC_MGR_CERTS, "SysListView32",
+ LVS_REPORT|WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER, 15,46,305,111
+ PUSHBUTTON "&Import...", IDC_MGR_IMPORT, 7,172,51,14
+ PUSHBUTTON "&Export...", IDC_MGR_EXPORT, 62,172,51,14, WS_DISABLED
+ PUSHBUTTON "&Remove", IDC_MGR_REMOVE, 117,172,51,14, WS_DISABLED
+ PUSHBUTTON "&Advanced...", IDC_MGR_ADVANCED, 277,172,51,14
+ GROUPBOX "Certificate intended purposes", grp1,7,194,321,47, BS_GROUPBOX
+ LTEXT "", IDC_MGR_PURPOSES, 13,208,252,30
+ PUSHBUTTON "&View...", IDC_MGR_VIEW, 269,218,51,14, WS_DISABLED
+ PUSHBUTTON "&Close", IDCANCEL, 277,249,51,14, BS_DEFPUSHBUTTON
+END
diff --git a/dlls/cryptui/cryptuires.h b/dlls/cryptui/cryptuires.h
index 14f576e..6799d54 100644
--- a/dlls/cryptui/cryptuires.h
+++ b/dlls/cryptui/cryptuires.h
@@ -130,6 +130,7 @@
#define IDD_IMPORT_FILE 108
#define IDD_IMPORT_STORE 109
#define IDD_IMPORT_FINISH 110
+#define IDD_CERT_MGR 111
#define IDB_SMALL_ICONS 200
#define IDB_CERT 201
@@ -184,4 +185,14 @@
#define IDC_IMPORT_BROWSE_STORE 2706
#define IDC_IMPORT_SETTINGS 2707
+#define IDC_MGR_PURPOSE_SELECTION 2800
+#define IDC_MGR_STORES 2801
+#define IDC_MGR_CERTS 2802
+#define IDC_MGR_IMPORT 2803
+#define IDC_MGR_EXPORT 2804
+#define IDC_MGR_REMOVE 2805
+#define IDC_MGR_ADVANCED 2806
+#define IDC_MGR_PURPOSES 2807
+#define IDC_MGR_VIEW 2808
+
#endif /* ndef __CRYPTUIRES_H_ */
diff --git a/dlls/cryptui/main.c b/dlls/cryptui/main.c
index 987599d..1a48c6f 100644
--- a/dlls/cryptui/main.c
+++ b/dlls/cryptui/main.c
@@ -65,13 +65,49 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
return TRUE;
}
+static LRESULT CALLBACK cert_mgr_dlg_proc(HWND hwnd, UINT msg, WPARAM wp,
+ LPARAM lp)
+{
+ switch (msg)
+ {
+ case WM_INITDIALOG:
+ {
+ PCCRYPTUI_CERT_MGR_STRUCT pCryptUICertMgr =
+ (PCCRYPTUI_CERT_MGR_STRUCT)lp;
+
+ if (pCryptUICertMgr->pwszTitle)
+ SendMessageW(hwnd, WM_SETTEXT, 0,
+ (LPARAM)pCryptUICertMgr->pwszTitle);
+ break;
+ }
+ case WM_COMMAND:
+ switch (wp)
+ {
+ case IDCANCEL:
+ EndDialog(hwnd, IDCANCEL);
+ break;
+ }
+ break;
+ }
+ return 0;
+}
+
/***********************************************************************
* CryptUIDlgCertMgr (CRYPTUI.@)
*/
BOOL WINAPI CryptUIDlgCertMgr(PCCRYPTUI_CERT_MGR_STRUCT pCryptUICertMgr)
{
- FIXME("(%p): stub\n", pCryptUICertMgr);
- return FALSE;
+ TRACE("(%p)\n", pCryptUICertMgr);
+
+ if (pCryptUICertMgr->dwSize != sizeof(CRYPTUI_CERT_MGR_STRUCT))
+ {
+ WARN("unexpected size %d\n", pCryptUICertMgr->dwSize);
+ SetLastError(E_INVALIDARG);
+ return FALSE;
+ }
+ DialogBoxParamW(hInstance, MAKEINTRESOURCEW(IDD_CERT_MGR),
+ pCryptUICertMgr->hwndParent, cert_mgr_dlg_proc, (LPARAM)pCryptUICertMgr);
+ return TRUE;
}
/* FIXME: real names are unknown, functions are undocumented */
More information about the wine-cvs
mailing list