diff options
author | Laszlo Ersek <lersek@redhat.com> | 2014-03-22 07:13:57 +0000 |
---|---|---|
committer | jljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524> | 2014-03-22 07:13:57 +0000 |
commit | 1df57ba3e66ad72f6ac67008aa9a99d4648e0200 (patch) | |
tree | 0c5c1a202018dd9f7a8ea2808744ed92d47b18e3 /OvmfPkg/PlatformDxe | |
parent | da07afaf5995e2e9c5c87c6389493fa892317dd0 (diff) | |
download | edk2-platforms-1df57ba3e66ad72f6ac67008aa9a99d4648e0200.tar.xz |
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 <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15373 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'OvmfPkg/PlatformDxe')
-rw-r--r-- | OvmfPkg/PlatformDxe/Platform.c | 22 | ||||
-rw-r--r-- | OvmfPkg/PlatformDxe/Platform.h | 3 | ||||
-rw-r--r-- | OvmfPkg/PlatformDxe/Platform.uni | bin | 2992 -> 3298 bytes | |||
-rw-r--r-- | OvmfPkg/PlatformDxe/PlatformForms.vfr | 13 |
4 files changed, 38 insertions, 0 deletions
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 Binary files differindex 6ce844a664..d8d5b0bb4d 100644 --- a/OvmfPkg/PlatformDxe/Platform.uni +++ b/OvmfPkg/PlatformDxe/Platform.uni 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;
|