Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
9b586bc2
Commit
9b586bc2
authored
Apr 16, 2011
by
Andrew Nguyen
Committed by
Alexandre Julliard
Apr 18, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
regedit: Convert the frame window code to Unicode.
parent
8f0bc1e2
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
31 additions
and
24 deletions
+31
-24
framewnd.c
programs/regedit/framewnd.c
+31
-24
No files found.
programs/regedit/framewnd.c
View file @
9b586bc2
...
...
@@ -105,7 +105,10 @@ static void UpdateMenuItems(HMENU hMenu) {
BOOL
bAllowEdit
=
FALSE
;
HKEY
hRootKey
=
NULL
;
LPWSTR
keyName
;
keyName
=
GetItemPath
(
hwndTV
,
TreeView_GetSelection
(
hwndTV
),
&
hRootKey
);
HTREEITEM
selection
;
selection
=
(
HTREEITEM
)
SendMessageW
(
hwndTV
,
TVM_GETNEXTITEM
,
TVGN_CARET
,
0
);
keyName
=
GetItemPath
(
hwndTV
,
selection
,
&
hRootKey
);
if
(
GetFocus
()
!=
hwndTV
||
(
keyName
&&
*
keyName
))
{
/* can't modify root keys, but allow for their values */
bAllowEdit
=
TRUE
;
}
...
...
@@ -327,10 +330,12 @@ static BOOL InitOpenFileName(HWND hWnd, OPENFILENAMEW *pofn)
return
TRUE
;
}
static
BOOL
import_registry_filename
(
LP
T
STR
filename
)
static
BOOL
import_registry_filename
(
LP
W
STR
filename
)
{
static
const
WCHAR
mode_r
[]
=
{
'r'
,
0
};
BOOL
Success
;
FILE
*
reg_file
=
fopen
(
filename
,
"r"
);
FILE
*
reg_file
=
_wfopen
(
filename
,
mode_r
);
if
(
!
reg_file
)
return
FALSE
;
...
...
@@ -353,13 +358,8 @@ static BOOL ImportRegistryFile(HWND hWnd)
LoadStringW
(
hInst
,
IDS_FILEDIALOG_IMPORT_TITLE
,
title
,
COUNT_OF
(
title
));
ofn
.
lpstrTitle
=
title
;
if
(
GetOpenFileNameW
(
&
ofn
))
{
CHAR
*
fileA
=
GetMultiByteString
(
ofn
.
lpstrFile
);
if
(
!
import_registry_filename
(
fileA
))
{
/*printf("Can't open file \"%s\"\n", ofn.lpstrFile);*/
HeapFree
(
GetProcessHeap
(),
0
,
fileA
);
if
(
!
import_registry_filename
(
ofn
.
lpstrFile
))
return
FALSE
;
}
HeapFree
(
GetProcessHeap
(),
0
,
fileA
);
}
else
{
CheckCommDlgError
(
hWnd
);
}
...
...
@@ -397,8 +397,8 @@ static BOOL PrintRegistryHive(HWND hWnd, LPCWSTR path)
#if 1
PRINTDLGW
pd
;
ZeroMemory
(
&
pd
,
sizeof
(
PRINTDLG
));
pd
.
lStructSize
=
sizeof
(
PRINTDLG
);
ZeroMemory
(
&
pd
,
sizeof
(
PRINTDLG
W
));
pd
.
lStructSize
=
sizeof
(
PRINTDLG
W
);
pd
.
hwndOwner
=
hWnd
;
pd
.
hDevMode
=
NULL
;
/* Don't forget to free or store hDevMode*/
pd
.
hDevNames
=
NULL
;
/* Don't forget to free or store hDevNames*/
...
...
@@ -555,7 +555,7 @@ static INT_PTR CALLBACK addtofavorites_dlgproc(HWND hwndDlg, UINT uMsg, WPARAM w
switch
(
LOWORD
(
wParam
))
{
case
IDC_VALUE_NAME
:
if
(
HIWORD
(
wParam
)
==
EN_UPDATE
)
{
EnableWindow
(
GetDlgItem
(
hwndDlg
,
IDOK
),
GetWindowTextLength
(
hwndValue
)
>
0
);
EnableWindow
(
GetDlgItem
(
hwndDlg
,
IDOK
),
GetWindowTextLengthW
(
hwndValue
)
>
0
);
return
TRUE
;
}
break
;
...
...
@@ -696,11 +696,11 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
HeapFree
(
GetProcessHeap
(),
0
,
keyPath
);
}
else
if
(
hWndDelete
==
g_pChildWnd
->
hListWnd
)
{
WCHAR
*
keyPath
=
GetItemPath
(
g_pChildWnd
->
hTreeWnd
,
0
,
&
hKeyRoot
);
curIndex
=
ListView_GetNextItem
(
g_pChildWnd
->
hListWnd
,
-
1
,
LVNI_SELECTED
);
curIndex
=
SendMessageW
(
g_pChildWnd
->
hListWnd
,
LVM_GETNEXTITEM
,
-
1
,
MAKELPARAM
(
LVNI_SELECTED
,
0
)
);
while
(
curIndex
!=
-
1
)
{
WCHAR
*
valueName
=
GetItemText
(
g_pChildWnd
->
hListWnd
,
curIndex
);
curIndex
=
ListView_GetNextItem
(
g_pChildWnd
->
hListWnd
,
curIndex
,
LVNI_SELECTED
);
curIndex
=
SendMessageW
(
g_pChildWnd
->
hListWnd
,
LVM_GETNEXTITEM
,
curIndex
,
MAKELPARAM
(
LVNI_SELECTED
,
0
)
);
if
(
curIndex
!=
-
1
&&
firstItem
)
{
if
(
MessageBoxW
(
hWnd
,
MAKEINTRESOURCEW
(
IDS_DELETE_BOX_TEXT_MULTIPLE
),
MAKEINTRESOURCEW
(
IDS_DELETE_BOX_TITLE
),
...
...
@@ -720,7 +720,7 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
HeapFree
(
GetProcessHeap
(),
0
,
keyPath
);
}
else
if
(
IsChild
(
g_pChildWnd
->
hTreeWnd
,
hWndDelete
)
||
IsChild
(
g_pChildWnd
->
hListWnd
,
hWndDelete
))
{
SendMessage
(
hWndDelete
,
WM_KEYDOWN
,
VK_DELETE
,
0
);
SendMessage
W
(
hWndDelete
,
WM_KEYDOWN
,
VK_DELETE
,
0
);
}
break
;
}
...
...
@@ -738,14 +738,14 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HTREEITEM
hItem
;
if
(
LOWORD
(
wParam
)
==
ID_EDIT_FIND
&&
DialogBox
(
0
,
MAKEINTRESOURCE
(
IDD_FIND
),
hWnd
,
find_dlgproc
)
!=
IDOK
)
DialogBox
W
(
0
,
MAKEINTRESOURCEW
(
IDD_FIND
),
hWnd
,
find_dlgproc
)
!=
IDOK
)
break
;
if
(
!*
searchString
)
break
;
hItem
=
TreeView_GetSelection
(
g_pChildWnd
->
hTreeWnd
);
hItem
=
(
HTREEITEM
)
SendMessageW
(
g_pChildWnd
->
hTreeWnd
,
TVM_GETNEXTITEM
,
TVGN_CARET
,
0
);
if
(
hItem
)
{
int
row
=
ListView_GetNextItem
(
g_pChildWnd
->
hListWnd
,
-
1
,
LVNI_FOCUSED
);
HCURSOR
hcursorOld
=
SetCursor
(
LoadCursor
(
NULL
,
IDC_WAIT
));
int
row
=
SendMessageW
(
g_pChildWnd
->
hListWnd
,
LVM_GETNEXTITEM
,
-
1
,
MAKELPARAM
(
LVNI_FOCUSED
,
0
)
);
HCURSOR
hcursorOld
=
SetCursor
(
LoadCursor
W
(
NULL
,
(
LPCWSTR
)
IDC_WAIT
));
hItem
=
FindNext
(
g_pChildWnd
->
hTreeWnd
,
hItem
,
searchString
,
searchMask
,
&
row
);
SetCursor
(
hcursorOld
);
if
(
hItem
)
{
...
...
@@ -753,8 +753,15 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
InvalidateRect
(
g_pChildWnd
->
hTreeWnd
,
NULL
,
TRUE
);
UpdateWindow
(
g_pChildWnd
->
hTreeWnd
);
if
(
row
!=
-
1
)
{
ListView_SetItemState
(
g_pChildWnd
->
hListWnd
,
-
1
,
0
,
LVIS_FOCUSED
|
LVIS_SELECTED
);
ListView_SetItemState
(
g_pChildWnd
->
hListWnd
,
row
,
LVIS_FOCUSED
|
LVIS_SELECTED
,
LVIS_FOCUSED
|
LVIS_SELECTED
);
LVITEMW
item
;
item
.
state
=
0
;
item
.
stateMask
=
LVIS_FOCUSED
|
LVIS_SELECTED
;
SendMessageW
(
g_pChildWnd
->
hListWnd
,
LVM_SETITEMSTATE
,
(
UINT
)
-
1
,
(
LPARAM
)
&
item
);
item
.
state
=
LVIS_FOCUSED
|
LVIS_SELECTED
;
item
.
stateMask
=
LVIS_FOCUSED
|
LVIS_SELECTED
;
SendMessageW
(
g_pChildWnd
->
hListWnd
,
LVM_SETITEMSTATE
,
row
,
(
LPARAM
)
&
item
);
SetFocus
(
g_pChildWnd
->
hListWnd
);
}
else
{
SetFocus
(
g_pChildWnd
->
hTreeWnd
);
...
...
@@ -840,7 +847,7 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
HKEY
hKey
;
LPWSTR
lpKeyPath
=
GetItemFullPath
(
g_pChildWnd
->
hTreeWnd
,
NULL
,
FALSE
);
if
(
lpKeyPath
)
{
if
(
DialogBox
(
0
,
MAKEINTRESOURCE
(
IDD_ADDFAVORITE
),
hWnd
,
addtofavorites_dlgproc
)
==
IDOK
)
{
if
(
DialogBox
W
(
0
,
MAKEINTRESOURCEW
(
IDD_ADDFAVORITE
),
hWnd
,
addtofavorites_dlgproc
)
==
IDOK
)
{
if
(
RegCreateKeyExW
(
HKEY_CURRENT_USER
,
favoritesKey
,
0
,
NULL
,
0
,
KEY_READ
|
KEY_WRITE
,
NULL
,
&
hKey
,
NULL
)
==
ERROR_SUCCESS
)
{
...
...
@@ -854,7 +861,7 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
}
case
ID_FAVORITES_REMOVEFAVORITE
:
{
if
(
DialogBox
(
0
,
MAKEINTRESOURCE
(
IDD_DELFAVORITE
),
hWnd
,
removefavorite_dlgproc
)
==
IDOK
)
{
if
(
DialogBox
W
(
0
,
MAKEINTRESOURCEW
(
IDD_DELFAVORITE
),
hWnd
,
removefavorite_dlgproc
)
==
IDOK
)
{
HKEY
hKey
;
if
(
RegOpenKeyExW
(
HKEY_CURRENT_USER
,
favoritesKey
,
0
,
KEY_READ
|
KEY_WRITE
,
&
hKey
)
==
ERROR_SUCCESS
)
{
...
...
@@ -896,7 +903,7 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
pts
=
pt
;
if
(
ClientToScreen
(
g_pChildWnd
->
hWnd
,
&
pts
))
{
SetCursorPos
(
pts
.
x
,
pts
.
y
);
SetCursor
(
LoadCursor
(
0
,
IDC_SIZEWE
));
SetCursor
(
LoadCursor
W
(
0
,
(
LPCWSTR
)
IDC_SIZEWE
));
SendMessageW
(
g_pChildWnd
->
hWnd
,
WM_LBUTTONDOWN
,
0
,
MAKELPARAM
(
pt
.
x
,
pt
.
y
));
}
return
TRUE
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment