aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2004-05-02 04:47:00 +0800
committerChristian Persch <chpe@src.gnome.org>2004-05-02 04:47:00 +0800
commit7093f6ad148d62a9ddc77f8080cf9822d5d24f1f (patch)
tree672ab4fb4d9e9853b14903b6c9019e911773fd93 /src
parent8493f7c5d64b577b3f6b8de91e5bb6c82a8b96ae (diff)
downloadgsoc2013-epiphany-7093f6ad148d62a9ddc77f8080cf9822d5d24f1f.tar.gz
gsoc2013-epiphany-7093f6ad148d62a9ddc77f8080cf9822d5d24f1f.tar.zst
gsoc2013-epiphany-7093f6ad148d62a9ddc77f8080cf9822d5d24f1f.zip
Clean up encoding handling.
2004-05-01 Christian Persch <chpe@cvs.gnome.org> * embed/ephy-embed.c: (ephy_embed_get_encoding), (ephy_embed_has_automatic_encoding): * embed/ephy-embed.h: * embed/ephy-encodings.c: * embed/ephy-encodings.h: * embed/mozilla/EphyBrowser.cpp: * embed/mozilla/EphyBrowser.h: * embed/mozilla/MozRegisterComponents.cpp: * embed/mozilla/mozilla-embed.cpp: * src/ephy-encoding-dialog.c: (sync_embed_cb), (activate_choice): * src/ephy-encoding-menu.c: (update_encoding_menu_cb), (encoding_activate_cb): Clean up encoding handling.
Diffstat (limited to 'src')
-rw-r--r--src/ephy-encoding-dialog.c33
-rw-r--r--src/ephy-encoding-menu.c33
2 files changed, 15 insertions, 51 deletions
diff --git a/src/ephy-encoding-dialog.c b/src/ephy-encoding-dialog.c
index 3365fa5af..adf0f61f3 100644
--- a/src/ephy-encoding-dialog.c
+++ b/src/ephy-encoding-dialog.c
@@ -113,12 +113,12 @@ static void
sync_embed_cb (EphyEncodingDialog *dialog, GParamSpec *pspec, gpointer dummy)
{
EphyEmbed *embed;
- EphyEncodingInfo *info;
EphyNode *node;
GtkTreeSelection *selection;
GtkTreeModel *model;
GList *rows;
GtkWidget *button;
+ char *encoding;
gboolean is_automatic;
dialog->priv->update_tag = TRUE;
@@ -126,10 +126,10 @@ sync_embed_cb (EphyEncodingDialog *dialog, GParamSpec *pspec, gpointer dummy)
embed = ephy_embed_dialog_get_embed (EPHY_EMBED_DIALOG (dialog));
g_return_if_fail (EPHY_IS_EMBED (embed));
- info = ephy_embed_get_encoding_info (embed);
- if (info == NULL) return;
+ encoding = ephy_embed_get_encoding (embed);
+ if (encoding == NULL) return;
- node = ephy_encodings_get_node (dialog->priv->encodings, info->encoding, TRUE);
+ node = ephy_encodings_get_node (dialog->priv->encodings, encoding, TRUE);
g_assert (EPHY_IS_NODE (node));
/* select the current encoding in the list view */
@@ -153,12 +153,12 @@ sync_embed_cb (EphyEncodingDialog *dialog, GParamSpec *pspec, gpointer dummy)
g_list_free (rows);
}
- is_automatic = ephy_encoding_info_is_automatic (info);
+ is_automatic = ephy_embed_has_automatic_encoding (embed);
button = ephy_dialog_get_control (EPHY_DIALOG (dialog), properties[AUTOMATIC_PROP].id);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), is_automatic);
- ephy_encoding_info_free (info);
+ g_free (encoding);
dialog->priv->update_tag = FALSE;
}
@@ -199,27 +199,18 @@ static void
activate_choice (EphyEncodingDialog *dialog)
{
EphyEmbed *embed;
- EphyEncodingInfo *info;
GtkWidget *button;
gboolean is_automatic;
embed = ephy_embed_dialog_get_embed (EPHY_EMBED_DIALOG (dialog));
g_return_if_fail (EPHY_IS_EMBED (embed));
- info = ephy_embed_get_encoding_info (embed);
- if (info == NULL) return;
-
button = ephy_dialog_get_control (EPHY_DIALOG (dialog), properties[AUTOMATIC_PROP].id);
is_automatic = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button));
if (is_automatic)
{
- /* only unset if it was forced before */
- if ((info->forced_encoding != NULL && info->forced_encoding[0] != '\0')
- || info->encoding_source >= EMBED_ENCODING_PARENT_FORCED)
- {
- ephy_embed_set_encoding (embed, "");
- }
+ ephy_embed_set_encoding (embed, "");
}
else if (dialog->priv->selected_node != NULL)
{
@@ -228,16 +219,10 @@ activate_choice (EphyEncodingDialog *dialog)
code = ephy_node_get_property_string (dialog->priv->selected_node,
EPHY_NODE_ENCODING_PROP_ENCODING);
- /* only force it if it's different from active */
- if (info->encoding && strcmp (info->encoding, code) != 0)
- {
- ephy_embed_set_encoding (embed, code);
+ ephy_embed_set_encoding (embed, code);
- ephy_encodings_add_recent (dialog->priv->encodings, code);
- }
+ ephy_encodings_add_recent (dialog->priv->encodings, code);
}
-
- ephy_encoding_info_free (info);
}
void
diff --git a/src/ephy-encoding-menu.c b/src/ephy-encoding-menu.c
index 3eade8ced..b35ada0e6 100644
--- a/src/ephy-encoding-menu.c
+++ b/src/ephy-encoding-menu.c
@@ -150,9 +150,8 @@ update_encoding_menu_cb (GtkAction *dummy, EphyEncodingMenu *menu)
EphyEncodingMenuPrivate *p = menu->priv;
EphyEmbed *embed;
GtkAction *action;
- EphyEncodingInfo *info;
char name[128];
- const char *encoding;
+ char *encoding;
EphyNode *enc_node;
GList *recent, *related = NULL, *l;
EphyLanguageGroup groups;
@@ -170,24 +169,14 @@ update_encoding_menu_cb (GtkAction *dummy, EphyEncodingMenu *menu)
recent = ephy_encodings_get_recent (p->encodings);
embed = ephy_window_get_active_embed (p->window);
- info = ephy_embed_get_encoding_info (embed);
- if (info == NULL) goto build_menu;
-
- LOG ("encoding information\n enc='%s' default='%s' hint='%s' "
- "prev_doc='%s' forced='%s' parent='%s' source=%d "
- "hint_source=%d parent_source=%d", info->encoding,
- info->default_encoding, info->hint_encoding,
- info->prev_doc_encoding, info->forced_encoding,
- info->parent_encoding, info->encoding_source,
- info->hint_encoding_source, info->parent_encoding_source)
-
- encoding = info->encoding;
+ encoding = ephy_embed_get_encoding (embed);
+ if (encoding == NULL) goto build_menu;
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_encoding_info_is_automatic (info);
+ is_automatic = ephy_embed_has_automatic_encoding (embed);
action = gtk_action_group_get_action (p->action_group,
"ViewEncodingAutomatic");
@@ -269,7 +258,7 @@ build_menu:
g_list_free (related);
g_list_free (recent);
- ephy_encoding_info_free (info);
+ g_free (encoding);
menu->priv->update_tag = FALSE;
@@ -280,7 +269,6 @@ static void
encoding_activate_cb (GtkAction *action, EphyEncodingMenu *menu)
{
EphyEmbed *embed;
- EphyEncodingInfo *info;
const char *name, *encoding;
if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)) == FALSE
@@ -294,16 +282,7 @@ encoding_activate_cb (GtkAction *action, EphyEncodingMenu *menu)
embed = ephy_window_get_active_embed (menu->priv->window);
- info = ephy_embed_get_encoding_info (embed);
- if (info == NULL) return;
-
- /* Force only when different from current encoding */
- if (info->encoding && strcmp (info->encoding, encoding) != 0)
- {
- ephy_embed_set_encoding (embed, encoding);
- }
-
- ephy_encoding_info_free (info);
+ ephy_embed_set_encoding (embed, encoding);
ephy_encodings_add_recent (menu->priv->encodings, encoding);
}