From 799ada8243fb6a0ddc6167fc00754db33b46a69d Mon Sep 17 00:00:00 2001 From: Mohammed Sadiq Date: Wed, 23 Nov 2022 19:26:39 +0530 Subject: keyboard: shortcut-row: Use CSS classes to embolden text Fixes #852 #1529 --- panels/keyboard/cc-keyboard-shortcut-row.c | 29 +++++++++++++++-------------- panels/keyboard/cc-keyboard-shortcut-row.ui | 2 +- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/panels/keyboard/cc-keyboard-shortcut-row.c b/panels/keyboard/cc-keyboard-shortcut-row.c index c6e2c247f..2a12b799a 100644 --- a/panels/keyboard/cc-keyboard-shortcut-row.c +++ b/panels/keyboard/cc-keyboard-shortcut-row.c @@ -64,6 +64,16 @@ cc_keyboard_shortcut_row_init (CcKeyboardShortcutRow *self) gtk_widget_init_template (GTK_WIDGET (self)); } +static void +cc_kbd_shortcut_is_default_changed_cb (CcKeyboardShortcutRow *self) +{ + /* Embolden the label when the shortcut is modified */ + if (cc_keyboard_item_is_value_default (self->item)) + gtk_widget_remove_css_class (GTK_WIDGET (self->accelerator_label), "heading"); + else + gtk_widget_add_css_class (GTK_WIDGET (self->accelerator_label), "heading"); +} + static gboolean transform_binding_to_accel (GBinding *binding, const GValue *from_value, @@ -76,21 +86,7 @@ transform_binding_to_accel (GBinding *binding, item = CC_KEYBOARD_ITEM (g_binding_dup_source (binding)); combo = cc_keyboard_item_get_primary_combo (item); - accelerator = convert_keysym_state_to_string (&combo); - /* Embolden the label when the shortcut is modified */ - if (!cc_keyboard_item_is_value_default (item)) - { - g_autofree gchar *tmp = NULL; - - tmp = convert_keysym_state_to_string (&combo); - - accelerator = g_strdup_printf ("%s", tmp); - } - else - { - accelerator = convert_keysym_state_to_string (&combo); - } g_value_take_string (to_value, accelerator); @@ -124,6 +120,11 @@ cc_keyboard_shortcut_row_new (CcKeyboardItem *item, transform_binding_to_accel, NULL, NULL, NULL); + g_signal_connect_object (item, "notify::is-value-default", + G_CALLBACK (cc_kbd_shortcut_is_default_changed_cb), + self, G_CONNECT_SWAPPED); + cc_kbd_shortcut_is_default_changed_cb (self); + gtk_size_group_add_widget(size_group, GTK_WIDGET (self->accelerator_label)); diff --git a/panels/keyboard/cc-keyboard-shortcut-row.ui b/panels/keyboard/cc-keyboard-shortcut-row.ui index 98a8a31d1..cec120c07 100644 --- a/panels/keyboard/cc-keyboard-shortcut-row.ui +++ b/panels/keyboard/cc-keyboard-shortcut-row.ui @@ -2,12 +2,12 @@