extern HEFI_EDITOR_BUFFER_IMAGE HBufferImage;\r
extern HEFI_EDITOR_BUFFER_IMAGE HBufferImageBackupVar;\r
\r
-extern HEFI_EDITOR_CLIPBOARD HClipBoard;\r
-\r
extern BOOLEAN HBufferImageMouseNeedRefresh;\r
extern BOOLEAN HBufferImageNeedRefresh;\r
extern BOOLEAN HBufferImageOnlyLineNeedRefresh;\r
//\r
HEFI_EDITOR_GLOBAL_EDITOR HMainEditorConst = {\r
&HBufferImage,\r
- &HClipBoard,\r
{\r
0,\r
0\r
1\r
};\r
\r
+/**\r
+ Help info that will be displayed.\r
+**/\r
+EFI_STRING_ID HexMainMenuHelpInfo[] = {\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_TITLE),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_BLANK),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_LIST_TITLE),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_DIV),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_GO_TO_OFFSET),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_SAVE_BUFFER),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_EXIT),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_SELECT_START),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_SELECT_END),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_CUT),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_PASTE),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_OPEN_FILE),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_OPEN_DISK),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_OPEN_MEMORY),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_BLANK),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_EXIT_HELP),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_BLANK),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_BLANK),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_BLANK),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_BLANK),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_BLANK),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_BLANK),\r
+ STRING_TOKEN(STR_HEXEDIT_HELP_DIV),\r
+ 0\r
+};\r
+\r
+\r
+/**\r
+ show help menu.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+**/\r
EFI_STATUS\r
-HMainCommandGoToOffset (\r
+HMainCommandDisplayHelp (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- move cursor to specified lines\r
+{\r
+ INT32 CurrentLine;\r
+ CHAR16 * InfoString;\r
+ EFI_INPUT_KEY Key;\r
\r
-Arguments: \r
+ CurrentLine = 0;\r
+ // print helpInfo \r
+ for (CurrentLine = 0; 0 != HexMainMenuHelpInfo[CurrentLine]; CurrentLine++) {\r
+ InfoString = HiiGetString(gShellDebug1HiiHandle, HexMainMenuHelpInfo[CurrentLine]\r
+, NULL);\r
+ ShellPrintEx (0,CurrentLine+1,L"%E%s%N",InfoString); \r
+ }\r
+ \r
+ // scan for ctrl+w\r
+ do {\r
+ gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);\r
+ } while(SCAN_CONTROL_W != Key.UnicodeChar); \r
\r
- None\r
+ // update screen with buffer's info\r
+ HBufferImageNeedRefresh = TRUE;\r
+ HBufferImageOnlyLineNeedRefresh = FALSE;\r
+ HBufferImageRefresh ();\r
\r
-Returns: \r
+ return EFI_SUCCESS;\r
+}\r
\r
- EFI_SUCCESS\r
+/**\r
+ Move cursor to specified lines.\r
\r
---*/\r
+ @retval EFI_SUCCESS The operation was successful.\r
+**/\r
+EFI_STATUS\r
+HMainCommandGoToOffset (\r
+ VOID\r
+ )\r
{\r
UINTN Size;\r
UINT64 Offset;\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Save current opened buffer.\r
+ If is file buffer, you can save to current file name or \r
+ save to another file name.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+ @retval EFI_OUT_OF_RESOURCES A memory allocation occured.\r
+ @retval EFI_LOAD_ERROR A load error occured.\r
+**/\r
EFI_STATUS\r
HMainCommandSaveBuffer (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- save current opened buffer . \r
- if is file buffer, you can save to current file name or \r
- save to another file name\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
- EFI_OUT_OF_RESOURCES\r
- EFI_LOAD_ERROR\r
-\r
---*/\r
{\r
EFI_STATUS Status;\r
BOOLEAN Done;\r
SHELL_FILE_HANDLE ShellFileHandle;\r
\r
if (HMainEditor.BufferImage->BufferType != FileTypeFileBuffer) {\r
- if (HMainEditor.BufferImage->Modified == FALSE) {\r
+ if (!HMainEditor.BufferImage->Modified) {\r
return EFI_SUCCESS;\r
}\r
\r
//\r
// if the file is read only, so can not write back to it.\r
//\r
- if (HMainEditor.BufferImage->FileImage->ReadOnly == TRUE) {\r
+ if (HMainEditor.BufferImage->FileImage->ReadOnly) {\r
StatusBarSetStatusString (L"Access Denied");\r
SHELL_FREE_NON_NULL (FileName);\r
return EFI_SUCCESS;\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Load a disk buffer editor.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+ @retval EFI_OUT_OF_RESOURCES A memory allocation occured.\r
+ @retval EFI_LOAD_ERROR A load error occured.\r
+**/\r
EFI_STATUS\r
HMainCommandSelectStart (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Load a disk buffer editor\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
- EFI_LOAD_ERROR\r
- EFI_OUT_OF_RESOURCES\r
-\r
---*/\r
{\r
UINTN Start;\r
\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Load a disk buffer editor.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+ @retval EFI_OUT_OF_RESOURCES A memory allocation occured.\r
+ @retval EFI_LOAD_ERROR A load error occured.\r
+**/\r
EFI_STATUS\r
HMainCommandSelectEnd (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Load a disk buffer editor\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
- EFI_LOAD_ERROR\r
- EFI_OUT_OF_RESOURCES\r
-\r
---*/\r
{\r
UINTN End;\r
\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Cut current line to clipboard.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+ @retval EFI_OUT_OF_RESOURCES A memory allocation occured.\r
+ @retval EFI_LOAD_ERROR A load error occured.\r
+**/\r
EFI_STATUS\r
HMainCommandCut (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- cut current line to clipboard\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
- EFI_OUT_OF_RESOURCES\r
- EFI_LOAD_ERROR\r
-\r
---*/\r
{\r
UINTN Index;\r
HEFI_EDITOR_LINE *Line;\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Paste line to file buffer.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+ @retval EFI_OUT_OF_RESOURCES A memory allocation occured.\r
+ @retval EFI_LOAD_ERROR A load error occured.\r
+**/\r
EFI_STATUS\r
HMainCommandPaste (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- paste line to file buffer\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
- EFI_OUT_OF_RESOURCES\r
- EFI_LOAD_ERROR\r
-\r
-\r
---*/\r
{\r
\r
BOOLEAN OnlyLineRefresh;\r
\r
}\r
\r
+/**\r
+ Exit editor.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+ @retval EFI_OUT_OF_RESOURCES A memory allocation occured.\r
+ @retval EFI_LOAD_ERROR A load error occured.\r
+**/\r
EFI_STATUS\r
HMainCommandExit (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- exit editor\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
- EFI_OUT_OF_RESOURCES\r
- EFI_LOAD_ERROR\r
-\r
---*/\r
{\r
EFI_STATUS Status;\r
\r
\r
}\r
\r
+/**\r
+ Load a file from disk to editor.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+ @retval EFI_OUT_OF_RESOURCES A memory allocation occured.\r
+ @retval EFI_LOAD_ERROR A load error occured.\r
+**/\r
EFI_STATUS\r
HMainCommandOpenFile (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Load a file from disk to editor\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
- EFI_LOAD_ERROR\r
- EFI_OUT_OF_RESOURCES\r
-\r
---*/\r
{\r
BOOLEAN Done;\r
EFI_STATUS Status;\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Load a disk buffer editor.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+ @retval EFI_OUT_OF_RESOURCES A memory allocation occured.\r
+ @retval EFI_LOAD_ERROR A load error occured.\r
+ @retval EFI_NOT_FOUND The disk was not found.\r
+**/\r
EFI_STATUS\r
HMainCommandOpenDisk (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Load a disk buffer editor\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
- EFI_LOAD_ERROR\r
- EFI_OUT_OF_RESOURCES\r
- EFI_NOT_FOUND\r
-\r
---*/\r
{\r
UINT64 Size;\r
UINT64 Offset;\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Load memory content to editor\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+ @retval EFI_OUT_OF_RESOURCES A memory allocation occured.\r
+ @retval EFI_LOAD_ERROR A load error occured.\r
+ @retval EFI_NOT_FOUND The disk was not found.\r
+**/\r
EFI_STATUS\r
HMainCommandOpenMemory (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Load memory content to editor\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
- EFI_LOAD_ERROR\r
- EFI_OUT_OF_RESOURCES\r
- EFI_NOT_FOUND\r
-\r
---*/\r
{\r
UINT64 Size;\r
UINT64 Offset;\r
\r
}\r
\r
+MENU_ITEM_FUNCTION HexMainControlBasedMenuFunctions[] = {\r
+ NULL,\r
+ NULL, /* Ctrl - A */\r
+ NULL, /* Ctrl - B */\r
+ NULL, /* Ctrl - C */\r
+ HMainCommandSelectEnd, /* Ctrl - D */\r
+ HMainCommandDisplayHelp, /* Ctrl - E */\r
+ NULL, /* Ctrl - F */\r
+ HMainCommandGoToOffset, /* Ctrl - G */\r
+ NULL, /* Ctrl - H */\r
+ HMainCommandOpenDisk, /* Ctrl - I */\r
+ NULL, /* Ctrl - J */\r
+ NULL, /* Ctrl - K */\r
+ NULL, /* Ctrl - L */\r
+ HMainCommandOpenMemory, /* Ctrl - M */\r
+ NULL, /* Ctrl - N */\r
+ HMainCommandOpenFile, /* Ctrl - O */\r
+ NULL, /* Ctrl - P */\r
+ HMainCommandExit, /* Ctrl - Q */\r
+ NULL, /* Ctrl - R */\r
+ HMainCommandSaveBuffer, /* Ctrl - S */\r
+ HMainCommandSelectStart, /* Ctrl - T */\r
+ NULL, /* Ctrl - U */\r
+ HMainCommandPaste, /* Ctrl - V */\r
+ NULL, /* Ctrl - W */\r
+ HMainCommandCut, /* Ctrl - X */\r
+ NULL, /* Ctrl - Y */\r
+ NULL, /* Ctrl - Z */\r
+};\r
+\r
CONST EDITOR_MENU_ITEM HexEditorMenuItems[] = {\r
{\r
STRING_TOKEN(STR_HEXEDIT_LIBMENUBAR_GO_TO_OFFSET),\r
}\r
};\r
\r
+/**\r
+ Init function for MainEditor\r
\r
+ @retval EFI_SUCCESS The operation was successful.\r
+ @retval EFI_LOAD_ERROR A load error occured.\r
+**/\r
EFI_STATUS\r
HMainEditorInit (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Init function for MainEditor\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
- EFI_LOAD_ERROR\r
-\r
---*/\r
{\r
EFI_STATUS Status;\r
EFI_HANDLE *HandleBuffer;\r
return EFI_LOAD_ERROR;\r
}\r
\r
+ Status = ControlHotKeyInit (HexMainControlBasedMenuFunctions);\r
+ if (EFI_ERROR (Status)) {\r
+ ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_MAINEDITOR_MAINMENU), gShellDebug1HiiHandle);\r
+ return EFI_LOAD_ERROR;\r
+ }\r
Status = MenuBarInit (HexEditorMenuItems);\r
if (EFI_ERROR (Status)) {\r
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_MAINEDITOR_MAINMENU), gShellDebug1HiiHandle);\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Cleanup function for MainEditor.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+ @retval EFI_LOAD_ERROR A load error occured.\r
+**/\r
EFI_STATUS\r
HMainEditorCleanup (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- cleanup function for MainEditor\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
- EFI_LOAD_ERROR\r
-\r
---*/\r
{\r
EFI_STATUS Status;\r
\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Refresh function for MainEditor.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+**/\r
EFI_STATUS\r
HMainEditorRefresh (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Refresh function for MainEditor\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
-\r
---*/\r
{\r
BOOLEAN NameChange;\r
BOOLEAN ReadChange;\r
NameChange = FALSE;\r
ReadChange = FALSE;\r
\r
- if ( HMainEditor.BufferImage->FileImage != NULL && \r
- HMainEditor.BufferImage->FileImage->FileName != NULL && \r
- HBufferImageBackupVar.FileImage != NULL && \r
- HBufferImageBackupVar.FileImage->FileName != NULL && \r
- StrCmp (HMainEditor.BufferImage->FileImage->FileName, HBufferImageBackupVar.FileImage->FileName) != 0 ) {\r
- NameChange = TRUE;\r
+ if (HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer) {\r
+ if (HMainEditor.BufferImage->DiskImage != NULL &&\r
+ HBufferImageBackupVar.DiskImage != NULL &&\r
+ (HMainEditor.BufferImage->DiskImage->Offset != HBufferImageBackupVar.DiskImage->Offset || \r
+ HMainEditor.BufferImage->DiskImage->Size != HBufferImageBackupVar.DiskImage->Size) ){\r
+ NameChange = TRUE;\r
+ }\r
+ } else if (HMainEditor.BufferImage->BufferType == FileTypeMemBuffer) {\r
+ if (HMainEditor.BufferImage->MemImage != NULL &&\r
+ HBufferImageBackupVar.MemImage != NULL &&\r
+ (HMainEditor.BufferImage->MemImage->Offset != HBufferImageBackupVar.MemImage->Offset || \r
+ HMainEditor.BufferImage->MemImage->Size != HBufferImageBackupVar.MemImage->Size) ){\r
+ NameChange = TRUE;\r
+ }\r
+ } else if (HMainEditor.BufferImage->BufferType == FileTypeFileBuffer) {\r
+ if ( HMainEditor.BufferImage->FileImage != NULL && \r
+ HMainEditor.BufferImage->FileImage->FileName != NULL && \r
+ HBufferImageBackupVar.FileImage != NULL && \r
+ HBufferImageBackupVar.FileImage->FileName != NULL && \r
+ StrCmp (HMainEditor.BufferImage->FileImage->FileName, HBufferImageBackupVar.FileImage->FileName) != 0 ) {\r
+ NameChange = TRUE;\r
+ }\r
}\r
if ( HMainEditor.BufferImage->FileImage != NULL && \r
HBufferImageBackupVar.FileImage != NULL && \r
HMainEditor.BufferImage->Modified,\r
HMainEditor.ScreenSize.Column,\r
HMainEditor.ScreenSize.Row,\r
- HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Offset:HMainEditor.BufferImage->BufferType == FileTypeMemBuffer?HMainEditor.BufferImage->MemImage->Offset:0,\r
- HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Size :HMainEditor.BufferImage->BufferType == FileTypeMemBuffer?HMainEditor.BufferImage->MemImage->Size :0\r
+ HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer&&HMainEditor.BufferImage->DiskImage!=NULL?HMainEditor.BufferImage->DiskImage->Offset:HMainEditor.BufferImage->BufferType == FileTypeMemBuffer&&HMainEditor.BufferImage->MemImage!=NULL?HMainEditor.BufferImage->MemImage->Offset:0,\r
+ HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer&&HMainEditor.BufferImage->DiskImage!=NULL?HMainEditor.BufferImage->DiskImage->Size :HMainEditor.BufferImage->BufferType == FileTypeMemBuffer&&HMainEditor.BufferImage->MemImage!=NULL?HMainEditor.BufferImage->MemImage->Size :0\r
);\r
HBufferImageRefresh ();\r
}\r
HEditorFirst,\r
HMainEditor.ScreenSize.Row,\r
HMainEditor.ScreenSize.Column,\r
- 0,\r
- 0,\r
- TRUE\r
+ (UINTN)(-1),\r
+ (UINTN)(-1),\r
+ FALSE\r
);\r
HBufferImageRefresh ();\r
}\r
\r
if (HEditorFirst) {\r
- MenuBarRefresh ( \r
- HMainEditor.ScreenSize.Row,\r
- HMainEditor.ScreenSize.Column);\r
HBufferImageRefresh ();\r
}\r
\r
return EFI_SUCCESS;\r
}\r
\r
-STATIC\r
+/**\r
+ Handle the mouse input.\r
+\r
+ @param[in] MouseState The current mouse state.\r
+ @param[out] BeforeLeftButtonDown helps with selections.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+ @retval EFI_OUT_OF_RESOURCES A memory allocation occured.\r
+ @retval EFI_LOAD_ERROR A load error occured.\r
+ @retval EFI_NOT_FOUND The disk was not found.\r
+**/\r
EFI_STATUS\r
HMainEditorHandleMouseInput (\r
IN EFI_SIMPLE_POINTER_STATE MouseState,\r
//\r
// release LButton\r
//\r
- if (*BeforeLeftButtonDown == TRUE) {\r
+ if (*BeforeLeftButtonDown) {\r
Action = TRUE;\r
}\r
//\r
return EFI_NOT_FOUND;\r
}\r
\r
+/**\r
+ Handle user key input. will route it to other components handle function.\r
+\r
+ @retval EFI_SUCCESS The operation was successful.\r
+ @retval EFI_OUT_OF_RESOURCES A memory allocation occured.\r
+ @retval EFI_LOAD_ERROR A load error occured.\r
+**/\r
EFI_STATUS\r
HMainEditorKeyInput (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description: \r
-\r
- Handle user key input. will route it to other components handle function\r
-\r
-Arguments: \r
-\r
- None\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS\r
- EFI_LOAD_ERROR\r
- EFI_OUT_OF_RESOURCES\r
-\r
---*/\r
{\r
EFI_INPUT_KEY Key;\r
EFI_STATUS Status;\r
Status = HMainEditorHandleMouseInput (MouseState, &MouseIsDown);\r
\r
if (!EFI_ERROR (Status)) {\r
- if (BeforeMouseIsDown == FALSE) {\r
+ if (!BeforeMouseIsDown) {\r
//\r
// mouse down\r
//\r
- if (MouseIsDown == TRUE) {\r
+ if (MouseIsDown) {\r
FRow = HBufferImage.BufferPosition.Row;\r
FCol = HBufferImage.BufferPosition.Column;\r
SelectStartBackup = HMainEditor.SelectStart;\r
//\r
// begin to drag\r
//\r
- if (MouseIsDown == TRUE) {\r
- if (FirstDown == TRUE) {\r
+ if (MouseIsDown) {\r
+ if (FirstDown) {\r
if (MouseState.RelativeMovementX || MouseState.RelativeMovementY) {\r
HMainEditor.SelectStart = 0;\r
HMainEditor.SelectEnd = 0;\r
// clear previous status string\r
//\r
StatusBarSetRefresh();\r
-\r
- if (Key.ScanCode == SCAN_NULL) {\r
+ if (EFI_SUCCESS == MenuBarDispatchControlHotKey(&Key)) {\r
+ Status = EFI_SUCCESS;\r
+ } else if (Key.ScanCode == SCAN_NULL) {\r
Status = HBufferImageHandleInput (&Key);\r
} else if (((Key.ScanCode >= SCAN_UP) && (Key.ScanCode <= SCAN_PAGE_DOWN))) {\r
Status = HBufferImageHandleInput (&Key);\r
case FileTypeMemBuffer:\r
OldSize = HBufferImage.MemImage->Size;\r
break;\r
+ \r
+ default:\r
+ OldSize = 0;\r
+ break;\r
}\r
\r
- if (LengthChange == FALSE) {\r
+ if (!LengthChange) {\r
if (OldSize != Size) {\r
StatusBarSetStatusString (L"Disk/Mem Buffer Length should not be changed");\r
}\r