Juan Lang : cryptui: Allow toggling a usage in the certificate manager dialog's advanced dialog .
Alexandre Julliard
julliard at winehq.org
Fri Jan 9 09:52:30 CST 2009
Module: wine
Branch: master
Commit: a180f505b919739d3e6793a60fb4ace2a62d23a9
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a180f505b919739d3e6793a60fb4ace2a62d23a9
Author: Juan Lang <juan.lang at gmail.com>
Date: Wed Jan 7 16:32:00 2009 -0800
cryptui: Allow toggling a usage in the certificate manager dialog's advanced dialog.
---
dlls/cryptui/main.c | 59 ++++++++++++++++++++++++++++++++-------------------
1 files changed, 37 insertions(+), 22 deletions(-)
diff --git a/dlls/cryptui/main.c b/dlls/cryptui/main.c
index f80def3..4a4bb2d 100644
--- a/dlls/cryptui/main.c
+++ b/dlls/cryptui/main.c
@@ -337,6 +337,28 @@ static void add_known_usages_to_list(HWND lv, CheckBitmapIndex state)
}
}
+static void toggle_usage(HWND hwnd, int iItem)
+{
+ LVITEMW item;
+ int res;
+ HWND lv = GetDlgItem(hwnd, IDC_CERTIFICATE_USAGES);
+
+ item.mask = LVIF_STATE;
+ item.iItem = iItem;
+ item.iSubItem = 0;
+ item.stateMask = LVIS_STATEIMAGEMASK;
+ res = SendMessageW(lv, LVM_GETITEMW, 0, (LPARAM)&item);
+ if (res)
+ {
+ int state = item.state >> 12;
+
+ item.state = INDEXTOSTATEIMAGEMASK(
+ state == CheckBitmapIndexChecked ? CheckBitmapIndexUnchecked :
+ CheckBitmapIndexChecked);
+ SendMessageW(lv, LVM_SETITEMSTATE, iItem, (LPARAM)&item);
+ }
+}
+
static LRESULT CALLBACK cert_mgr_advanced_dlg_proc(HWND hwnd, UINT msg,
WPARAM wp, LPARAM lp)
{
@@ -369,6 +391,21 @@ static LRESULT CALLBACK cert_mgr_advanced_dlg_proc(HWND hwnd, UINT msg,
add_known_usages_to_list(lv, CheckBitmapIndexChecked);
break;
}
+ case WM_NOTIFY:
+ {
+ NMHDR *hdr = (NMHDR *)lp;
+ NMITEMACTIVATE *nm;
+
+ switch (hdr->code)
+ {
+ case NM_CLICK:
+ nm = (NMITEMACTIVATE *)lp;
+ toggle_usage(hwnd, nm->iItem);
+ SendMessageW(GetParent(hwnd), PSM_CHANGED, (WPARAM)hwnd, 0);
+ break;
+ }
+ break;
+ }
case WM_COMMAND:
switch (wp)
{
@@ -2685,28 +2722,6 @@ static void set_general_cert_properties(HWND hwnd, struct edit_cert_data *data)
show_cert_usages(hwnd, data);
}
-static void toggle_usage(HWND hwnd, int iItem)
-{
- LVITEMW item;
- int res;
- HWND lv = GetDlgItem(hwnd, IDC_CERTIFICATE_USAGES);
-
- item.mask = LVIF_STATE;
- item.iItem = iItem;
- item.iSubItem = 0;
- item.stateMask = LVIS_STATEIMAGEMASK;
- res = SendMessageW(lv, LVM_GETITEMW, 0, (LPARAM)&item);
- if (res)
- {
- int state = item.state >> 12;
-
- item.state = INDEXTOSTATEIMAGEMASK(
- state == CheckBitmapIndexChecked ? CheckBitmapIndexUnchecked :
- CheckBitmapIndexChecked);
- SendMessageW(lv, LVM_SETITEMSTATE, iItem, (LPARAM)&item);
- }
-}
-
static void set_cert_string_property(PCCERT_CONTEXT cert, DWORD prop,
LPWSTR str)
{
More information about the wine-cvs
mailing list