[devhelp] Window: delegate WebKitSettings configuration to DhWebView
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [devhelp] Window: delegate WebKitSettings configuration to DhWebView
- Date: Fri, 9 Feb 2018 20:22:36 +0000 (UTC)
commit f36abcc9b8578403d1d5a5ec74507e924d82f520
Author: Sébastien Wilmet <swilmet gnome org>
Date: Fri Feb 9 19:04:05 2018 +0100
Window: delegate WebKitSettings configuration to DhWebView
src/dh-web-view.c | 17 +++++++++++++++++
src/dh-window.c | 22 +++++-----------------
2 files changed, 22 insertions(+), 17 deletions(-)
---
diff --git a/src/dh-web-view.c b/src/dh-web-view.c
index 270e1f9..bca16f9 100644
--- a/src/dh-web-view.c
+++ b/src/dh-web-view.c
@@ -25,6 +25,22 @@ struct _DhWebViewPrivate {
G_DEFINE_TYPE_WITH_PRIVATE (DhWebView, dh_web_view, WEBKIT_TYPE_WEB_VIEW)
static void
+dh_web_view_constructed (GObject *object)
+{
+ WebKitWebView *view = WEBKIT_WEB_VIEW (object);
+ WebKitSettings *settings;
+
+ 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);
+ webkit_settings_set_enable_html5_database (settings, FALSE);
+ webkit_settings_set_enable_html5_local_storage (settings, FALSE);
+ webkit_settings_set_enable_plugins (settings, FALSE);
+}
+
+static void
dh_web_view_finalize (GObject *object)
{
@@ -36,6 +52,7 @@ dh_web_view_class_init (DhWebViewClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ object_class->constructed = dh_web_view_constructed;
object_class->finalize = dh_web_view_finalize;
}
diff --git a/src/dh-window.c b/src/dh-window.c
index 14dd8fb..376be74 100644
--- a/src/dh-window.c
+++ b/src/dh-window.c
@@ -27,6 +27,7 @@
#include "dh-settings.h"
#include "dh-sidebar.h"
#include "dh-util.h"
+#include "dh-web-view.h"
typedef struct {
GtkHeaderBar *header_bar;
@@ -1100,25 +1101,13 @@ window_web_view_button_press_event_cb (WebKitWebView *web_view,
}
static void
-apply_webview_settings (WebKitWebView *view)
-{
- WebKitSettings *settings;
-
- /* Disable some things we have no need for. */
- settings = webkit_web_view_get_settings (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);
-}
-
-static void
window_open_new_tab (DhWindow *window,
const gchar *location,
gboolean switch_focus)
{
DhWindowPrivate *priv;
DhSettings *settings;
- GtkWidget *view;
+ DhWebView *view;
GtkWidget *vbox;
GtkWidget *label;
gint num;
@@ -1130,9 +1119,8 @@ window_open_new_tab (DhWindow *window,
priv = dh_window_get_instance_private (window);
/* Prepare the web view */
- view = webkit_web_view_new ();
- apply_webview_settings (WEBKIT_WEB_VIEW (view));
- gtk_widget_show (view);
+ view = dh_web_view_new ();
+ gtk_widget_show (GTK_WIDGET (view));
/* get the current fonts and set them on the new view */
settings = dh_settings_get_singleton ();
@@ -1161,7 +1149,7 @@ window_open_new_tab (DhWindow *window,
g_object_set_data (G_OBJECT (vbox), TAB_INFO_BAR_KEY, info_bar);
gtk_box_pack_start (GTK_BOX (vbox), info_bar, FALSE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), view, TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (view), TRUE, TRUE, 0);
label = window_new_tab_label (window, _("Empty Page"), vbox);
gtk_widget_show_all (label);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]