[gnome-control-center/wip/new-design: 3/7] third
- From: Kate Hsuan <khsuan src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/wip/new-design: 3/7] third
- Date: Mon, 1 Aug 2022 08:52:49 +0000 (UTC)
commit e8c3bff6da54f010c61d476db2b87023868218f3
Author: Kate Hsuan <hpa redhat com>
Date: Thu Jul 28 16:50:56 2022 +0800
third
.../cc-firmware-security-dialog.c | 144 ++++++++++++++-------
.../cc-firmware-security-dialog.ui | 33 ++---
.../firmware-security/cc-firmware-security-panel.c | 70 +++++++---
.../cc-firmware-security-panel.ui | 19 +--
panels/firmware-security/security-level.css | 26 +++-
5 files changed, 188 insertions(+), 104 deletions(-)
---
diff --git a/panels/firmware-security/cc-firmware-security-dialog.c
b/panels/firmware-security/cc-firmware-security-dialog.c
index 0ca209b3d..726427f80 100644
--- a/panels/firmware-security/cc-firmware-security-dialog.c
+++ b/panels/firmware-security/cc-firmware-security-dialog.c
@@ -32,7 +32,16 @@ struct _CcFirmwareSecurityDialog
{
AdwWindow parent;
- GtkWidget *firmware_security_dialog_icon;
+ GtkWidget *dialog_hsi_circle_box;
+ GtkWidget *dialog_hsi_circle_number;
+
+ GtkWidget *hsi1_icon;
+ GtkWidget *hsi2_icon;
+ GtkWidget *hsi3_icon;
+ GtkWidget *hsi1_title;
+ GtkWidget *hsi2_title;
+ GtkWidget *hsi3_title;
+
GtkWidget *firmware_security_dialog_title_label;
GtkWidget *firmware_security_dialog_body_label;
GtkWidget *firmware_security_dialog_min_row;
@@ -59,8 +68,7 @@ G_DEFINE_TYPE (CcFirmwareSecurityDialog, cc_firmware_security_dialog, ADW_TYPE_W
static void
set_dialog_item_layer1 (CcFirmwareSecurityDialog *self,
- const gchar *icon_name,
- const gchar *style,
+ const int hsi_number,
const gchar *title,
const gchar *body)
{
@@ -68,8 +76,78 @@ set_dialog_item_layer1 (CcFirmwareSecurityDialog *self,
/* TRANSLATORS: HSI stands for Host Security ID and device refers to the computer as a whole */
str = g_strdup_printf (_("Device conforms to HSI level %d"), self->hsi_number);
- gtk_image_set_from_icon_name (GTK_IMAGE (self->firmware_security_dialog_icon), icon_name);
- gtk_widget_add_css_class (self->firmware_security_dialog_icon, style);
+
+ switch (hsi_number)
+ {
+ case 0:
+ gtk_label_set_label (self->dialog_hsi_circle_number, "0");
+ gtk_widget_add_css_class (self->dialog_hsi_circle_box, "level0");
+ gtk_widget_add_css_class (self->dialog_hsi_circle_number, "hsi0");
+ gtk_image_set_from_icon_name (GTK_IMAGE (self->hsi1_icon), "process-stop");
+ gtk_label_set_text (GTK_LABEL (self->hsi1_title), _("Failed"));
+ gtk_image_set_from_icon_name (GTK_IMAGE (self->hsi2_icon), "process-stop");
+ gtk_label_set_text (GTK_LABEL (self->hsi2_title), _("Failed"));
+ gtk_image_set_from_icon_name (GTK_IMAGE (self->hsi3_icon), "process-stop");
+ gtk_label_set_text (GTK_LABEL (self->hsi3_title), _("Failed"));
+ gtk_widget_add_css_class (self->firmware_security_dialog_min_row, "error-hsi-icon");
+ gtk_widget_add_css_class (self->firmware_security_dialog_min_row, "error-title");
+ gtk_widget_add_css_class (self->firmware_security_dialog_basic_row, "error-hsi-icon");
+ gtk_widget_add_css_class (self->firmware_security_dialog_basic_row, "error-title");
+ gtk_widget_add_css_class (self->firmware_security_dialog_extend_row, "error-hsi-icon");
+ gtk_widget_add_css_class (self->firmware_security_dialog_extend_row, "error-title");
+ break;
+ case 1:
+ gtk_label_set_label (self->dialog_hsi_circle_number, "1");
+ gtk_widget_add_css_class (self->dialog_hsi_circle_box, "level1");
+ gtk_widget_add_css_class (self->dialog_hsi_circle_number, "hsi1");
+ gtk_image_set_from_icon_name (GTK_IMAGE (self->hsi1_icon), "emblem-ok");
+ gtk_label_set_text (GTK_LABEL (self->hsi1_title), _("Passed"));
+ gtk_image_set_from_icon_name (GTK_IMAGE (self->hsi2_icon), "process-stop");
+ gtk_label_set_text (GTK_LABEL (self->hsi2_title), _("Failed"));
+ gtk_image_set_from_icon_name (GTK_IMAGE (self->hsi3_icon), "process-stop");
+ gtk_label_set_text (GTK_LABEL (self->hsi3_title), _("Failed"));
+ gtk_widget_add_css_class (self->firmware_security_dialog_min_row, "success-hsi-icon");
+ gtk_widget_add_css_class (self->firmware_security_dialog_min_row, "success-title");
+ gtk_widget_add_css_class (self->firmware_security_dialog_basic_row, "error-hsi-icon");
+ gtk_widget_add_css_class (self->firmware_security_dialog_basic_row, "error-title");
+ gtk_widget_add_css_class (self->firmware_security_dialog_extend_row, "error-hsi-icon");
+ gtk_widget_add_css_class (self->firmware_security_dialog_extend_row, "error-title");
+ break;
+ case 2:
+ gtk_label_set_label (self->dialog_hsi_circle_number, "2");
+ gtk_widget_add_css_class (self->dialog_hsi_circle_box, "level2");
+ gtk_widget_add_css_class (self->dialog_hsi_circle_number, "hsi2");
+ gtk_image_set_from_icon_name (GTK_IMAGE (self->hsi1_icon), "emblem-ok");
+ gtk_label_set_text (GTK_LABEL (self->hsi1_title), _("Passed"));
+ gtk_image_set_from_icon_name (GTK_IMAGE (self->hsi2_icon), "emblem-ok");
+ gtk_label_set_text (GTK_LABEL (self->hsi2_title), _("Passed"));
+ gtk_widget_add_css_class (self->firmware_security_dialog_min_row, "success-hsi-icon");
+ gtk_widget_add_css_class (self->firmware_security_dialog_min_row, "success-title");
+ gtk_widget_add_css_class (self->firmware_security_dialog_basic_row, "success-hsi-icon");
+ gtk_widget_add_css_class (self->firmware_security_dialog_basic_row, "success-title");
+ gtk_widget_add_css_class (self->firmware_security_dialog_extend_row, "error-hsi-icon");
+ gtk_widget_add_css_class (self->firmware_security_dialog_extend_row, "error-title");
+ break;
+ case 3:
+ case 4:
+ gtk_label_set_label (self->dialog_hsi_circle_number, "3");
+ gtk_widget_add_css_class (self->dialog_hsi_circle_box, "level3");
+ gtk_widget_add_css_class (self->dialog_hsi_circle_number, "hsi3");
+ gtk_image_set_from_icon_name (GTK_IMAGE (self->hsi1_icon), "emblem-ok");
+ gtk_label_set_text (GTK_LABEL (self->hsi1_title), _("Passed"));
+ gtk_image_set_from_icon_name (GTK_IMAGE (self->hsi2_icon), "emblem-ok");
+ gtk_label_set_text (GTK_LABEL (self->hsi2_title), _("Passed"));
+ gtk_image_set_from_icon_name (GTK_IMAGE (self->hsi3_icon), "emblem-ok");
+ gtk_label_set_text (GTK_LABEL (self->hsi3_title), _("Passed"));
+ gtk_widget_add_css_class (self->firmware_security_dialog_min_row, "success-hsi-icon");
+ gtk_widget_add_css_class (self->firmware_security_dialog_min_row, "success-title");
+ gtk_widget_add_css_class (self->firmware_security_dialog_basic_row, "success-hsi-icon");
+ gtk_widget_add_css_class (self->firmware_security_dialog_basic_row, "success-title");
+ gtk_widget_add_css_class (self->firmware_security_dialog_extend_row, "success-hsi-icon");
+ gtk_widget_add_css_class (self->firmware_security_dialog_extend_row, "success-title");
+ break;
+ }
+
gtk_label_set_text (GTK_LABEL (self->firmware_security_dialog_title_label), title);
gtk_label_set_text (GTK_LABEL (self->firmware_security_dialog_body_label), body);
gtk_label_set_text (GTK_LABEL (self->firmware_security_dialog_hsi_label), str);
@@ -78,24 +156,13 @@ set_dialog_item_layer1 (CcFirmwareSecurityDialog *self,
static void
update_dialog (CcFirmwareSecurityDialog *self)
{
- /* adw_action_row_set_icon_name (ADW_ACTION_ROW (self->firmware_security_dialog_min_row),
"dialog-error-symbolic");
- adw_action_row_set_icon_name (ADW_ACTION_ROW (self->firmware_security_dialog_basic_row),
"dialog-error-symbolic");
- adw_action_row_set_icon_name (ADW_ACTION_ROW (self->firmware_security_dialog_extend_row),
"dialog-error-symbolic");
-
- if (self->hsi_number < 1)
- gtk_widget_add_css_class (self->firmware_security_dialog_min_row, "gray-icon");
- if (self->hsi_number < 2)
- gtk_widget_add_css_class (self->firmware_security_dialog_basic_row, "gray-icon");
- if (self->hsi_number < 3)
- gtk_widget_add_css_class (self->firmware_security_dialog_extend_row, "gray-icon");
-*/
-self->hsi_number = 3;
+self->hsi_number = 0;
switch (self->hsi_number)
{
case 0:
+
set_dialog_item_layer1 (self,
- "dialog-warning-symbolic",
- "error",
+ 0,
_("Security Level 0"),
_("This device has no protection against hardware security issues. This could "
"be because of a hardware or firmware configuration issue. It is "
@@ -103,12 +170,8 @@ self->hsi_number = 3;
break;
case 1:
- /* adw_action_row_set_icon_name (ADW_ACTION_ROW (self->firmware_security_dialog_min_row),
- "emblem-default-symbolic");*/
- // gtk_widget_add_css_class (self->firmware_security_dialog_min_row, "success-icon");
set_dialog_item_layer1 (self,
- "security-low-symbolic",
- "neutral",
+ 1,
_("Security Level 1"),
_("This device has minimal protection against hardware security issues. This "
"is the lowest device security level and only provides protection against "
@@ -116,16 +179,8 @@ self->hsi_number = 3;
break;
case 2:
- /* adw_action_row_set_icon_name (ADW_ACTION_ROW (self->firmware_security_dialog_min_row),
- "emblem-default-symbolic");
- adw_action_row_set_icon_name (ADW_ACTION_ROW (self->firmware_security_dialog_basic_row),
- "emblem-default-symbolic");
- */
- //gtk_widget_add_css_class (self->firmware_security_dialog_min_row, "success-icon");
- //gtk_widget_add_css_class (self->firmware_security_dialog_basic_row, "success-icon");
set_dialog_item_layer1 (self,
- "security-medium-symbolic",
- "warning",
+ 2,
_("Security Level 2"),
_("This device has basic protection against hardware security issues. This "
"provides protection against some common security threats."));
@@ -133,21 +188,12 @@ self->hsi_number = 3;
case 3:
case 4:
- /* adw_action_row_set_icon_name (ADW_ACTION_ROW (self->firmware_security_dialog_min_row),
- "emblem-default-symbolic");
- adw_action_row_set_icon_name (ADW_ACTION_ROW (self->firmware_security_dialog_basic_row),
- "emblem-default-symbolic");
- adw_action_row_set_icon_name (ADW_ACTION_ROW (self->firmware_security_dialog_extend_row),
- "emblem-default-symbolic");
-*/
- // gtk_widget_add_css_class (self->firmware_security_dialog_min_row, "success-icon");
gtk_widget_add_css_class (self->firmware_security_dialog_basic_row, "error-hsi-icon");
gtk_widget_add_css_class (self->firmware_security_dialog_basic_row, "error-title");
gtk_widget_add_css_class (self->firmware_security_dialog_extend_row, "success-hsi-icon");
gtk_widget_add_css_class (self->firmware_security_dialog_extend_row, "success-title");
set_dialog_item_layer1 (self,
- "security-high-symbolic",
- "good",
+ 3,
_("Security Level 3"),
_("This device has extended protection against hardware security issues. This "
"is the highest device security level and provides protection against "
@@ -156,8 +202,7 @@ self->hsi_number = 3;
default:
set_dialog_item_layer1 (self,
- "dialog-warning-symbolic",
- "error",
+ 0,
_("Error: unable to determine HSI level."),
_("Error: unable to determine Incorrect HSI level."));
}
@@ -337,7 +382,14 @@ cc_firmware_security_dialog_class_init (CcFirmwareSecurityDialogClass *klass)
gtk_widget_class_set_template_from_resource (widget_class,
"/org/gnome/control-center/firmware-security/cc-firmware-security-dialog.ui");
- gtk_widget_class_bind_template_child (widget_class, CcFirmwareSecurityDialog,
firmware_security_dialog_icon);
+ gtk_widget_class_bind_template_child (widget_class, CcFirmwareSecurityDialog, dialog_hsi_circle_box);
+ gtk_widget_class_bind_template_child (widget_class, CcFirmwareSecurityDialog, dialog_hsi_circle_number);
+ gtk_widget_class_bind_template_child (widget_class, CcFirmwareSecurityDialog, hsi1_icon);
+ gtk_widget_class_bind_template_child (widget_class, CcFirmwareSecurityDialog, hsi2_icon);
+ gtk_widget_class_bind_template_child (widget_class, CcFirmwareSecurityDialog, hsi3_icon);
+ gtk_widget_class_bind_template_child (widget_class, CcFirmwareSecurityDialog, hsi1_title);
+ gtk_widget_class_bind_template_child (widget_class, CcFirmwareSecurityDialog, hsi2_title);
+ gtk_widget_class_bind_template_child (widget_class, CcFirmwareSecurityDialog, hsi3_title);
gtk_widget_class_bind_template_child (widget_class, CcFirmwareSecurityDialog,
firmware_security_dialog_title_label);
gtk_widget_class_bind_template_child (widget_class, CcFirmwareSecurityDialog,
firmware_security_dialog_body_label);
gtk_widget_class_bind_template_child (widget_class, CcFirmwareSecurityDialog,
firmware_security_dialog_hsi_label);
diff --git a/panels/firmware-security/cc-firmware-security-dialog.ui
b/panels/firmware-security/cc-firmware-security-dialog.ui
index 08f496c8b..de509245f 100644
--- a/panels/firmware-security/cc-firmware-security-dialog.ui
+++ b/panels/firmware-security/cc-firmware-security-dialog.ui
@@ -31,24 +31,11 @@
<child>
<object class="AdwPreferencesGroup">
- <child>
- <object class="GtkImage" id="firmware_security_dialog_icon">
- <property name="margin-start">16</property>
- <property name="margin-end">16</property>
- <property name="margin-top">16</property>
- <property name="pixel-size">32</property>
- <property name="halign">center</property>
- <property name="valign">center</property>
- <property name="icon-name">security-high-symbolic</property>
- <style>
- <class name="security-level-icon"/>
- </style>
- </object>
- </child>
+
<child>
- <object class="GtkBox">
+ <object class="GtkBox" id="dialog_hsi_circle_box">
<property name="orientation">vertical</property>
<property name="halign">center</property>
<property name="valign">center</property>
@@ -56,7 +43,7 @@
<child>
- <object class="GtkLabel" >
+ <object class="GtkLabel" id="dialog_hsi_circle_number">
<property name="halign">center</property>
<property name="valign">center</property>
<property name="vexpand">True</property>
@@ -66,14 +53,12 @@
<style>
<class name="hsi-level-font"/>
- <class name="hsi1"/>
</style>
</object>
</child>
<style>
<class name="hsi-level-box"/>
- <class name="level1"/>
</style>
</object>
@@ -136,6 +121,8 @@
<property name="icon-name">process-stop</property>
<style>
<class name="hsi_icon"/>
+ <class name="error-hsi-icon"/>
+
</style>
</object>
</child>
@@ -150,6 +137,8 @@
<property name="label">Failed</property>
<style>
<class name="hsi_label"/>
+ <class name="error-title"/>
+
</style>
</object>
</child>
@@ -179,6 +168,7 @@
<property name="icon-name">process-stop</property>
<style>
<class name="hsi_icon"/>
+ <class name="error-hsi-icon"/>
</style>
</object>
</child>
@@ -193,6 +183,7 @@
<property name="label">Failed</property>
<style>
<class name="hsi_label"/>
+ <class name="error-title"/>
</style>
</object>
</child>
@@ -222,9 +213,10 @@
<child>
<object class="GtkImage" id="hsi3_icon">
- <property name="icon-name">emblem-ok</property>
+ <property name="icon-name">process-stop</property>
<style>
<class name="hsi_icon"/>
+ <class name="error-hsi-icon"/>
</style>
</object>
</child>
@@ -236,9 +228,10 @@
<property name="vexpand">True</property>
<property name="justify">left</property>
- <property name="label">Passed</property>
+ <property name="label">Failed</property>
<style>
<class name="hsi_label"/>
+ <class name="error-title"/>
</style>
</object>
</child>
diff --git a/panels/firmware-security/cc-firmware-security-panel.c
b/panels/firmware-security/cc-firmware-security-panel.c
index c9843bc8a..69b5cb313 100644
--- a/panels/firmware-security/cc-firmware-security-panel.c
+++ b/panels/firmware-security/cc-firmware-security-panel.c
@@ -41,7 +41,10 @@ struct _CcfirmwareSecurityPanel
/* HSI button */
GtkWidget *hsi_grid;
- GtkWidget *hsi_icon;
+
+ GtkWidget *hsi_circle_box;
+ GtkWidget *hsi_circle_number;
+
GtkWidget *hsi_label;
GtkWidget *hsi_description;
@@ -423,13 +426,36 @@ on_secure_boot_button_clicked_cb (GtkWidget *widget,
static void
set_hsi_button_view_contain (CcfirmwareSecurityPanel *self,
- const gchar *icon_name,
- const gchar *style,
+ const int hsi_number,
+
gchar *title,
const gchar *description)
{
- gtk_image_set_from_icon_name (GTK_IMAGE (self->hsi_icon), icon_name);
- gtk_widget_add_css_class (self->hsi_icon, style);
+ switch (hsi_number)
+ {
+ case 0:
+ gtk_label_set_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 (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 (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 (self->hsi_circle_number, "3");
+ gtk_widget_add_css_class (self->hsi_circle_box, "level3");
+ gtk_widget_add_css_class (self->hsi_circle_number, "hsi3");
+ break;
+ }
+
gtk_label_set_text (GTK_LABEL (self->hsi_label), title);
gtk_label_set_text (GTK_LABEL (self->hsi_description), description);
}
@@ -440,36 +466,37 @@ set_hsi_button_view (CcfirmwareSecurityPanel *self)
switch (self->hsi_number)
{
case 0:
- set_hsi_button_view_contain (self, "dialog-warning-symbolic",
- "error",
+ set_hsi_button_view_contain (self,
+ self->hsi_number,
/* TRANSLATORS: in reference to firmware protection: 0/4 stars */
- _("Security "),
- _("Highly exposed to security threats."));
+ _("Security Level 0"),
+ _("Exposed to serious security threats."));
break;
case 1:
- set_hsi_button_view_contain (self, "security-low-symbolic",
- "neutral",
+ set_hsi_button_view_contain (self,
+ self->hsi_number,
/* TRANSLATORS: in reference to firmware protection: 1/4 stars */
- _("Minimal Protection"),
+ _("Security Level 1"),
_("Limited protection against simple security threats."));
break;
case 2:
- set_hsi_button_view_contain (self, "security-medium-symbolic",
- "warning",
+ set_hsi_button_view_contain (self,
+ self->hsi_number,
/* TRANSLATORS: in reference to firmware protection: 2/4 stars */
- _("Basic Protection"),
+ _("Security Level 2"),
_("Protected against common security threats."));
break;
case 3:
- set_hsi_button_view_contain (self, "security-high-symbolic",
- "good",
+ set_hsi_button_view_contain (self,
+ self->hsi_number,
/* TRANSLATORS: in reference to firmware protection: 3/4 stars */
- _("Extended Protection"),
+ _("Security Level 3"),
_("Protected against a wide range of security threats."));
break;
case 4:
- set_hsi_button_view_contain (self, "security-high-symbolic",
- "good",
+ 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 */
_("Comprehensive Protection"),
_("Protected against a wide range of security threats."));
@@ -617,7 +644,8 @@ cc_firmware_security_panel_class_init (CcfirmwareSecurityPanelClass *klass)
gtk_widget_class_bind_template_child (widget_class, CcfirmwareSecurityPanel, firmware_security_log_stack);
gtk_widget_class_bind_template_child (widget_class, CcfirmwareSecurityPanel, hsi_button);
gtk_widget_class_bind_template_child (widget_class, CcfirmwareSecurityPanel, hsi_description);
- gtk_widget_class_bind_template_child (widget_class, CcfirmwareSecurityPanel, hsi_icon);
+ gtk_widget_class_bind_template_child (widget_class, CcfirmwareSecurityPanel, hsi_circle_box);
+ gtk_widget_class_bind_template_child (widget_class, CcfirmwareSecurityPanel, hsi_circle_number);
gtk_widget_class_bind_template_child (widget_class, CcfirmwareSecurityPanel, hsi_label);
gtk_widget_class_bind_template_child (widget_class, CcfirmwareSecurityPanel, secure_boot_button);
gtk_widget_class_bind_template_child (widget_class, CcfirmwareSecurityPanel, secure_boot_description);
diff --git a/panels/firmware-security/cc-firmware-security-panel.ui
b/panels/firmware-security/cc-firmware-security-panel.ui
index 106d7965c..af2777664 100644
--- a/panels/firmware-security/cc-firmware-security-panel.ui
+++ b/panels/firmware-security/cc-firmware-security-panel.ui
@@ -29,21 +29,10 @@
<property name="margin-top">24</property>
<property name="margin-bottom">24</property>
<property name="spacing">6</property>
- <child>
- <object class="GtkImage" id="hsi_icon">
- <property name="halign">center</property>
- <property name="valign">center</property>
- <property name="icon-name">security-low-symbolic</property>
- <property name="pixel-size">32</property>
- <property name="margin-bottom">6</property>
- <style>
- <class name="security-level-icon"/>
- </style>
- </object>
- </child>
+
<child>
- <object class="GtkBox">
+ <object class="GtkBox" id="hsi_circle_box">
<property name="orientation">vertical</property>
<property name="halign">center</property>
<property name="valign">center</property>
@@ -51,7 +40,7 @@
<child>
- <object class="GtkLabel" id="hsi_botton_number">
+ <object class="GtkLabel" id="hsi_circle_number">
<property name="halign">center</property>
<property name="valign">center</property>
<property name="vexpand">True</property>
@@ -59,14 +48,12 @@
<property name="label">9</property>
<style>
<class name="hsi-level-font"/>
- <class name="hsi1"/>
</style>
</object>
</child>
<style>
<class name="hsi-level-box"/>
- <class name="level1"/>
</style>
</object>
diff --git a/panels/firmware-security/security-level.css b/panels/firmware-security/security-level.css
index df5fd7373..282412d98 100644
--- a/panels/firmware-security/security-level.css
+++ b/panels/firmware-security/security-level.css
@@ -5,16 +5,40 @@
}
+.hsi-level-box.level0 {
+ background-color: alpha(@error_color, .25);
+}
+
.hsi-level-box.level1 {
+ background-color: alpha(@light_4, .25);
+}
+
+.hsi-level-box.level2 {
+ background-color: alpha(@warning_color, .25);
+}
+
+.hsi-level-box.level3 {
background-color: alpha(@success_color, .25);
}
.hsi-level-font {
- font-size: 27px;
+ font-size: 32px;
font-weight: 800;
}
+.hsi-level-font.hsi0 {
+ color: @error_color;
+}
+
.hsi-level-font.hsi1 {
+ color: @light_4;
+}
+
+.hsi-level-font.hsi2 {
+ color: @warning_color;
+}
+
+.hsi-level-font.hsi3 {
color: @success_color;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]