[devhelp] DhSettings: send fonts-changed signal when system fonts change
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [devhelp] DhSettings: send fonts-changed signal when system fonts change
- Date: Sun, 30 Apr 2017 07:59:16 +0000 (UTC)
commit 41509d32abc4f8a6eb9cdf9a8986ff3aef9900fe
Author: Sébastien Wilmet <swilmet gnome org>
Date: Sun Apr 30 09:51:51 2017 +0200
DhSettings: send fonts-changed signal when system fonts change
When the relevant keys in org.gnome.desktop.interface change, send the
fonts-changed signal to change the fonts in the WebKitWebView's.
src/dh-settings.c | 20 +++++++++++++++++---
1 files changed, 17 insertions(+), 3 deletions(-)
---
diff --git a/src/dh-settings.c b/src/dh-settings.c
index 0b65b1f..467894b 100644
--- a/src/dh-settings.c
+++ b/src/dh-settings.c
@@ -29,6 +29,8 @@
/* Provided by the gsettings-desktop-schemas module. */
#define SETTINGS_SCHEMA_ID_DESKTOP_INTERFACE "org.gnome.desktop.interface"
+#define SYSTEM_FIXED_FONT_KEY "monospace-font-name"
+#define SYSTEM_VARIABLE_FONT_KEY "font-name"
struct _DhSettingsPrivate {
GSettings *settings_window;
@@ -95,7 +97,7 @@ dh_settings_class_init (DhSettingsClass *klass)
}
static void
-fonts_changed_cb (GSettings *settings_fonts,
+fonts_changed_cb (GSettings *gsettings,
gchar *key,
gpointer user_data)
{
@@ -128,6 +130,18 @@ dh_settings_init (DhSettings *self)
G_CALLBACK (fonts_changed_cb),
self,
0);
+
+ g_signal_connect_object (self->priv->settings_desktop_interface,
+ "changed::" SYSTEM_FIXED_FONT_KEY,
+ G_CALLBACK (fonts_changed_cb),
+ self,
+ 0);
+
+ g_signal_connect_object (self->priv->settings_desktop_interface,
+ "changed::" SYSTEM_VARIABLE_FONT_KEY,
+ G_CALLBACK (fonts_changed_cb),
+ self,
+ 0);
}
DhSettings *
@@ -196,9 +210,9 @@ dh_settings_get_selected_fonts (DhSettings *self,
if (use_system_font) {
*font_name_fixed = g_settings_get_string (self->priv->settings_desktop_interface,
- "monospace-font-name");
+ SYSTEM_FIXED_FONT_KEY);
*font_name_variable = g_settings_get_string (self->priv->settings_desktop_interface,
- "font-name");
+ SYSTEM_VARIABLE_FONT_KEY);
} else {
*font_name_fixed = g_settings_get_string (self->priv->settings_fonts,
"fixed-font");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]