[gedit] GeditSettings: add get_selected_font()



commit 1e89921a3ad5986ce2006f04c889bea64b371ccb
Author: Sébastien Wilmet <swilmet gnome org>
Date:   Tue Nov 24 18:32:01 2020 +0100

    GeditSettings: add get_selected_font()

 gedit/gedit-settings.c | 18 +++++++++++++++---
 gedit/gedit-settings.h |  3 +++
 2 files changed, 18 insertions(+), 3 deletions(-)
---
diff --git a/gedit/gedit-settings.c b/gedit/gedit-settings.c
index ea7518cb6..b49d4640f 100644
--- a/gedit/gedit-settings.c
+++ b/gedit/gedit-settings.c
@@ -84,9 +84,8 @@ gedit_settings_class_init (GeditSettingsClass *klass)
        object_class->dispose = gedit_settings_dispose;
        object_class->finalize = gedit_settings_finalize;
 
-       /* This signal is emitted when the return value of [...] has potentially
-        * changed.
-        * TODO: write function to get the font.
+       /* This signal is emitted when the return value of
+        * _gedit_settings_get_selected_font() has potentially changed.
         */
        signals[SIGNAL_FONTS_CHANGED] =
                g_signal_new ("fonts-changed",
@@ -302,6 +301,19 @@ _gedit_settings_get_system_font (GeditSettings *self)
        return g_settings_get_string (self->settings_interface, GEDIT_SETTINGS_SYSTEM_FONT);
 }
 
+gchar *
+_gedit_settings_get_selected_font (GeditSettings *self)
+{
+       g_return_val_if_fail (GEDIT_IS_SETTINGS (self), NULL);
+
+       if (g_settings_get_boolean (self->settings_editor, GEDIT_SETTINGS_USE_DEFAULT_FONT))
+       {
+               return _gedit_settings_get_system_font (self);
+       }
+
+       return g_settings_get_string (self->settings_editor, GEDIT_SETTINGS_EDITOR_FONT);
+}
+
 static gboolean
 strv_is_empty (gchar **strv)
 {
diff --git a/gedit/gedit-settings.h b/gedit/gedit-settings.h
index 7d8433f66..a7993d5d1 100644
--- a/gedit/gedit-settings.h
+++ b/gedit/gedit-settings.h
@@ -46,6 +46,9 @@ GSettings *   _gedit_settings_peek_file_chooser_state_settings        (GeditSettings *sel
 G_GNUC_INTERNAL
 gchar *                _gedit_settings_get_system_font                         (GeditSettings *self);
 
+G_GNUC_INTERNAL
+gchar *                _gedit_settings_get_selected_font                       (GeditSettings *self);
+
 GSList *       gedit_settings_get_candidate_encodings                  (gboolean *default_candidates);
 
 /* key constants */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]