diff options
author | Christian Persch <chpe@cvs.gnome.org> | 2004-12-19 03:40:08 +0800 |
---|---|---|
committer | Christian Persch <chpe@src.gnome.org> | 2004-12-19 03:40:08 +0800 |
commit | 0a389e07241775316dfb866341a1a3c9f6b8a441 (patch) | |
tree | 9d96af228f87def15b797f2f8ec5151bce6439c9 /embed/ephy-embed.c | |
parent | 29604a8fa8cf16a2b0e55ff6f8b9d10e57dd9be5 (diff) | |
download | gsoc2013-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.c | 49 |
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; } } |