[devhelp] Fonts handling: set fonts in DhWebView, not DhWindow
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [devhelp] Fonts handling: set fonts in DhWebView, not DhWindow
- Date: Fri, 11 May 2018 18:43:47 +0000 (UTC)
commit da87b4ed2aeae133b5a0c163f992e3c657f20646
Author: Sébastien Wilmet <swilmet gnome org>
Date: Fri May 11 20:15:31 2018 +0200
Fonts handling: set fonts in DhWebView, not DhWindow
src/dh-web-view.c | 41 +++++++++++++++++++++++++++++++++++++++--
src/dh-window.c | 38 --------------------------------------
2 files changed, 39 insertions(+), 40 deletions(-)
---
diff --git a/src/dh-web-view.c b/src/dh-web-view.c
index 40dbf98..8b99918 100644
--- a/src/dh-web-view.c
+++ b/src/dh-web-view.c
@@ -21,6 +21,8 @@
#include "dh-web-view.h"
#include <math.h>
#include <glib/gi18n.h>
+#include "dh-settings-app.h"
+#include "dh-util-app.h"
struct _DhWebViewPrivate {
gchar *search_text;
@@ -137,19 +139,54 @@ chain_up:
}
static void
+update_fonts (DhWebView *view)
+{
+ DhSettingsApp *settings;
+ gchar *font_fixed = NULL;
+ gchar *font_variable = NULL;
+
+ settings = dh_settings_app_get_singleton ();
+ dh_settings_app_get_selected_fonts (settings, &font_fixed, &font_variable);
+
+ dh_util_view_set_font (WEBKIT_WEB_VIEW (view), font_fixed, font_variable);
+
+ g_free (font_fixed);
+ g_free (font_variable);
+}
+
+static void
+settings_fonts_changed_cb (DhSettingsApp *settings,
+ const gchar *font_name_fixed,
+ const gchar *font_name_variable,
+ DhWebView *view)
+{
+ update_fonts (view);
+}
+
+static void
dh_web_view_constructed (GObject *object)
{
- WebKitWebView *view = WEBKIT_WEB_VIEW (object);
+ DhWebView *view = DH_WEB_VIEW (object);
WebKitSettings *settings;
+ DhSettingsApp *settings_app;
if (G_OBJECT_CLASS (dh_web_view_parent_class)->constructed != NULL)
G_OBJECT_CLASS (dh_web_view_parent_class)->constructed (object);
/* Disable some things we have no need for. */
- settings = webkit_web_view_get_settings (view);
+ settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (view));
webkit_settings_set_enable_html5_database (settings, FALSE);
webkit_settings_set_enable_html5_local_storage (settings, FALSE);
webkit_settings_set_enable_plugins (settings, FALSE);
+
+ settings_app = dh_settings_app_get_singleton ();
+ g_signal_connect_object (settings_app,
+ "fonts-changed",
+ G_CALLBACK (settings_fonts_changed_cb),
+ view,
+ 0);
+
+ update_fonts (view);
}
static void
diff --git a/src/dh-window.c b/src/dh-window.c
index 71f531b..d2f2ab5 100644
--- a/src/dh-window.c
+++ b/src/dh-window.c
@@ -603,28 +603,6 @@ set_window_menu (DhWindow *window)
}
static void
-settings_fonts_changed_cb (DhSettingsApp *settings,
- const gchar *font_name_fixed,
- const gchar *font_name_variable,
- DhWindow *window)
-{
- DhWindowPrivate *priv = dh_window_get_instance_private (window);
- gint n_pages;
- gint page_num;
-
- n_pages = gtk_notebook_get_n_pages (priv->notebook);
-
- for (page_num = 0; page_num < n_pages; page_num++) {
- DhTab *tab;
- WebKitWebView *web_view;
-
- tab = DH_TAB (gtk_notebook_get_nth_page (priv->notebook, page_num));
- web_view = WEBKIT_WEB_VIEW (dh_tab_get_web_view (tab));
- dh_util_view_set_font (web_view, font_name_fixed, font_name_variable);
- }
-}
-
-static void
sidebar_link_selected_cb (DhSidebar *sidebar,
DhLink *link,
DhWindow *window)
@@ -834,12 +812,6 @@ dh_window_init (DhWindow *window)
set_window_menu (window);
settings = dh_settings_app_get_singleton ();
- g_signal_connect_object (settings,
- "fonts-changed",
- G_CALLBACK (settings_fonts_changed_cb),
- window,
- 0);
-
paned_settings = dh_settings_app_peek_paned_settings (settings);
g_settings_bind (paned_settings, "position",
priv->hpaned, "position",
@@ -1090,9 +1062,6 @@ open_new_tab (DhWindow *window,
DhWindowPrivate *priv = dh_window_get_instance_private (window);
DhTab *tab;
DhWebView *web_view;
- DhSettingsApp *settings;
- gchar *font_fixed = NULL;
- gchar *font_variable = NULL;
GtkWidget *label;
gint page_num;
WebKitBackForwardList *back_forward_list;
@@ -1102,13 +1071,6 @@ open_new_tab (DhWindow *window,
web_view = dh_tab_get_web_view (tab);
- /* Set font */
- settings = dh_settings_app_get_singleton ();
- dh_settings_app_get_selected_fonts (settings, &font_fixed, &font_variable);
- dh_util_view_set_font (WEBKIT_WEB_VIEW (web_view), font_fixed, font_variable);
- g_free (font_fixed);
- g_free (font_variable);
-
g_signal_connect (web_view,
"notify::title",
G_CALLBACK (web_view_title_notify_cb),
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]