CHAR8 *gLanguageString;\r
EFI_STRING_ID *gLanguageToken;\r
UI_HII_DRIVER_INSTANCE *gHiiDriverList;\r
-EFI_HII_HANDLE gHiiHandle;\r
+extern EFI_HII_HANDLE gStringPackHandle;\r
+UINT8 gCurrentLanguageIndex;\r
\r
\r
/**\r
GetNextLanguage (&LangCode, Lang);\r
\r
if (Index == Value->u8) {\r
+ gCurrentLanguageIndex = Value->u8;\r
break;\r
}\r
\r
return FALSE;\r
}\r
\r
+ if (Action == EFI_BROWSER_ACTION_RETRIEVE) {\r
+ if (QuestionId == FRONT_PAGE_KEY_LANGUAGE) {\r
+ Value->u8 = gCurrentLanguageIndex;\r
+ *Status = EFI_SUCCESS;\r
+ } else {\r
+ *Status = EFI_UNSUPPORTED;\r
+ }\r
+ return TRUE;\r
+ }\r
+\r
if (Action != EFI_BROWSER_ACTION_CHANGED) {\r
//\r
// Do nothing for other UEFI Action. Only do call back when data is changed.\r
Create Select language menu in the front page with oneof opcode.\r
\r
@param[in] HiiHandle The hii handle for the Uiapp driver.\r
- @param[in] QuestionId Question ID\r
@param[in] StartOpCodeHandle The opcode handle to save the new opcode.\r
\r
- @retval EFI_SUCCESS Search the driver success\r
-\r
**/\r
VOID\r
UiCreateLanguageMenu (\r
EFI_IFR_NUMERIC_SIZE_1,\r
(UINT8) OptionCount\r
);\r
+ gCurrentLanguageIndex = (UINT8) OptionCount;\r
} else {\r
HiiCreateOneOfOptionOpCode (\r
OptionsOpCodeHandle,\r
\r
@param HiiHandle The hii handle for the Uiapp driver.\r
@param ClassGuid The class guid for the driver which is the target.\r
+ @param SpecialHandlerFn The pointer to the specail handler function, if any.\r
@param StartOpCodeHandle The opcode handle to save the new opcode.\r
- @param SpecialHandler The pointer to the specail handler function, if any.\r
\r
@retval EFI_SUCCESS Search the driver success\r
\r
\r
String = HiiGetString (HiiHandles[Index], Token, NULL);\r
if (String == NULL) {\r
- String = HiiGetString (gHiiHandle, STRING_TOKEN (STR_MISSING_STRING), NULL);\r
+ String = HiiGetString (gStringPackHandle, STRING_TOKEN (STR_MISSING_STRING), NULL);\r
ASSERT (String != NULL);\r
} else if (SpecialHandlerFn != NULL) {\r
//\r
\r
String = HiiGetString (HiiHandles[Index], TokenHelp, NULL);\r
if (String == NULL) {\r
- String = HiiGetString (gHiiHandle, STRING_TOKEN (STR_MISSING_STRING), NULL);\r
+ String = HiiGetString (gStringPackHandle, STRING_TOKEN (STR_MISSING_STRING), NULL);\r
ASSERT (String != NULL);\r
}\r
DriverListPtr[Count].HelpId = HiiSetString (HiiHandle, 0, String, NULL);\r