From 47ad1005ec007fc15b2ed83d78101a9785688afe Mon Sep 17 00:00:00 2001 From: Xan Lopez Date: Sun, 1 Mar 2009 19:47:02 +0000 Subject: Use new get_encoding API to properly figure out automatic vs override encoding. svn path=/trunk/; revision=8832 --- src/ephy-encoding-dialog.c | 9 +++++++-- src/ephy-encoding-menu.c | 13 +++++++------ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/ephy-encoding-dialog.c b/src/ephy-encoding-dialog.c index fcbd1ad4d..0556a8813 100644 --- a/src/ephy-encoding-dialog.c +++ b/src/ephy-encoding-dialog.c @@ -86,7 +86,7 @@ sync_encoding_against_embed (EphyEncodingDialog *dialog) GList *rows; GtkWidget *button; const char *encoding; - gboolean is_automatic; + gboolean is_automatic = FALSE; WebKitWebView *view; dialog->priv->update_tag = TRUE; @@ -96,7 +96,12 @@ sync_encoding_against_embed (EphyEncodingDialog *dialog) view = EPHY_GET_WEBKIT_WEB_VIEW_FROM_EMBED (embed); encoding = webkit_web_view_get_custom_encoding (view); - if (encoding == NULL) return; + if (encoding == NULL) + { + encoding = webkit_web_view_get_encoding (view); + if (encoding == NULL) return; + is_automatic = TRUE; + } node = ephy_encodings_get_node (dialog->priv->encodings, encoding, TRUE); g_assert (EPHY_IS_NODE (node)); diff --git a/src/ephy-encoding-menu.c b/src/ephy-encoding-menu.c index 4c0f955e1..7811842d2 100644 --- a/src/ephy-encoding-menu.c +++ b/src/ephy-encoding-menu.c @@ -118,7 +118,7 @@ update_encoding_menu_cb (GtkAction *dummy, EphyEncodingMenu *menu) EphyNode *enc_node; GList *recent, *related = NULL, *l; EphyLanguageGroup groups; - gboolean is_automatic; + gboolean is_automatic = FALSE; WebKitWebView *view; START_PROFILER ("Rebuilding encoding menu") @@ -132,18 +132,19 @@ update_encoding_menu_cb (GtkAction *dummy, EphyEncodingMenu *menu) /* get most recently used encodings */ recent = ephy_encodings_get_recent (p->encodings); - /* FIXME: need a plain get_encoding API in WebKit to complete this */ embed = ephy_embed_container_get_active_child (EPHY_EMBED_CONTAINER (p->window)); view = EPHY_GET_WEBKIT_WEB_VIEW_FROM_EMBED (embed); encoding = webkit_web_view_get_custom_encoding (view); - if (encoding == NULL) goto build_menu; + if (encoding == NULL) + { + encoding = webkit_web_view_get_encoding (view); + if (encoding == NULL) goto build_menu; + is_automatic = TRUE; + } enc_node = ephy_encodings_get_node (p->encodings, encoding, TRUE); g_assert (EPHY_IS_NODE (enc_node)); - /* check if encoding was overridden */ - is_automatic = ephy_embed_has_automatic_encoding (embed); - action = gtk_action_group_get_action (p->action_group, "ViewEncodingAutomatic"); gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), is_automatic); -- cgit