summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammed Sadiq <sadiq@sadiqpk.org>2022-11-23 19:26:39 +0530
committerRobert Ancell <robert.ancell@gmail.com>2022-12-05 20:50:15 +0000
commit799ada8243fb6a0ddc6167fc00754db33b46a69d (patch)
treedea2f90db353e8f9e5e8004cf980621c34a5da75
parent15f000330c8b38d788d9fb566dd9e2399d461aa4 (diff)
downloadgnome-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.c29
-rw-r--r--panels/keyboard/cc-keyboard-shortcut-row.ui2
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>