aboutsummaryrefslogtreecommitdiffstats
path: root/embed/mozilla/mozilla-embed.cpp
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2003-10-12 01:36:32 +0800
committerChristian Persch <chpe@src.gnome.org>2003-10-12 01:36:32 +0800
commit0b5f13ef5a9f6a28812cfa959ad9f5b786312ad2 (patch)
tree0ea5527c72c09963efef6ae55938c3b36969ad04 /embed/mozilla/mozilla-embed.cpp
parent6c4b99d210e3391080ce18502a507dc38869189c (diff)
downloadgsoc2013-epiphany-0b5f13ef5a9f6a28812cfa959ad9f5b786312ad2.tar
gsoc2013-epiphany-0b5f13ef5a9f6a28812cfa959ad9f5b786312ad2.tar.gz
gsoc2013-epiphany-0b5f13ef5a9f6a28812cfa959ad9f5b786312ad2.tar.bz2
gsoc2013-epiphany-0b5f13ef5a9f6a28812cfa959ad9f5b786312ad2.tar.lz
gsoc2013-epiphany-0b5f13ef5a9f6a28812cfa959ad9f5b786312ad2.tar.xz
gsoc2013-epiphany-0b5f13ef5a9f6a28812cfa959ad9f5b786312ad2.tar.zst
gsoc2013-epiphany-0b5f13ef5a9f6a28812cfa959ad9f5b786312ad2.zip
Encoding menu improvements, part 2: Implement ephy_embed_get_encoding, and
2003-10-11 Christian Persch <chpe@cvs.gnome.org> * embed/ephy-embed.c: (ephy_embed_get_encoding): * embed/ephy-embed.h: * embed/mozilla/EphyWrapper.cpp: * embed/mozilla/EphyWrapper.h: * embed/mozilla/mozilla-embed.cpp: * src/ephy-encoding-menu.c: (ephy_encoding_menu_verb_cb), (update_encoding_menu_cb), (ephy_encoding_menu_set_window): Encoding menu improvements, part 2: Implement ephy_embed_get_encoding, and use it in the menu to indicate the encoding of the loaded page.
Diffstat (limited to 'embed/mozilla/mozilla-embed.cpp')
-rw-r--r--embed/mozilla/mozilla-embed.cpp29
1 files changed, 27 insertions, 2 deletions
diff --git a/embed/mozilla/mozilla-embed.cpp b/embed/mozilla/mozilla-embed.cpp
index 0ca866a05..ae1f7f7b1 100644
--- a/embed/mozilla/mozilla-embed.cpp
+++ b/embed/mozilla/mozilla-embed.cpp
@@ -147,7 +147,9 @@ impl_get_security_level (EphyEmbed *embed,
static gresult
impl_set_encoding (EphyEmbed *embed,
const char *encoding);
-
+static gresult
+impl_get_encoding (EphyEmbed *embed,
+ char **encoding);
static gresult
impl_print (EphyEmbed *embed,
EmbedPrintInfo *info);
@@ -378,6 +380,7 @@ ephy_embed_init (EphyEmbedClass *embed_class)
embed_class->activate = impl_activate;
embed_class->find_set_properties = impl_find_set_properties;
embed_class->set_encoding = impl_set_encoding;
+ embed_class->get_encoding = impl_get_encoding;
embed_class->select_all = impl_select_all;
embed_class->print = impl_print;
embed_class->print_preview_close = impl_print_preview_close;
@@ -1173,7 +1176,7 @@ static gresult
impl_set_encoding (EphyEmbed *embed,
const char *encoding)
{
- nsresult result = NS_OK;
+ nsresult result;
EphyWrapper *wrapper;
wrapper = MOZILLA_EMBED(embed)->priv->wrapper;
@@ -1188,6 +1191,28 @@ impl_set_encoding (EphyEmbed *embed,
return NS_SUCCEEDED(result) ? G_OK : G_FAILED;
}
+static gresult
+impl_get_encoding (EphyEmbed *embed,
+ char **encoding)
+{
+ nsresult result;
+ EphyWrapper *wrapper;
+ nsCAutoString enc;
+
+ g_return_val_if_fail (encoding != NULL, G_FAILED);
+ *encoding = NULL;
+
+ wrapper = MOZILLA_EMBED(embed)->priv->wrapper;
+ g_return_val_if_fail (wrapper != NULL, G_FAILED);
+
+ result = wrapper->GetEncoding (enc);
+ if (NS_FAILED (result)) return G_FAILED;
+
+ *encoding = g_strdup (enc.get());
+
+ return G_OK;
+}
+
static void
mozilla_embed_location_changed_cb (GtkMozEmbed *embed,
MozillaEmbed *membed)