Andrew Nguyen : regedit: Convert the listview code to Unicode.

Alexandre Julliard julliard at winehq.org
Mon Apr 18 11:10:53 CDT 2011


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

Author: Andrew Nguyen <anguyen at codeweavers.com>
Date:   Sat Apr 16 03:07:27 2011 -0500

regedit: Convert the listview code to Unicode.

---

 programs/regedit/listview.c |   45 ++++++++++++++++++++++++------------------
 1 files changed, 26 insertions(+), 19 deletions(-)

diff --git a/programs/regedit/listview.c b/programs/regedit/listview.c
index 333b2a4..bbd5dd6 100644
--- a/programs/regedit/listview.c
+++ b/programs/regedit/listview.c
@@ -85,7 +85,7 @@ LPCWSTR GetValueName(HWND hwndLV)
         HeapFree(GetProcessHeap(), 0,  g_valueName);
     g_valueName = NULL;
 
-    item = ListView_GetNextItem(hwndLV, -1, LVNI_FOCUSED);
+    item = SendMessageW(hwndLV, LVM_GETNEXTITEM, -1, MAKELPARAM(LVNI_FOCUSED, 0));
     if (item == -1) return NULL;
 
     g_valueName = GetItemText(hwndLV, item);
@@ -133,7 +133,7 @@ static void AddEntryToList(HWND hwndLV, LPWSTR Name, DWORD dwValType,
     }
 
     item.mask = LVIF_TEXT | LVIF_PARAM | LVIF_STATE | LVIF_IMAGE;
-    item.iItem = ListView_GetItemCount(hwndLV);/*idx;  */
+    item.iItem = SendMessageW(hwndLV, LVM_GETITEMCOUNT, 0, 0);
     item.iSubItem = 0;
     item.state = 0;
     item.stateMask = LVIS_FOCUSED | LVIS_SELECTED;
@@ -348,12 +348,12 @@ HWND StartValueRename(HWND hwndLV)
 {
     int item;
 
-    item = ListView_GetNextItem(hwndLV, -1, LVNI_FOCUSED | LVNI_SELECTED);
+    item = SendMessageW(hwndLV, LVM_GETNEXTITEM, -1, MAKELPARAM(LVNI_FOCUSED | LVNI_SELECTED, 0));
     if (item < 1) { /* cannot rename default key */
         MessageBeep(MB_ICONHAND);
         return 0;
     }
-    return ListView_EditLabel(hwndLV, item);
+    return (HWND)SendMessageW(hwndLV, LVM_EDITLABELW, item, 0);
 }
 
 static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
@@ -372,7 +372,7 @@ static LRESULT CALLBACK ListWndProc(HWND hWnd, UINT message, WPARAM wParam, LPAR
     switch (message) {
     case WM_COMMAND:
         if (!_CmdWndProc(hWnd, message, wParam, lParam)) {
-            return CallWindowProc(g_orgListWndProc, hWnd, message, wParam, lParam);
+            return CallWindowProcW(g_orgListWndProc, hWnd, message, wParam, lParam);
         }
         break;
     case WM_NOTIFY_REFLECT:
@@ -409,11 +409,11 @@ static LRESULT CALLBACK ListWndProc(HWND hWnd, UINT message, WPARAM wParam, LPAR
 		return 0;
 	    }
         case NM_RETURN: {
-                int cnt = ListView_GetNextItem(hWnd, -1, LVNI_FOCUSED | LVNI_SELECTED);
-	        if (cnt != -1)
-		    SendMessageW(hFrameWnd, WM_COMMAND, ID_EDIT_MODIFY, 0);
-	    }
-	    break;
+            int cnt = SendMessageW(hWnd, LVM_GETNEXTITEM, -1, MAKELPARAM(LVNI_FOCUSED | LVNI_SELECTED, 0));
+            if (cnt != -1)
+                SendMessageW(hFrameWnd, WM_COMMAND, ID_EDIT_MODIFY, 0);
+            }
+            break;
         case NM_DBLCLK: {
                 NMITEMACTIVATE* nmitem = (LPNMITEMACTIVATE)lParam;
                 LVHITTESTINFO info;
@@ -435,11 +435,18 @@ static LRESULT CALLBACK ListWndProc(HWND hWnd, UINT message, WPARAM wParam, LPAR
 #endif
                 info.pt.x = nmitem->ptAction.x;
                 info.pt.y = nmitem->ptAction.y;
-                if (ListView_HitTest(hWnd, &info) != -1) {
-                    ListView_SetItemState(hWnd, -1, 0, LVIS_FOCUSED|LVIS_SELECTED);
-                    ListView_SetItemState(hWnd, info.iItem, LVIS_FOCUSED|LVIS_SELECTED,
-                        LVIS_FOCUSED|LVIS_SELECTED);
-		    SendMessageW(hFrameWnd, WM_COMMAND, ID_EDIT_MODIFY, 0);
+                if (SendMessageW(hWnd, LVM_HITTEST, 0, (LPARAM)&info) != -1) {
+                    LVITEMW item;
+
+                    item.state = 0;
+                    item.stateMask = LVIS_FOCUSED | LVIS_SELECTED;
+                    SendMessageW(hWnd, LVM_SETITEMSTATE, (UINT)-1, (LPARAM)&item);
+
+                    item.state = LVIS_FOCUSED | LVIS_SELECTED;
+                    item.stateMask = LVIS_FOCUSED | LVIS_SELECTED;
+                    SendMessageW(hWnd, LVM_SETITEMSTATE, info.iItem, (LPARAM)&item);
+
+                    SendMessageW(hFrameWnd, WM_COMMAND, ID_EDIT_MODIFY, 0);
                 }
             }
             break;
@@ -449,14 +456,14 @@ static LRESULT CALLBACK ListWndProc(HWND hWnd, UINT message, WPARAM wParam, LPAR
         }
         break;
     case WM_CONTEXTMENU: {
-        int cnt = ListView_GetNextItem(hWnd, -1, LVNI_SELECTED);
+        int cnt = SendMessageW(hWnd, LVM_GETNEXTITEM, -1, MAKELPARAM(LVNI_SELECTED, 0));
         TrackPopupMenu(GetSubMenu(hPopupMenus, cnt == -1 ? PM_NEW : PM_MODIFYVALUE),
                        TPM_RIGHTBUTTON, (short)LOWORD(lParam), (short)HIWORD(lParam),
                        0, hFrameWnd, NULL);
         break;
     }
     default:
-        return CallWindowProc(g_orgListWndProc, hWnd, message, wParam, lParam);
+        return CallWindowProcW(g_orgListWndProc, hWnd, message, wParam, lParam);
     }
     return 0;
 }
@@ -512,11 +519,11 @@ BOOL RefreshListView(HWND hwndLV, HKEY hKeyRoot, LPCWSTR keyPath, LPCWSTR highli
     errCode = RegOpenKeyExW(hKeyRoot, keyPath, 0, KEY_READ, &hKey);
     if (errCode != ERROR_SUCCESS) goto done;
 
-    count = ListView_GetItemCount(hwndLV);
+    count = SendMessageW(hwndLV, LVM_GETITEMCOUNT, 0, 0);
     for (i = 0; i < count; i++) {
         item.mask = LVIF_PARAM;
         item.iItem = i;
-        SendMessageW( hwndLV, LVM_GETITEM, 0, (LPARAM)&item );
+        SendMessageW( hwndLV, LVM_GETITEMW, 0, (LPARAM)&item );
         HeapFree(GetProcessHeap(), 0, ((LINE_INFO*)item.lParam)->name);
         HeapFree(GetProcessHeap(), 0, (void*)item.lParam);
     }




More information about the wine-cvs mailing list