aboutsummaryrefslogtreecommitdiffstats
path: root/embed/ephy-embed.c
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2004-12-19 03:40:08 +0800
committerChristian Persch <chpe@src.gnome.org>2004-12-19 03:40:08 +0800
commit0a389e07241775316dfb866341a1a3c9f6b8a441 (patch)
tree9d96af228f87def15b797f2f8ec5151bce6439c9 /embed/ephy-embed.c
parent29604a8fa8cf16a2b0e55ff6f8b9d10e57dd9be5 (diff)
downloadgsoc2013-epiphany-0a389e07241775316dfb866341a1a3c9f6b8a441.tar
gsoc2013-epiphany-0a389e07241775316dfb866341a1a3c9f6b8a441.tar.gz
gsoc2013-epiphany-0a389e07241775316dfb866341a1a3c9f6b8a441.tar.bz2
gsoc2013-epiphany-0a389e07241775316dfb866341a1a3c9f6b8a441.tar.lz
gsoc2013-epiphany-0a389e07241775316dfb866341a1a3c9f6b8a441.tar.xz
gsoc2013-epiphany-0a389e07241775316dfb866341a1a3c9f6b8a441.tar.zst
gsoc2013-epiphany-0a389e07241775316dfb866341a1a3c9f6b8a441.zip
Disable Zoom items for images, and disable zoom, encoding and view source
2004-12-18 Christian Persch <chpe@cvs.gnome.org> * embed/ephy-embed.c: (ephy_embed_chrome_get_type), (ephy_embed_document_type_get_type), (ephy_embed_base_init): * embed/ephy-embed.h: * embed/mozilla/EphyBrowser.cpp: * embed/mozilla/EphyBrowser.h: * embed/mozilla/mozilla-embed.cpp: * src/ephy-tab.c: (ephy_tab_set_property), (ephy_tab_get_property), (ephy_tab_class_init), (ephy_tab_get_document_type), (ephy_tab_document_type_cb), (ephy_tab_init): * src/ephy-tab.h: * src/ephy-window.c: (sync_tab_document_type), (sync_tab_zoom), (ephy_window_set_active_tab): * src/toolbar.c: (toolbar_update_zoom): * src/toolbar.h: Disable Zoom items for images, and disable zoom, encoding and view source for images and xml (xul) documents. Fixes bug #132240.
Diffstat (limited to 'embed/ephy-embed.c')
-rw-r--r--embed/ephy-embed.c49
1 files changed, 44 insertions, 5 deletions
diff --git a/embed/ephy-embed.c b/embed/ephy-embed.c
index a8476cd5c..5e43262f6 100644
--- a/embed/ephy-embed.c
+++ b/embed/ephy-embed.c
@@ -31,9 +31,9 @@ static void ephy_embed_base_init (gpointer g_class);
GType
ephy_embed_chrome_get_type (void)
{
- static GType etype = 0;
+ static GType type = 0;
- if (etype == 0)
+ if (G_UNLIKELY (type == 0))
{
static const GFlagsValue values[] =
{
@@ -44,10 +44,32 @@ ephy_embed_chrome_get_type (void)
{ 0, NULL, NULL }
};
- etype = g_flags_register_static ("EphyEmbedChrome", values);
+ type = g_flags_register_static ("EphyEmbedChrome", values);
+ }
+
+ return type;
+}
+
+GType
+ephy_embed_document_type_get_type (void)
+{
+ static GType type = 0;
+
+ if (G_UNLIKELY (type == 0))
+ {
+ static const GEnumValue values[] =
+ {
+ { EMBED_DOCUMENT_HTML, "EMBED_DOCUMENT_HTML", "html" },
+ { EMBED_DOCUMENT_XML, "EMBED_DOCUMENT_XML", "xml" },
+ { EMBED_DOCUMENT_IMAGE, "EMBED_DOCUMENT_IMAGE", "image" },
+ { EMBED_DOCUMENT_OTHER, "EMBED_DOCUMENT_OTHER", "other" },
+ { 0, NULL, NULL }
+ };
+
+ type = g_enum_register_static ("EphyEmbedDocumentType", values);
}
- return etype;
+ return type;
}
GType
@@ -129,7 +151,7 @@ ephy_embed_base_init (gpointer g_class)
g_signal_new ("ge_context_menu",
EPHY_TYPE_EMBED,
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EphyEmbedIface, context_menu),
+ G_STRUCT_OFFSET (EphyEmbedIface, dom_context_menu),
g_signal_accumulator_true_handled, NULL,
ephy_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN,
@@ -318,6 +340,23 @@ ephy_embed_base_init (gpointer g_class)
G_TYPE_NONE,
0);
+/**
+ * EphyEmbed::ge-document-type:
+ * @embed:
+ * @type: the new document type
+ *
+ * The ::ge-document-type signal is emitted when @embed determines the type of its document.
+ **/
+ g_signal_new ("ge_document_type",
+ EPHY_TYPE_EMBED,
+ G_SIGNAL_RUN_FIRST,
+ G_STRUCT_OFFSET (EphyEmbedIface, document_type),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__ENUM,
+ G_TYPE_NONE,
+ 1,
+ EPHY_TYPE_EMBED_DOCUMENT_TYPE);
+
initialized = TRUE;
}
}