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