Commit d3908e69 authored by Lei Zhang's avatar Lei Zhang Committed by Alexandre Julliard

regedit: Make branch export behavior work more like native regedit.

parent 7ffaafb2
...@@ -278,10 +278,13 @@ static UINT CALLBACK ExportRegistryFile_OFNHookProc(HWND hdlg, UINT uiMsg, WPARA ...@@ -278,10 +278,13 @@ static UINT CALLBACK ExportRegistryFile_OFNHookProc(HWND hdlg, UINT uiMsg, WPARA
{ {
case CDN_INITDONE: case CDN_INITDONE:
{ {
BOOL export_branch = FALSE;
WCHAR* path = GetItemFullPath(g_pChildWnd->hTreeWnd, NULL, FALSE); WCHAR* path = GetItemFullPath(g_pChildWnd->hTreeWnd, NULL, FALSE);
SendDlgItemMessageW(hdlg, IDC_EXPORT_PATH, WM_SETTEXT, 0, (LPARAM)path); SendDlgItemMessageW(hdlg, IDC_EXPORT_PATH, WM_SETTEXT, 0, (LPARAM)path);
if (path && strlenW(path) > 0)
export_branch = TRUE;
HeapFree(GetProcessHeap(), 0, path); HeapFree(GetProcessHeap(), 0, path);
CheckRadioButton(hdlg, IDC_EXPORT_ALL, IDC_EXPORT_SELECTED, pOpenFileName->lCustData ? IDC_EXPORT_SELECTED : IDC_EXPORT_ALL); CheckRadioButton(hdlg, IDC_EXPORT_ALL, IDC_EXPORT_SELECTED, export_branch ? IDC_EXPORT_SELECTED : IDC_EXPORT_ALL);
break; break;
} }
case CDN_FILEOK: case CDN_FILEOK:
...@@ -356,7 +359,7 @@ static BOOL ImportRegistryFile(HWND hWnd) ...@@ -356,7 +359,7 @@ static BOOL ImportRegistryFile(HWND hWnd)
} }
static BOOL ExportRegistryFile(HWND hWnd, BOOL export_branch) static BOOL ExportRegistryFile(HWND hWnd)
{ {
OPENFILENAMEW ofn; OPENFILENAMEW ofn;
WCHAR ExportKeyPath[_MAX_PATH]; WCHAR ExportKeyPath[_MAX_PATH];
...@@ -366,7 +369,6 @@ static BOOL ExportRegistryFile(HWND hWnd, BOOL export_branch) ...@@ -366,7 +369,6 @@ static BOOL ExportRegistryFile(HWND hWnd, BOOL export_branch)
InitOpenFileName(hWnd, &ofn); InitOpenFileName(hWnd, &ofn);
LoadStringW(hInst, IDS_FILEDIALOG_EXPORT_TITLE, title, COUNT_OF(title)); LoadStringW(hInst, IDS_FILEDIALOG_EXPORT_TITLE, title, COUNT_OF(title));
ofn.lpstrTitle = title; ofn.lpstrTitle = title;
ofn.lCustData = export_branch;
ofn.Flags = OFN_ENABLETEMPLATE | OFN_ENABLEHOOK | OFN_EXPLORER | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT; ofn.Flags = OFN_ENABLETEMPLATE | OFN_ENABLEHOOK | OFN_EXPLORER | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
ofn.lpfnHook = ExportRegistryFile_OFNHookProc; ofn.lpfnHook = ExportRegistryFile_OFNHookProc;
ofn.lpTemplateName = MAKEINTRESOURCEW(IDD_EXPORT_TEMPLATE); ofn.lpTemplateName = MAKEINTRESOURCEW(IDD_EXPORT_TEMPLATE);
...@@ -665,10 +667,8 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) ...@@ -665,10 +667,8 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
ImportRegistryFile(hWnd); ImportRegistryFile(hWnd);
break; break;
case ID_EDIT_EXPORT: case ID_EDIT_EXPORT:
ExportRegistryFile(hWnd, TRUE);
break;
case ID_REGISTRY_EXPORTREGISTRYFILE: case ID_REGISTRY_EXPORTREGISTRYFILE:
ExportRegistryFile(hWnd, FALSE); ExportRegistryFile(hWnd);
break; break;
case ID_REGISTRY_CONNECTNETWORKREGISTRY: case ID_REGISTRY_CONNECTNETWORKREGISTRY:
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment