summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorli-elvin <li-elvin@6f19259b-4bc3-4df7-8a09-765794883524>2010-02-23 09:40:43 +0000
committerli-elvin <li-elvin@6f19259b-4bc3-4df7-8a09-765794883524>2010-02-23 09:40:43 +0000
commit479e19a6d5670cfbb4406ffa00f5f094a18fd03c (patch)
treec2408968fed832be17730240739a3661d54d9965
parent28b5f7c06238b25732bf6f0c72c3d42b94abee66 (diff)
downloadedk2-479e19a6d5670cfbb4406ffa00f5f094a18fd03c.zip
edk2-479e19a6d5670cfbb4406ffa00f5f094a18fd03c.tar.gz
edk2-479e19a6d5670cfbb4406ffa00f5f094a18fd03c.tar.bz2
Driver health entry in device manager page is not totally hidden, the original code just change string to empty string, if cursor is at empty string, there is no focus at all.
Dynamically create subtitle and action entry of driver health when driver health protocol is installed. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10047 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c21
-rw-r--r--IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManagerVfr.Vfr12
2 files changed, 17 insertions, 16 deletions
diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c b/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c
index 9e4fff6..b545b6c 100644
--- a/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c
+++ b/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c
@@ -464,13 +464,24 @@ CallDeviceManager (
&NumHandles,
&DriverHealthHandles
);
+
//
- // If there are no drivers installed driver health protocol
+ // If there are no drivers installed driver health protocol, do not create driver health entry in UI
//
- if (NumHandles == 0) {
- HiiSetString (HiiHandle, STRING_TOKEN (STR_DM_DRIVER_HEALTH_TITLE), GetStringById (STRING_TOKEN (STR_EMPTY_STRING)), NULL);
- HiiSetString (HiiHandle, STRING_TOKEN (STR_DRIVER_HEALTH_ALL_HEALTHY), GetStringById (STRING_TOKEN (STR_EMPTY_STRING)), NULL);
- } else {
+ if (NumHandles != 0) {
+ //
+ // If driver health protocol is installed, create Driver Health subtitle and entry
+ //
+ HiiCreateSubTitleOpCode (StartOpCodeHandle, STRING_TOKEN (STR_DM_DRIVER_HEALTH_TITLE), 0, 0, 0);
+ HiiCreateActionOpCode (
+ StartOpCodeHandle, // Container for dynamic created opcodes
+ DEVICE_MANAGER_KEY_DRIVER_HEALTH, // Question ID
+ STRING_TOKEN(STR_DRIVER_HEALTH_ALL_HEALTHY), // Prompt text
+ STRING_TOKEN(STR_DRIVER_HEALTH_STATUS_HELP), // Help text
+ EFI_IFR_FLAG_CALLBACK, // Question flag
+ 0 // Action String ID
+ );
+
//
// Check All Driver health status
//
diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManagerVfr.Vfr b/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManagerVfr.Vfr
index c08ad26..41a25e4 100644
--- a/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManagerVfr.Vfr
+++ b/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManagerVfr.Vfr
@@ -2,7 +2,7 @@
//
// Device Manager formset.
//
-// Copyright (c) 2004 - 2009, Intel Corporation. <BR>
+// Copyright (c) 2004 - 2010, Intel Corporation. <BR>
// All rights reserved. This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at
@@ -66,16 +66,6 @@ formset
label LABEL_DEVICES_LIST;
label LABEL_END;
-
- subtitle text = STRING_TOKEN(STR_LAST_STRING);
- subtitle text = STRING_TOKEN(STR_DM_DRIVER_HEALTH_TITLE);
-
- text
- help = STRING_TOKEN(STR_DRIVER_HEALTH_STATUS_HELP),
- text = STRING_TOKEN(STR_DRIVER_HEALTH_ALL_HEALTHY),
- text = STRING_TOKEN(STR_LAST_STRING),
- flags = INTERACTIVE,
- key = DEVICE_MANAGER_KEY_DRIVER_HEALTH;
subtitle text = STRING_TOKEN(STR_EMPTY_STRING);