diff options
author | Mohammed Sadiq <sadiq@sadiqpk.org> | 2022-11-23 19:26:39 +0530 |
---|---|---|
committer | Robert Ancell <robert.ancell@gmail.com> | 2022-12-05 20:50:15 +0000 |
commit | 799ada8243fb6a0ddc6167fc00754db33b46a69d (patch) | |
tree | dea2f90db353e8f9e5e8004cf980621c34a5da75 | |
parent | 15f000330c8b38d788d9fb566dd9e2399d461aa4 (diff) | |
download | gnome-control-center-799ada8243fb6a0ddc6167fc00754db33b46a69d.tar.gz |
keyboard: shortcut-row: Use CSS classes to embolden text
Fixes #852 #1529
-rw-r--r-- | panels/keyboard/cc-keyboard-shortcut-row.c | 29 | ||||
-rw-r--r-- | 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 ("<b>%s</b>", 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 @@ <interface> <!-- interface-requires gtk+ 3.0 --> <template class="CcKeyboardShortcutRow" parent="AdwActionRow"> + <property name="use-markup">False</property> <property name="selectable">False</property> <property name="activatable">True</property> <child> <object class="GtkLabel" id="accelerator_label"> <property name="xalign">1.0</property> - <property name="use-markup">True</property> <style> <class name="dim-label" /> </style> |