From 1df57ba3e66ad72f6ac67008aa9a99d4648e0200 Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Sat, 22 Mar 2014 07:13:57 +0000 Subject: OvmfPkg: PlatformDxe: add save and discard buttons to the form The RouteConfig() function is also called now as expected. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek Reviewed-by: Jordan Justen git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15373 6f19259b-4bc3-4df7-8a09-765794883524 --- OvmfPkg/PlatformDxe/Platform.c | 22 ++++++++++++++++++++++ OvmfPkg/PlatformDxe/Platform.h | 3 +++ OvmfPkg/PlatformDxe/Platform.uni | Bin 2992 -> 3298 bytes OvmfPkg/PlatformDxe/PlatformForms.vfr | 13 +++++++++++++ 4 files changed, 38 insertions(+) (limited to 'OvmfPkg/PlatformDxe') diff --git a/OvmfPkg/PlatformDxe/Platform.c b/OvmfPkg/PlatformDxe/Platform.c index b69f2498b8..b95326e2b5 100644 --- a/OvmfPkg/PlatformDxe/Platform.c +++ b/OvmfPkg/PlatformDxe/Platform.c @@ -185,6 +185,8 @@ RouteConfig ( OUT EFI_STRING *Progress ) { + DEBUG ((EFI_D_VERBOSE, "%a: Configuration=\"%s\"\n", __FUNCTION__, + Configuration)); return EFI_SUCCESS; } @@ -201,6 +203,26 @@ Callback ( OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest ) { + DEBUG ((EFI_D_VERBOSE, "%a: Action=0x%Lx QuestionId=%d Type=%d\n", + __FUNCTION__, (UINT64) Action, QuestionId, Type)); + + if (Action != EFI_BROWSER_ACTION_CHANGED) { + return EFI_UNSUPPORTED; + } + + switch (QuestionId) { + case QUESTION_SAVE_EXIT: + *ActionRequest = EFI_BROWSER_ACTION_REQUEST_FORM_SUBMIT_EXIT; + break; + + case QUESTION_DISCARD_EXIT: + *ActionRequest = EFI_BROWSER_ACTION_REQUEST_FORM_DISCARD_EXIT; + break; + + default: + break; + } + return EFI_SUCCESS; } diff --git a/OvmfPkg/PlatformDxe/Platform.h b/OvmfPkg/PlatformDxe/Platform.h index 6ce67ff982..432eb5bc23 100644 --- a/OvmfPkg/PlatformDxe/Platform.h +++ b/OvmfPkg/PlatformDxe/Platform.h @@ -28,6 +28,9 @@ #define LABEL_RES_NEXT 1 #define QUESTION_RES_NEXT 2 +#define QUESTION_SAVE_EXIT 3 +#define QUESTION_DISCARD_EXIT 4 + // // This structure describes the form state. Its fields relate strictly to the // visual widgets on the form. diff --git a/OvmfPkg/PlatformDxe/Platform.uni b/OvmfPkg/PlatformDxe/Platform.uni index 6ce844a664..d8d5b0bb4d 100644 Binary files a/OvmfPkg/PlatformDxe/Platform.uni and b/OvmfPkg/PlatformDxe/Platform.uni differ diff --git a/OvmfPkg/PlatformDxe/PlatformForms.vfr b/OvmfPkg/PlatformDxe/PlatformForms.vfr index 61935c386b..a254572baf 100644 --- a/OvmfPkg/PlatformDxe/PlatformForms.vfr +++ b/OvmfPkg/PlatformDxe/PlatformForms.vfr @@ -56,6 +56,19 @@ formset // We'll dynamically generate a one-of-many selection at this label. // label LABEL_RES_NEXT; + + text + help = STRING_TOKEN(STR_SAVE_EXIT), + text = STRING_TOKEN(STR_SAVE_EXIT), + flags = INTERACTIVE, + key = QUESTION_SAVE_EXIT; + + text + help = STRING_TOKEN(STR_DISCARD_EXIT), + text = STRING_TOKEN(STR_DISCARD_EXIT), + flags = INTERACTIVE, + key = QUESTION_DISCARD_EXIT; + endform; endformset; -- cgit v1.2.3