diff --git a/programs/regedit/edit.c b/programs/regedit/edit.c index 0b0c6eb5328..15dc57afdba 100644 --- a/programs/regedit/edit.c +++ b/programs/regedit/edit.c @@ -165,7 +165,7 @@ static INT_PTR CALLBACK bin_modify_dlgproc(HWND hwndDlg, UINT uMsg, WPARAM wPara if (params->lpszValueName) SetDlgItemTextW(hwndDlg, IDC_VALUE_NAME, params->lpszValueName); else - SetDlgItemTextW(hwndDlg, IDC_VALUE_NAME, g_pszDefaultValueNameW); + SetDlgItemTextW(hwndDlg, IDC_VALUE_NAME, g_pszDefaultValueName); SendDlgItemMessage(hwndDlg, IDC_VALUE_DATA, HEM_SETDATA, (WPARAM)params->cbData, (LPARAM)params->pData); return TRUE; case WM_COMMAND: @@ -299,7 +299,7 @@ BOOL ModifyValue(HWND hwnd, HKEY hKeyRoot, LPCWSTR keyPath, LPCWSTR valueName) return FALSE; } - editValueName = valueName ? valueName : g_pszDefaultValueNameW; + editValueName = valueName ? valueName : g_pszDefaultValueName; if(!(stringValueData = read_value(hwnd, hKey, valueName, &type, &len))) goto done; if ( (type == REG_SZ) || (type == REG_EXPAND_SZ) ) { @@ -428,7 +428,7 @@ BOOL DeleteValue(HWND hwnd, HKEY hKeyRoot, LPCWSTR keyPath, LPCWSTR valueName, B BOOL result = FALSE; LONG lRet; HKEY hKey; - LPCWSTR visibleValueName = valueName ? valueName : g_pszDefaultValueNameW; + LPCWSTR visibleValueName = valueName ? valueName : g_pszDefaultValueName; WCHAR empty = 0; lRet = RegOpenKeyExW(hKeyRoot, keyPath, 0, KEY_READ | KEY_SET_VALUE, &hKey); diff --git a/programs/regedit/listview.c b/programs/regedit/listview.c index f4a239ffe79..accfc65ef60 100644 --- a/programs/regedit/listview.c +++ b/programs/regedit/listview.c @@ -2,6 +2,7 @@ * Regedit listviews * * Copyright (C) 2002 Robert Dickenson + * Copyright (C) 2008 Alexander N. Sørnes * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -49,8 +50,7 @@ static BOOL g_invertSort = FALSE; static LPWSTR g_valueName; static LPWSTR g_currentPath; static HKEY g_currentRootKey; -static WCHAR g_szValueNotSetW[64]; -static TCHAR g_szValueNotSet[64]; +static WCHAR g_szValueNotSet[64]; #define MAX_LIST_COLUMNS (IDS_LIST_COLUMN_LAST - IDS_LIST_COLUMN_FIRST + 1) static int default_column_widths[MAX_LIST_COLUMNS] = { 200, 175, 400 }; @@ -192,7 +192,7 @@ static void AddEntryToList(HWND hwndLV, LPWSTR Name, DWORD dwValType, if (ValBuf) { ListView_SetItemTextW(hwndLV, index, 2, ValBuf); } else { - ListView_SetItemTextW(hwndLV, index, 2, g_szValueNotSetW); + ListView_SetItemTextW(hwndLV, index, 2, g_szValueNotSet); } break; case REG_DWORD: { @@ -280,10 +280,10 @@ static BOOL CreateListColumns(HWND hWndListView) /* OnGetDispInfo - processes the LVN_GETDISPINFO notification message. */ -static void OnGetDispInfo(NMLVDISPINFO* plvdi) +static void OnGetDispInfo(NMLVDISPINFOW* plvdi) { - static TCHAR buffer[200]; - static TCHAR reg_szT[] = {'R','E','G','_','S','Z',0}, + static WCHAR buffer[200]; + static WCHAR reg_szT[] = {'R','E','G','_','S','Z',0}, reg_expand_szT[] = {'R','E','G','_','E','X','P','A','N','D','_','S','Z',0}, reg_binaryT[] = {'R','E','G','_','B','I','N','A','R','Y',0}, reg_dwordT[] = {'R','E','G','_','D','W','O','R','D',0}, @@ -300,7 +300,7 @@ static void OnGetDispInfo(NMLVDISPINFO* plvdi) switch (plvdi->item.iSubItem) { case 0: - plvdi->item.pszText = (LPSTR)g_pszDefaultValueName; + plvdi->item.pszText = g_pszDefaultValueName; break; case 1: switch (((LINE_INFO*)plvdi->item.lParam)->dwValType) { @@ -333,9 +333,9 @@ static void OnGetDispInfo(NMLVDISPINFO* plvdi) break; default: { - TCHAR szUnknownFmt[64]; - LoadString(hInst, IDS_REGISTRY_UNKNOWN_TYPE, szUnknownFmt, COUNT_OF(szUnknownFmt)); - wsprintf(buffer, szUnknownFmt, plvdi->item.lParam); + WCHAR szUnknownFmt[64]; + LoadStringW(hInst, IDS_REGISTRY_UNKNOWN_TYPE, szUnknownFmt, COUNT_OF(szUnknownFmt)); + wsprintfW(buffer, szUnknownFmt, plvdi->item.lParam); plvdi->item.pszText = buffer; break; } @@ -403,12 +403,12 @@ static LRESULT CALLBACK ListWndProc(HWND hWnd, UINT message, WPARAM wParam, LPAR case WM_NOTIFY_REFLECT: switch (((LPNMHDR)lParam)->code) { - case LVN_BEGINLABELEDIT: - if (!((NMLVDISPINFO *)lParam)->item.iItem) + case LVN_BEGINLABELEDITW: + if (!((NMLVDISPINFOW *)lParam)->item.iItem) return 1; return 0; - case LVN_GETDISPINFO: - OnGetDispInfo((NMLVDISPINFO*)lParam); + case LVN_GETDISPINFOW: + OnGetDispInfo((NMLVDISPINFOW*)lParam); break; case LVN_COLUMNCLICK: if (g_columnToSort == ((LPNMLISTVIEW)lParam)->iSubItem) @@ -418,20 +418,18 @@ static LRESULT CALLBACK ListWndProc(HWND hWnd, UINT message, WPARAM wParam, LPAR g_invertSort = FALSE; } - SendMessage(hWnd, LVM_SORTITEMS, (WPARAM)hWnd, (LPARAM)CompareFunc); + SendMessageW(hWnd, LVM_SORTITEMS, (WPARAM)hWnd, (LPARAM)CompareFunc); break; - case LVN_ENDLABELEDIT: { - LPNMLVDISPINFO dispInfo = (LPNMLVDISPINFO)lParam; + case LVN_ENDLABELEDITW: { + LPNMLVDISPINFOW dispInfo = (LPNMLVDISPINFOW)lParam; LPWSTR oldName = GetItemTextW(hWnd, dispInfo->item.iItem); - WCHAR* newName = GetWideString(dispInfo->item.pszText); LONG ret; if (!oldName) return -1; /* cannot rename a default value */ - ret = RenameValue(hWnd, g_currentRootKey, g_currentPath, oldName, newName); + ret = RenameValue(hWnd, g_currentRootKey, g_currentPath, oldName, dispInfo->item.pszText); if (ret) { - RefreshListView(hWnd, g_currentRootKey, g_currentPath, newName); + RefreshListView(hWnd, g_currentRootKey, g_currentPath, dispInfo->item.pszText); } - HeapFree(GetProcessHeap(), 0, newName); HeapFree(GetProcessHeap(), 0, oldName); return 0; } @@ -496,8 +494,7 @@ HWND CreateListView(HWND hwndParent, UINT id) WCHAR ListView[] = {'L','i','s','t',' ','V','i','e','w',0}; /* prepare strings */ - LoadString(hInst, IDS_REGISTRY_VALUE_NOT_SET, g_szValueNotSet, COUNT_OF(g_szValueNotSet)); - LoadStringW(hInst, IDS_REGISTRY_VALUE_NOT_SET, g_szValueNotSetW, COUNT_OF(g_szValueNotSetW)); + LoadStringW(hInst, IDS_REGISTRY_VALUE_NOT_SET, g_szValueNotSet, COUNT_OF(g_szValueNotSet)); /* Get the dimensions of the parent window's client area, and create the list view control. */ GetClientRect(hwndParent, &rcClient); @@ -506,6 +503,7 @@ HWND CreateListView(HWND hwndParent, UINT id) 0, 0, rcClient.right, rcClient.bottom, hwndParent, (HMENU)ULongToHandle(id), hInst, NULL); if (!hwndLV) return NULL; + SendMessageW(hwndLV, LVM_SETUNICODEFORMAT, TRUE, 0); SendMessageW(hwndLV, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT); /* Initialize the image list */ diff --git a/programs/regedit/main.c b/programs/regedit/main.c index 3033d7dcffd..6fe129ac6f1 100644 --- a/programs/regedit/main.c +++ b/programs/regedit/main.c @@ -29,8 +29,7 @@ #define REGEDIT_DECLARE_FUNCTIONS #include "main.h" -TCHAR g_pszDefaultValueName[64]; -WCHAR g_pszDefaultValueNameW[64]; +WCHAR g_pszDefaultValueName[64]; BOOL ProcessCmdLine(LPSTR lpCmdLine); @@ -183,8 +182,7 @@ int APIENTRY WinMain(HINSTANCE hInstance, /* Initialize global strings */ LoadString(hInstance, IDS_APP_TITLE, szTitle, COUNT_OF(szTitle)); - LoadString(hInstance, IDS_REGISTRY_DEFAULT_VALUE, g_pszDefaultValueName, COUNT_OF(g_pszDefaultValueName)); - LoadStringW(hInstance, IDS_REGISTRY_DEFAULT_VALUE, g_pszDefaultValueNameW, COUNT_OF(g_pszDefaultValueNameW)); + LoadStringW(hInstance, IDS_REGISTRY_DEFAULT_VALUE, g_pszDefaultValueName, COUNT_OF(g_pszDefaultValueName)); /* Store instance handle in our global variable */ hInst = hInstance; diff --git a/programs/regedit/main.h b/programs/regedit/main.h index 84a712ccff7..ec2cf98d921 100644 --- a/programs/regedit/main.h +++ b/programs/regedit/main.h @@ -90,8 +90,7 @@ extern enum OPTION_FLAGS Options; extern TCHAR szTitle[]; extern const TCHAR szFrameClass[]; extern const TCHAR szChildClass[]; -extern TCHAR g_pszDefaultValueName[]; -extern WCHAR g_pszDefaultValueNameW[]; +extern WCHAR g_pszDefaultValueName[]; /* Registry class names and their indexes */ extern const WCHAR* reg_class_namesW[];