[Xfce4-commits] <midori:master> Use default-charset in both WebKit 1/ 2

Christian Dywan noreply at xfce.org
Fri Apr 5 00:30:03 CEST 2013


Updating branch refs/heads/master
         to 431e1b48022d7bc6e1c687ae0ff33a40ec5ca074 (commit)
       from 0c0549f9efe0f00e3b3537b7a091ee36afeabf5a (commit)

commit 431e1b48022d7bc6e1c687ae0ff33a40ec5ca074
Author: Christian Dywan <christian at twotoasts.de>
Date:   Thu Apr 4 23:34:29 2013 +0200

    Use default-charset in both WebKit 1/ 2

 midori/midori-browser.c     |   55 +++++++++++++++++++++----------------------
 midori/midori-preferences.c |    2 +-
 midori/midori-settings.vala |    6 ++++
 midori/midori-websettings.c |   20 ++++++++--------
 4 files changed, 44 insertions(+), 39 deletions(-)

diff --git a/midori/midori-browser.c b/midori/midori-browser.c
index 3ceb8e3..30e814f 100644
--- a/midori/midori-browser.c
+++ b/midori/midori-browser.c
@@ -3453,34 +3453,33 @@ _action_view_encoding_activate (GtkAction*     action,
                                 MidoriBrowser* browser)
 {
     GtkWidget* view = midori_browser_get_current_tab (browser);
-        const gchar* name;
-        GtkWidget* web_view;
+    const gchar* name = gtk_action_get_name (current);
+    WebKitWebView* web_view = WEBKIT_WEB_VIEW (midori_view_get_web_view (MIDORI_VIEW (view)));
 
-        name = gtk_action_get_name (current);
-        web_view = midori_view_get_web_view (MIDORI_VIEW (view));
-        if (!strcmp (name, "EncodingAutomatic"))
-            g_object_set (web_view, "custom-encoding", NULL, NULL);
-        else
-        {
-            const gchar* encoding;
-            if (!strcmp (name, "EncodingChinese"))
-                encoding = "BIG5";
-            else if (!strcmp (name, "EncodingChineseSimplified"))
-                encoding = "GB18030";
-            else if (!strcmp (name, "EncodingJapanese"))
-                encoding = "SHIFT_JIS";
-            else if (!strcmp (name, "EncodingKorean"))
-                encoding = "EUC-KR";
-            else if (!strcmp (name, "EncodingRussian"))
-                encoding = "KOI8-R";
-            else if (!strcmp (name, "EncodingUnicode"))
-                encoding = "UTF-8";
-            else if (!strcmp (name, "EncodingWestern"))
-                encoding = "ISO-8859-1";
-            else
-                g_assert_not_reached ();
-            g_object_set (web_view, "custom-encoding", encoding, NULL);
-        }
+    const gchar* encoding;
+    if (!strcmp (name, "EncodingAutomatic"))
+        encoding = NULL;
+    else if (!strcmp (name, "EncodingChinese"))
+        encoding = "BIG5";
+    else if (!strcmp (name, "EncodingChineseSimplified"))
+        encoding = "GB18030";
+    else if (!strcmp (name, "EncodingJapanese"))
+        encoding = "SHIFT_JIS";
+    else if (!strcmp (name, "EncodingKorean"))
+        encoding = "EUC-KR";
+    else if (!strcmp (name, "EncodingRussian"))
+        encoding = "KOI8-R";
+    else if (!strcmp (name, "EncodingUnicode"))
+        encoding = "UTF-8";
+    else if (!strcmp (name, "EncodingWestern"))
+        encoding = "ISO-8859-1";
+    else
+        g_assert_not_reached ();
+    #ifdef HAVE_WEBKIT2
+    webkit_web_view_set_custom_charset (web_view, encoding);
+    #else
+    webkit_web_view_set_custom_encoding (web_view, encoding);
+    #endif
 }
 
 static void
diff --git a/midori/midori-preferences.c b/midori/midori-preferences.c
index 6415ac2..0e30835 100644
--- a/midori/midori-preferences.c
+++ b/midori/midori-preferences.c
@@ -355,7 +355,7 @@ midori_preferences_set_settings (MidoriPreferences* preferences,
     label = gtk_label_new (_("Preferred Encoding"));
     gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
     INDENTED_ADD (label);
-    button = katze_property_proxy (settings, "preferred-encoding", "custom-default-encoding");
+    button = katze_property_proxy (settings, "preferred-encoding", "custom-default-charset");
     SPANNED_ADD (button);
 
     /* Page "Behavior" */
diff --git a/midori/midori-settings.vala b/midori/midori-settings.vala
index 018d0e7..32e379d 100644
--- a/midori/midori-settings.vala
+++ b/midori/midori-settings.vala
@@ -27,6 +27,12 @@ namespace Midori {
         } set {
             enable_scripts = value;
         } }
+        /* Since: 0.5.1 */
+        public string default_charset { owned get {
+            return default_encoding;
+        } set {
+            default_encoding = value;
+        } }
 #else
     public class Settings : WebKit.Settings {
 #endif
diff --git a/midori/midori-websettings.c b/midori/midori-websettings.c
index 7bc820a..bcc3c62 100644
--- a/midori/midori-websettings.c
+++ b/midori/midori-websettings.c
@@ -532,7 +532,7 @@ notify_default_encoding_cb (GObject*    object,
 
     web_settings = MIDORI_WEB_SETTINGS (object);
 
-    g_object_get (object, "default-encoding", &string, NULL);
+    g_object_get (object, pspec->name, &string, NULL);
     encoding = string ? string : "";
     if (!strcmp (encoding, "BIG5"))
         web_settings->preferred_encoding = MIDORI_ENCODING_CHINESE;
@@ -581,7 +581,7 @@ midori_web_settings_init (MidoriWebSettings* web_settings)
     " * { -webkit-appearance: none !important }");
     #endif
 
-    g_signal_connect (web_settings, "notify::default-encoding",
+    g_signal_connect (web_settings, "notify::default-charset",
                       G_CALLBACK (notify_default_encoding_cb), NULL);
     g_signal_connect (web_settings, "notify::default-font-family",
                       G_CALLBACK (notify_default_font_family_cb), NULL);
@@ -977,28 +977,28 @@ midori_web_settings_set_property (GObject*      object,
         switch (web_settings->preferred_encoding)
         {
         case MIDORI_ENCODING_CHINESE:
-            g_object_set (object, "default-encoding", "BIG5", NULL);
+            g_object_set (object, "default-charset", "BIG5", NULL);
             break;
         case MIDORI_ENCODING_CHINESE_SIMPLIFIED:
-            g_object_set (object, "default-encoding", "GB18030", NULL);
+            g_object_set (object, "default-charset", "GB18030", NULL);
             break;
         case MIDORI_ENCODING_JAPANESE:
-            g_object_set (object, "default-encoding", "SHIFT_JIS", NULL);
+            g_object_set (object, "default-charset", "SHIFT_JIS", NULL);
             break;
        case MIDORI_ENCODING_KOREAN:
-            g_object_set (object, "default-encoding", "EUC-KR", NULL);
+            g_object_set (object, "default-charset", "EUC-KR", NULL);
             break;
         case MIDORI_ENCODING_RUSSIAN:
-            g_object_set (object, "default-encoding", "KOI8-R", NULL);
+            g_object_set (object, "default-charset", "KOI8-R", NULL);
             break;
         case MIDORI_ENCODING_UNICODE:
-            g_object_set (object, "default-encoding", "UTF-8", NULL);
+            g_object_set (object, "default-charset", "UTF-8", NULL);
             break;
         case MIDORI_ENCODING_WESTERN:
-            g_object_set (object, "default-encoding", "ISO-8859-1", NULL);
+            g_object_set (object, "default-charset", "ISO-8859-1", NULL);
             break;
         case MIDORI_ENCODING_CUSTOM:
-            g_object_set (object, "default-encoding", "", NULL);
+            g_object_set (object, "default-charset", "", NULL);
         }
         break;
 


More information about the Xfce4-commits mailing list