summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKate Hsuan <hpa@redhat.com>2022-11-28 11:45:03 +0800
committerKate Hsuan <hpa@redhat.com>2022-12-01 19:13:48 +0800
commita826e6aec3a0b3e3e2dfcf82e900536b5ba15eb9 (patch)
treeaee814345efa365416cf28efd04d8751d6d1ede7
parentc0f51fe7f54ac459cea2183967cd5939c3210091 (diff)
downloadgnome-control-center-fix/kate/issue-2176.tar.gz
panels: firmware-security: Fix displaying incorrect HSI valuefix/kate/issue-2176
The fixes include panel and security dialog. The scale of HSI was changed from 0-3 to 0-5. The corresponding panel and security dialog showed the correct HSI number greater than 3. Fix: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2176 Signed-off-by: Kate Hsuan <hpa@redhat.com>
-rw-r--r--panels/firmware-security/cc-firmware-security-dialog.c12
-rw-r--r--panels/firmware-security/cc-firmware-security-panel.c26
2 files changed, 25 insertions, 13 deletions
diff --git a/panels/firmware-security/cc-firmware-security-dialog.c b/panels/firmware-security/cc-firmware-security-dialog.c
index 2109aa5a5..30b13a713 100644
--- a/panels/firmware-security/cc-firmware-security-dialog.c
+++ b/panels/firmware-security/cc-firmware-security-dialog.c
@@ -128,6 +128,7 @@ set_dialog_item_layer1 (CcFirmwareSecurityDialog *self,
break;
case 3:
case 4:
+ case 5:
gtk_widget_add_css_class (self->dialog_hsi_circle_box, "level3");
gtk_widget_add_css_class (self->dialog_hsi_circle_number, "hsi3");
break;
@@ -141,6 +142,9 @@ set_dialog_item_layer1 (CcFirmwareSecurityDialog *self,
static void
update_dialog (CcFirmwareSecurityDialog *self)
{
+ g_autofree gchar *hsi_str = NULL;
+ g_autofree gchar *hsi_title = NULL;
+
switch (self->hsi_number)
{
case 0:
@@ -171,9 +175,13 @@ update_dialog (CcFirmwareSecurityDialog *self)
case 3:
case 4:
+ case 5:
+ hsi_str = g_strdup_printf ("%d", self->hsi_number);
+ /* TRANSLATOR: the HSI status title should look like for example: "Security Level 3" */
+ hsi_title = g_strdup_printf ( _("%1$s %2$d"), _("Security Level"), self->hsi_number);
set_dialog_item_layer1 (self,
- "3",
- _("Security Level 3"),
+ hsi_str,
+ hsi_title,
_("This device has extended protection against hardware security issues. This "
"is the highest device security level and provides protection against "
"advanced security threats."));
diff --git a/panels/firmware-security/cc-firmware-security-panel.c b/panels/firmware-security/cc-firmware-security-panel.c
index d48e7abc1..4d4ad6531 100644
--- a/panels/firmware-security/cc-firmware-security-panel.c
+++ b/panels/firmware-security/cc-firmware-security-panel.c
@@ -439,35 +439,37 @@ set_hsi_button_view_contain (CcfirmwareSecurityPanel *self,
gchar *title,
const gchar *description)
{
+ g_autofree gchar *hsi_str = NULL;
+
+ hsi_str = g_strdup_printf ("%d", hsi_number);
switch (hsi_number)
{
case 0:
- gtk_label_set_label (GTK_LABEL (self->hsi_circle_number), "0");
gtk_widget_add_css_class (self->hsi_circle_box, "level0");
gtk_widget_add_css_class (self->hsi_circle_number, "hsi0");
break;
case 1:
- gtk_label_set_label (GTK_LABEL (self->hsi_circle_number), "1");
gtk_widget_add_css_class (self->hsi_circle_box, "level1");
gtk_widget_add_css_class (self->hsi_circle_number, "hsi1");
break;
case 2:
- gtk_label_set_label (GTK_LABEL (self->hsi_circle_number), "2");
gtk_widget_add_css_class (self->hsi_circle_box, "level2");
gtk_widget_add_css_class (self->hsi_circle_number, "hsi2");
break;
case 3:
case 4:
- gtk_label_set_label (GTK_LABEL (self->hsi_circle_number), "3");
+ case 5:
gtk_widget_add_css_class (self->hsi_circle_box, "level3");
gtk_widget_add_css_class (self->hsi_circle_number, "hsi3");
break;
default:
- gtk_label_set_label (GTK_LABEL (self->hsi_circle_number), "?");
+ g_free (hsi_str);
+ hsi_str = g_strdup_printf ("?");
gtk_widget_add_css_class (self->hsi_circle_box, "level1");
gtk_widget_add_css_class (self->hsi_circle_number, "hsi1");
break;
}
+ gtk_label_set_label (GTK_LABEL (self->hsi_circle_number), hsi_str);
gtk_label_set_text (GTK_LABEL (self->hsi_label), title);
gtk_label_set_text (GTK_LABEL (self->hsi_description), description);
@@ -488,29 +490,31 @@ set_hsi_button_view (CcfirmwareSecurityPanel *self)
case 1:
set_hsi_button_view_contain (self,
self->hsi_number,
- /* TRANSLATORS: in reference to firmware protection: 1/4 stars */
+ /* TRANSLATORS: in reference to firmware protection: 1/5 stars */
_("Security Level 1"),
_("Limited protection against simple security threats."));
break;
case 2:
set_hsi_button_view_contain (self,
self->hsi_number,
- /* TRANSLATORS: in reference to firmware protection: 2/4 stars */
+ /* TRANSLATORS: in reference to firmware protection: 2/5 stars */
_("Security Level 2"),
_("Protected against common security threats."));
break;
case 3:
set_hsi_button_view_contain (self,
self->hsi_number,
- /* TRANSLATORS: in reference to firmware protection: 3/4 stars */
+ /* TRANSLATORS: in reference to firmware protection: 3/5 stars */
_("Security Level 3"),
_("Protected against a wide range of security threats."));
break;
case 4:
+ case 5:
set_hsi_button_view_contain (self,
- /* Based on current HSI definition, the max HSI value would be 3. */
- 3,
- /* TRANSLATORS: in reference to firmware protection: 4/4 stars */
+ /* The scale of HSI is 0-5. If it is greater than 3,
+ "comprehensive protection" is shown */
+ self->hsi_number,
+ /* TRANSLATORS: in reference to firmware protection: 4/5 and 5/5 stars */
_("Comprehensive Protection"),
_("Protected against a wide range of security threats."));
break;