[gedit] View: simplify the code to update the font
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit] View: simplify the code to update the font
- Date: Tue, 24 Nov 2020 17:49:29 +0000 (UTC)
commit 9ef4cf7edc5bd6a2449edcb34e5110362c5dc834
Author: Sébastien Wilmet <swilmet gnome org>
Date: Tue Nov 24 18:41:52 2020 +0100
View: simplify the code to update the font
gedit/gedit-view.c | 76 ++++++++++++++++++------------------------------------
gedit/gedit-view.h | 5 ----
2 files changed, 25 insertions(+), 56 deletions(-)
---
diff --git a/gedit/gedit-view.c b/gedit/gedit-view.c
index b996cd44b..a5be25bea 100644
--- a/gedit/gedit-view.c
+++ b/gedit/gedit-view.c
@@ -164,33 +164,43 @@ gedit_view_dispose (GObject *object)
G_OBJECT_CLASS (gedit_view_parent_class)->dispose (object);
}
+static void
+update_font (GeditView *view)
+{
+ GeditSettings *settings;
+ gchar *selected_font;
+
+ settings = _gedit_settings_get_singleton ();
+ selected_font = _gedit_settings_get_selected_font (settings);
+ tepl_utils_override_font (GTK_WIDGET (view), selected_font);
+ g_free (selected_font);
+}
+
+static void
+fonts_changed_cb (GeditSettings *settings,
+ GeditView *view)
+{
+ update_font (view);
+}
+
static void
gedit_view_constructed (GObject *object)
{
GeditView *view = GEDIT_VIEW (object);
GeditSettings *settings;
GSettings *editor_settings;
- gboolean use_default_font;
G_OBJECT_CLASS (gedit_view_parent_class)->constructed (object);
settings = _gedit_settings_get_singleton ();
editor_settings = _gedit_settings_peek_editor_settings (settings);
- use_default_font = g_settings_get_boolean (editor_settings, GEDIT_SETTINGS_USE_DEFAULT_FONT);
-
- if (use_default_font)
- {
- _gedit_view_set_font (view, TRUE, NULL);
- }
- else
- {
- gchar *editor_font;
-
- editor_font = g_settings_get_string (editor_settings, GEDIT_SETTINGS_EDITOR_FONT);
- _gedit_view_set_font (view, FALSE, editor_font);
- g_free (editor_font);
- }
+ update_font (view);
+ g_signal_connect_object (settings,
+ "fonts-changed",
+ G_CALLBACK (fonts_changed_cb),
+ view,
+ 0);
g_settings_bind (editor_settings, GEDIT_SETTINGS_DISPLAY_LINE_NUMBERS,
view, "show-line-numbers",
@@ -753,40 +763,4 @@ gedit_view_new (GeditDocument *doc)
NULL);
}
-/*
- * _gedit_view_set_font:
- * @view: a #GeditView
- * @default_font: whether to reset to the default font
- * @font_str: the name of the font to use
- *
- * If @default_font is #TRUE, resets the font of the @view to the default font.
- * Otherwise sets it to @font_str.
- */
-void
-_gedit_view_set_font (GeditView *view,
- gboolean default_font,
- const gchar *font_str)
-{
- gedit_debug (DEBUG_VIEW);
-
- g_return_if_fail (GEDIT_IS_VIEW (view));
-
- if (default_font)
- {
- GeditSettings *settings;
- gchar *system_font_str;
-
- settings = _gedit_settings_get_singleton ();
- system_font_str = _gedit_settings_get_system_font (settings);
-
- tepl_utils_override_font (GTK_WIDGET (view), system_font_str);
-
- g_free (system_font_str);
- }
- else
- {
- tepl_utils_override_font (GTK_WIDGET (view), font_str);
- }
-}
-
/* ex:set ts=8 noet: */
diff --git a/gedit/gedit-view.h b/gedit/gedit-view.h
index e1328a8f7..c05d68553 100644
--- a/gedit/gedit-view.h
+++ b/gedit/gedit-view.h
@@ -60,11 +60,6 @@ GType gedit_view_get_type (void);
GtkWidget * gedit_view_new (GeditDocument *doc);
-G_GNUC_INTERNAL
-void _gedit_view_set_font (GeditView *view,
- gboolean default_font,
- const gchar *font_str);
-
G_END_DECLS
#endif /* GEDIT_VIEW_H */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]