]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/SetupBrowserDxe/Setup.c
Update sample code for date/time.
[mirror_edk2.git] / MdeModulePkg / Universal / SetupBrowserDxe / Setup.c
index c4dd18a04fd664e4320d71ffabad670625763088..6dcb4aa77e515a69bfae52c8c995a2c9bba53794 100644 (file)
@@ -46,7 +46,7 @@ UINTN           gBrowserContextCount = 0;
 LIST_ENTRY      gBrowserContextList = INITIALIZE_LIST_HEAD_VARIABLE (gBrowserContextList);\r
 LIST_ENTRY      gBrowserFormSetList = INITIALIZE_LIST_HEAD_VARIABLE (gBrowserFormSetList);\r
 LIST_ENTRY      gBrowserHotKeyList  = INITIALIZE_LIST_HEAD_VARIABLE (gBrowserHotKeyList);\r
-LIST_ENTRY      gBrowserStorageList  = INITIALIZE_LIST_HEAD_VARIABLE (gBrowserStorageList);\r
+LIST_ENTRY      gBrowserStorageList = INITIALIZE_LIST_HEAD_VARIABLE (gBrowserStorageList);\r
 \r
 BOOLEAN               gResetRequired;\r
 BOOLEAN               gExitRequired;\r
@@ -58,17 +58,15 @@ EXIT_HANDLER          ExitHandlerFunction = NULL;
 // Browser Global Strings\r
 //\r
 CHAR16            *gEmptyString;\r
-\r
 CHAR16            *mUnknownString = L"!";\r
 \r
 EFI_GUID  gZeroGuid = {0, 0, 0, {0, 0, 0, 0, 0, 0, 0, 0}};\r
-EFI_GUID  gSetupBrowserGuid = {\r
-  0xab368524, 0xb60c, 0x495b, {0xa0, 0x9, 0x12, 0xe8, 0x5b, 0x1a, 0xea, 0x32}\r
-};\r
 \r
-FORM_BROWSER_FORMSET  *gOldFormSet = NULL;\r
-extern UINT32   gBrowserStatus;\r
-extern CHAR16   *gErrorInfo;\r
+extern UINT32          gBrowserStatus;\r
+extern CHAR16          *gErrorInfo;\r
+extern EFI_GUID        mCurrentFormSetGuid;\r
+extern EFI_HII_HANDLE  mCurrentHiiHandle;\r
+extern UINT16          mCurrentFormId;\r
 extern FORM_DISPLAY_ENGINE_FORM gDisplayFormData;\r
 \r
 /**\r
@@ -1256,13 +1254,6 @@ GetQuestionValue (
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
-  //\r
-  // Statement don't have storage, skip them\r
-  //\r
-  if (Question->QuestionId == 0) {\r
-    return Status;\r
-  }\r
-\r
   //\r
   // Question value is provided by an Expression, evaluate it\r
   //\r
@@ -1678,13 +1669,6 @@ SetQuestionValue (
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
-  //\r
-  // Statement don't have storage, skip them\r
-  //\r
-  if (Question->QuestionId == 0) {\r
-    return Status;\r
-  }\r
-\r
   //\r
   // If Question value is provided by an Expression, then it is read only\r
   //\r
@@ -4612,11 +4596,6 @@ SaveBrowserContext (
     return;\r
   }\r
 \r
-  //\r
-  // Not support SendForm nest in another SendForm, assert here.\r
-  //\r
-  ASSERT (FALSE);\r
-\r
   Context = AllocatePool (sizeof (BROWSER_CONTEXT));\r
   ASSERT (Context != NULL);\r
 \r
@@ -4625,9 +4604,12 @@ SaveBrowserContext (
   //\r
   // Save FormBrowser context\r
   //\r
+  Context->Selection            = gCurrentSelection;\r
   Context->ResetRequired        = gResetRequired;\r
   Context->ExitRequired         = gExitRequired;\r
   Context->HiiHandle            = mCurrentHiiHandle;\r
+  Context->FormId               = mCurrentFormId;\r
+  CopyGuid (&Context->FormSetGuid, &mCurrentFormSetGuid);\r
 \r
   //\r
   // Save the menu history data.\r
@@ -4677,9 +4659,12 @@ RestoreBrowserContext (
   //\r
   // Restore FormBrowser context\r
   //\r
+  gCurrentSelection     = Context->Selection;\r
   gResetRequired        = Context->ResetRequired;\r
   gExitRequired         = Context->ExitRequired;\r
   mCurrentHiiHandle     = Context->HiiHandle;\r
+  mCurrentFormId        = Context->FormId;\r
+  CopyGuid (&mCurrentFormSetGuid, &Context->FormSetGuid);\r
 \r
   //\r
   // Restore the menu history data.\r