diff --git a/reactos/subsys/system/regedit/En.rc b/reactos/subsys/system/regedit/En.rc index 28e68cd89c8..3d5d3dae186 100644 --- a/reactos/subsys/system/regedit/En.rc +++ b/reactos/subsys/system/regedit/En.rc @@ -135,9 +135,13 @@ BEGIN MENUITEM "&DWORD Value", ID_EDIT_NEW_DWORDVALUE END MENUITEM "&Find", ID_EDIT_FIND, GRAYED + MENUITEM SEPARATOR MENUITEM "&Delete", ID_TREE_DELETE MENUITEM "&Rename", ID_TREE_RENAME MENUITEM SEPARATOR + MENUITEM "&Export", ID_TREE_EXPORT + MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED + MENUITEM SEPARATOR MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME END END diff --git a/reactos/subsys/system/regedit/childwnd.c b/reactos/subsys/system/regedit/childwnd.c index 4c8bf6b776a..860ae1365d2 100644 --- a/reactos/subsys/system/regedit/childwnd.c +++ b/reactos/subsys/system/regedit/childwnd.c @@ -145,6 +145,9 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) RefreshTreeItem(pChildWnd->hTreeWnd, hSelection); /* If delete failed; refresh to see partial results */ } break; + case ID_TREE_EXPORT: + ExportRegistryFile(pChildWnd->hTreeWnd); + break; case ID_EDIT_COPYKEYNAME: hSelection = TreeView_GetSelection(pChildWnd->hTreeWnd); keyPath = GetItemPath(pChildWnd->hTreeWnd, hSelection, &hRootKey); diff --git a/reactos/subsys/system/regedit/framewnd.c b/reactos/subsys/system/regedit/framewnd.c index 501cdbf5d64..74cade899db 100644 --- a/reactos/subsys/system/regedit/framewnd.c +++ b/reactos/subsys/system/regedit/framewnd.c @@ -344,7 +344,7 @@ static UINT_PTR CALLBACK ExportRegistryFile_OFNHookProc(HWND hdlg, UINT uiMsg, W return iResult; } -static BOOL ExportRegistryFile(HWND hWnd) +BOOL ExportRegistryFile(HWND hWnd) { OPENFILENAME ofn; TCHAR ExportKeyPath[_MAX_PATH]; diff --git a/reactos/subsys/system/regedit/main.h b/reactos/subsys/system/regedit/main.h index cad90412ebb..e6df05030f9 100644 --- a/reactos/subsys/system/regedit/main.h +++ b/reactos/subsys/system/regedit/main.h @@ -90,6 +90,7 @@ extern LRESULT CALLBACK FrameWndProc(HWND, UINT, WPARAM, LPARAM); extern void SetupStatusBar(HWND hWnd, BOOL bResize); extern void UpdateStatusBar(void); extern BOOL CopyKeyName(HWND hWnd, HKEY hRootKey, LPCTSTR keyName); +extern BOOL ExportRegistryFile(HWND hWnd); /* listview.c */ extern HWND CreateListView(HWND hwndParent, int id); diff --git a/reactos/subsys/system/regedit/resource.h b/reactos/subsys/system/regedit/resource.h index cd44a30c4c3..02a5ab9b546 100644 --- a/reactos/subsys/system/regedit/resource.h +++ b/reactos/subsys/system/regedit/resource.h @@ -135,6 +135,8 @@ #define IDS_QUERY_DELETE_KEY_CONFIRM 32877 #define ID_TREE_SUGGESTION_MIN 32878 #define ID_TREE_SUGGESTION_MAX 32887 +#define ID_TREE_EXPORT 32888 +#define ID_TREE_PERMISSIONS 32889 #define IDS_FLT_REGFILES 31001 #define IDS_FLT_REGFILES_FLT 31002