diff options
author | Kate Hsuan <hpa@redhat.com> | 2022-11-28 11:45:03 +0800 |
---|---|---|
committer | Kate Hsuan <hpa@redhat.com> | 2022-12-01 19:13:48 +0800 |
commit | a826e6aec3a0b3e3e2dfcf82e900536b5ba15eb9 (patch) | |
tree | aee814345efa365416cf28efd04d8751d6d1ede7 /panels | |
parent | c0f51fe7f54ac459cea2183967cd5939c3210091 (diff) | |
download | gnome-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>
Diffstat (limited to 'panels')
-rw-r--r-- | panels/firmware-security/cc-firmware-security-dialog.c | 12 | ||||
-rw-r--r-- | panels/firmware-security/cc-firmware-security-panel.c | 26 |
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; |