[Xfce4-commits] <midori:master> Implement spell checking and preferred languages with WebKit2
Christian Dywan
noreply at xfce.org
Mon Apr 8 20:44:03 CEST 2013
Updating branch refs/heads/master
to 6d91a83fd973656db1f47c26e61aa46dc603199e (commit)
from 2c1bce83272463737185eb094a178024eeaaf565 (commit)
commit 6d91a83fd973656db1f47c26e61aa46dc603199e
Author: Christian Dywan <christian at twotoasts.de>
Date: Mon Apr 8 20:35:37 2013 +0200
Implement spell checking and preferred languages with WebKit2
midori/midori-session.c | 7 +++++++
midori/midori-settings.vala | 7 ++++++-
midori/midori-websettings.c | 14 ++++++++++++--
midori/midori-websettings.h | 3 ---
midori/webkit2gtk-3.0.vapi | 6 ++++--
5 files changed, 29 insertions(+), 8 deletions(-)
diff --git a/midori/midori-session.c b/midori/midori-session.c
index 8e6c48a..d21b0f9 100644
--- a/midori/midori-session.c
+++ b/midori/midori-session.c
@@ -117,13 +117,20 @@ midori_soup_session_request_started_cb (SoupSession* session,
}
#endif
+#ifndef HAVE_WEBKIT2
+const gchar*
+midori_web_settings_get_accept_language (MidoriWebSettings* settings);
+#endif
+
static void
midori_soup_session_settings_accept_language_cb (SoupSession* session,
SoupMessage* msg,
MidoriWebSettings* settings)
{
+ #ifndef HAVE_WEBKIT2
const gchar* accept = midori_web_settings_get_accept_language (settings);
soup_message_headers_append (msg->request_headers, "Accept-Language", accept);
+ #endif
if (katze_object_get_boolean (settings, "strip-referer"))
{
diff --git a/midori/midori-settings.vala b/midori/midori-settings.vala
index 75c68f3..b321132 100644
--- a/midori/midori-settings.vala
+++ b/midori/midori-settings.vala
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2008-2012 Christian Dywan <christian at twotoasts.de>
+ Copyright (C) 2008-2013 Christian Dywan <christian at twotoasts.de>
Copyright (C) 2011 Peter Hatina <phatina at redhat.com>
This library is free software; you can redistribute it and/or
@@ -42,6 +42,11 @@ namespace Midori {
} set {
zoom_text_only = !value;
} }
+ public bool enable_spell_checking { get {
+ return WebKit.WebContext.get_default ().get_spell_checking_enabled ();
+ } set {
+ WebKit.WebContext.get_default ().set_spell_checking_enabled (value);
+ } }
#endif
public bool remember_last_window_size { get; set; default = true; }
public int last_window_width { get; set; default = 0; }
diff --git a/midori/midori-websettings.c b/midori/midori-websettings.c
index 38aefeb..ed6d3d2 100644
--- a/midori/midori-websettings.c
+++ b/midori/midori-websettings.c
@@ -832,6 +832,7 @@ generate_ident_string (MidoriWebSettings* web_settings,
}
}
+#ifndef HAVE_WEBKIT2
/* Provide a new way for SoupSession to assume an 'Accept-Language'
string automatically from the return value of g_get_language_names(),
properly formatted according to RFC2616.
@@ -946,6 +947,7 @@ midori_web_settings_get_accept_language (MidoriWebSettings* settings)
midori_web_settings_update_accept_language (settings);
return settings->accept;
}
+#endif
static void
midori_web_settings_process_stylesheets (MidoriWebSettings* settings,
@@ -1048,11 +1050,19 @@ midori_web_settings_set_property (GObject* object,
break;
case PROP_PREFERRED_LANGUAGES:
katze_assign (web_settings->http_accept_language, g_value_dup_string (value));
- #ifndef HAVE_WEBKIT2
+ #ifdef HAVE_WEBKIT2
+ WebKitWebContext* context = webkit_web_context_get_default ();
+ gchar** languages = web_settings->http_accept_language
+ ? g_strsplit_set (web_settings->http_accept_language, ",; ", -1)
+ : g_strdupv ((gchar**)g_get_language_names ());
+ webkit_web_context_set_preferred_languages (context, (const gchar* const*)languages);
+ webkit_web_context_set_spell_checking_languages (context, (const gchar* const*)languages);
+ g_strfreev (languages);
+ #else
g_object_set (web_settings, "spell-checking-languages",
web_settings->http_accept_language, NULL);
- #endif
midori_web_settings_update_accept_language (web_settings);
+ #endif
break;
case PROP_SITE_DATA_RULES:
katze_assign (web_settings->site_data_rules, g_value_dup_string (value));
diff --git a/midori/midori-websettings.h b/midori/midori-websettings.h
index 67c587b..cdc7264 100644
--- a/midori/midori-websettings.h
+++ b/midori/midori-websettings.h
@@ -190,9 +190,6 @@ MidoriSiteDataPolicy
midori_web_settings_get_site_data_policy (MidoriWebSettings* settings,
const gchar* uri);
-const gchar*
-midori_web_settings_get_accept_language (MidoriWebSettings* settings);
-
MidoriWebSettings*
midori_settings_new_full (gchar*** extensions);
diff --git a/midori/webkit2gtk-3.0.vapi b/midori/webkit2gtk-3.0.vapi
index 0cb4757..692844f 100644
--- a/midori/webkit2gtk-3.0.vapi
+++ b/midori/webkit2gtk-3.0.vapi
@@ -433,13 +433,15 @@ namespace WebKit {
public void set_disk_cache_directory (string path);
public async GLib.List<WebKit.Plugin> get_plugins (GLib.Cancellable? cancellable) throws GLib.Error;
public bool get_spell_checking_enabled ();
- public unowned string get_spell_checking_languages ();
+ public unowned string[] get_spell_checking_languages ();
public void register_uri_scheme (string scheme, owned WebKit.URISchemeRequestCallback callback);
public void set_additional_plugins_directory (string directory);
public void set_cache_model (WebKit.CacheModel cache_model);
public void set_spell_checking_enabled (bool enabled);
- public void set_spell_checking_languages (string languages);
+ public void set_spell_checking_languages (string[] languages);
+ public void set_preferred_languages (string[] languages);
public signal void download_started (WebKit.Download download);
+ public void set_web_extensions_directory (string path);
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_web_inspector_get_type ()")]
public class WebInspector : GLib.Object {
More information about the Xfce4-commits
mailing list