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