diff options
author | Marco Pesenti Gritti <marco@it.gnome.org> | 2003-01-05 21:51:43 +0800 |
---|---|---|
committer | Marco Pesenti Gritti <mpeseng@src.gnome.org> | 2003-01-05 21:51:43 +0800 |
commit | ae767a6174e353acb3b1a850fdefdffebeec9817 (patch) | |
tree | 6a6cbf8bce7af4c04fabaae2ef4123c4a0fde7f3 /embed | |
parent | a3f1d414e8ae27d380fe224bdf4f0a9e9740285c (diff) | |
download | gsoc2013-epiphany-ae767a6174e353acb3b1a850fdefdffebeec9817.tar gsoc2013-epiphany-ae767a6174e353acb3b1a850fdefdffebeec9817.tar.gz gsoc2013-epiphany-ae767a6174e353acb3b1a850fdefdffebeec9817.tar.bz2 gsoc2013-epiphany-ae767a6174e353acb3b1a850fdefdffebeec9817.tar.lz gsoc2013-epiphany-ae767a6174e353acb3b1a850fdefdffebeec9817.tar.xz gsoc2013-epiphany-ae767a6174e353acb3b1a850fdefdffebeec9817.tar.zst gsoc2013-epiphany-ae767a6174e353acb3b1a850fdefdffebeec9817.zip |
Make GaleonShell inherit from GaleonEmbedShell. Ref the shell when using
2003-01-05 Marco Pesenti Gritti <marco@it.gnome.org>
* data/art/Makefile.am:
* data/art/epiphany.png:
* data/epiphany.schemas.in:
* data/glade/epiphany.glade:
* embed/downloader-view.c: (downloader_view_init),
(downloader_view_finalize):
* embed/ephy-embed-favicon.c: (ephy_embed_favicon_set_property):
* embed/ephy-embed-shell.c: (ephy_embed_shell_get_impl),
(ephy_embed_shell_get_type), (ephy_embed_shell_new):
* embed/ephy-embed-shell.h:
* embed/ephy-embed-utils.c:
(ephy_embed_utils_build_charsets_submenu):
* embed/mozilla/mozilla-embed-persist.cpp:
* embed/mozilla/mozilla-embed.cpp:
* src/appearance-prefs.c: (setup_font_menu):
* src/bookmarks/ephy-bookmarks.c: (compute_lower_fav),
(ephy_setup_history_notifiers):
* src/ephy-main.c: (main):
* src/ephy-nautilus-view.c: (ephy_nautilus_view_instance_init):
* src/ephy-shell.c: (ephy_shell_get_type), (ephy_shell_init),
(ephy_shell_finalize), (build_homepage_url),
(ephy_shell_get_autocompletion):
* src/ephy-shell.h:
* src/ephy-tab.c: (ephy_tab_init), (ephy_tab_location_cb),
(ephy_tab_visibility_cb):
* src/ephy-window.c: (favicon_cache_changed_cb),
(ephy_window_init), (update_favicon_control):
* src/general-prefs.c: (create_default_charset_menu):
* src/history-dialog.c: (history_dialog_init):
* src/pdm-dialog.c: (pdm_dialog_cookie_remove),
(pdm_dialog_password_remove), (pdm_dialog_cookies_free),
(pdm_dialog_passwords_free), (pdm_dialog_init):
* src/prefs-dialog.c: (prefs_clear_memory_cache_button_clicked_cb),
(prefs_clear_disk_cache_button_clicked_cb):
* src/window-commands.c: (window_cmd_file_open):
Make GaleonShell inherit from GaleonEmbedShell.
Ref the shell when using the downloader.
Use favicons for the window icon when possible.
This required to use jimmac icon as default,
we still dont have his permission, I'll remove it
later if necessary.
Diffstat (limited to 'embed')
-rw-r--r-- | embed/downloader-view.c | 8 | ||||
-rw-r--r-- | embed/ephy-embed-favicon.c | 12 | ||||
-rw-r--r-- | embed/ephy-embed-shell.c | 27 | ||||
-rw-r--r-- | embed/ephy-embed-shell.h | 13 | ||||
-rw-r--r-- | embed/ephy-embed-utils.c | 1 | ||||
-rw-r--r-- | embed/mozilla/mozilla-embed-persist.cpp | 3 | ||||
-rw-r--r-- | embed/mozilla/mozilla-embed.cpp | 20 |
7 files changed, 35 insertions, 49 deletions
diff --git a/embed/downloader-view.c b/embed/downloader-view.c index 97e05a613..c7cdc2ef6 100644 --- a/embed/downloader-view.c +++ b/embed/downloader-view.c @@ -23,6 +23,7 @@ #include "ephy-ellipsizing-label.h" #include "ephy-embed-utils.h" #include "ephy-file-helpers.h" +#include "ephy-embed-shell.h" #include <gtk/gtktreeview.h> #include <gtk/gtkliststore.h> @@ -85,7 +86,7 @@ typedef struct gchar *source; gchar *dest; DownloadStatus status; - + GtkTreeRowReference *ref; } DownloadDetails; @@ -277,8 +278,9 @@ downloader_view_init (DownloaderView *dv) g_direct_equal, NULL, (GDestroyNotify)destroy_details_cb); - downloader_view_build_ui (dv); + + g_object_ref (embed_shell); } static void @@ -295,6 +297,8 @@ downloader_view_finalize (GObject *object) g_hash_table_destroy (dv->priv->details_hash); + g_object_unref (embed_shell); + g_free (dv->priv); G_OBJECT_CLASS (parent_class)->finalize (object); diff --git a/embed/ephy-embed-favicon.c b/embed/ephy-embed-favicon.c index f7fa43e3b..7afbbd831 100644 --- a/embed/ephy-embed-favicon.c +++ b/embed/ephy-embed-favicon.c @@ -134,13 +134,6 @@ update_url (EphyEmbedFavicon *favicon) } static void -location_changed_cb (EphyEmbed *embed, - EphyEmbedFavicon *favicon) -{ - update_url (favicon); -} - -static void favicon_cb (EphyEmbed *embed, const char *favicon_url, EphyEmbedFavicon *favicon) @@ -186,11 +179,6 @@ ephy_embed_favicon_set_property (GObject *object, G_CALLBACK (favicon_cb), favicon, 0); - g_signal_connect_object (G_OBJECT (favicon->priv->embed), - "ge_location", - G_CALLBACK (location_changed_cb), - favicon, - 0); update_url (favicon); } break; diff --git a/embed/ephy-embed-shell.c b/embed/ephy-embed-shell.c index 9bb72942a..69d1c98dd 100644 --- a/embed/ephy-embed-shell.c +++ b/embed/ephy-embed-shell.c @@ -46,8 +46,6 @@ static void ephy_embed_shell_init (EphyEmbedShell *ges); static void ephy_embed_shell_finalize (GObject *object); -static void -ephy_embed_shell_finalize (GObject *object); static EphyHistory * impl_get_global_history (EphyEmbedShell *shell); @@ -60,6 +58,12 @@ static guint ephy_embed_shell_signals[LAST_SIGNAL] = { 0 }; EphyEmbedShell *embed_shell; GType +ephy_embed_shell_get_impl (void) +{ + return MOZILLA_EMBED_SHELL_TYPE; +} + +GType ephy_embed_shell_get_type (void) { static GType ephy_embed_shell_type = 0; @@ -80,8 +84,8 @@ ephy_embed_shell_get_type (void) }; ephy_embed_shell_type = g_type_register_static (G_TYPE_OBJECT, - "EphyEmbedShell", - &our_info, 0); + "EphyEmbedShell", + &our_info, 0); } return ephy_embed_shell_type; @@ -175,21 +179,6 @@ ephy_embed_shell_new (const char *type) return NULL; } -const char *supported_embeds [] = { -#ifdef ENABLE_MOZILLA_EMBED - "mozilla", -#endif -#ifdef ENABLE_GTKHTML_EMBED - "gtkhtml", -#endif - NULL }; - -const char ** -ephy_embed_shell_get_supported (void) -{ - return supported_embeds; -} - /** * ephy_embed_shell_get_favicon_cache: * @gs: a #EphyShell diff --git a/embed/ephy-embed-shell.h b/embed/ephy-embed-shell.h index 75d630f23..105db27f2 100644 --- a/embed/ephy-embed-shell.h +++ b/embed/ephy-embed-shell.h @@ -32,10 +32,11 @@ G_BEGIN_DECLS typedef struct EphyEmbedShellClass EphyEmbedShellClass; #define EPHY_EMBED_SHELL_TYPE (ephy_embed_shell_get_type ()) -#define EPHY_EMBED_SHELL(obj) (GTK_CHECK_CAST ((obj), EPHY_EMBED_SHELL_TYPE, EphyEmbedShell)) -#define EPHY_EMBED_SHELL_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), EPHY_EMBED_SHELL_TYPE, EphyEmbedShellClass)) -#define IS_EPHY_EMBED_SHELL(obj) (GTK_CHECK_TYPE ((obj), EPHY_EMBED_SHELL_TYPE)) -#define IS_EPHY_EMBED_SHELL_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), EPHY_EMBED_SHELL)) +#define EPHY_EMBED_SHELL_IMPL (ephy_embed_shell_get_impl ()) +#define EPHY_EMBED_SHELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EPHY_EMBED_SHELL_TYPE, EphyEmbedShell)) +#define EPHY_EMBED_SHELL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EPHY_EMBED_SHELL_TYPE, EphyEmbedShellClass)) +#define IS_EPHY_EMBED_SHELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EPHY_EMBED_SHELL_TYPE)) +#define IS_EPHY_EMBED_SHELL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EPHY_EMBED_SHELL_TYPE)) #define EPHY_EMBED_SHELL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EPHY_EMBED_SHELL_TYPE, EphyEmbedShellClass)) typedef struct EphyEmbedShell EphyEmbedShell; @@ -186,6 +187,8 @@ struct EphyEmbedShellClass GType ephy_embed_shell_get_type (void); +GType ephy_embed_shell_get_impl (void); + EphyEmbedShell *ephy_embed_shell_new (const char *type); EphyFaviconCache *ephy_embed_shell_get_favicon_cache (EphyEmbedShell *ges); @@ -200,8 +203,6 @@ EphyEmbed *ephy_embed_shell_get_active_embed (EphyEmbedShell *ges); GList *ephy_embed_shell_get_embeds (EphyEmbedShell *ges); -const char **ephy_embed_shell_get_supported (void); - void ephy_embed_shell_get_capabilities (EphyEmbedShell *shell, EmbedShellCapabilities *caps); diff --git a/embed/ephy-embed-utils.c b/embed/ephy-embed-utils.c index f76a2b7e5..69089daa4 100644 --- a/embed/ephy-embed-utils.c +++ b/embed/ephy-embed-utils.c @@ -240,6 +240,7 @@ ephy_embed_utils_build_charsets_submenu (BonoboUIComponent *ui_component, g_timer_start(timer); #endif + g_return_if_fail (IS_EPHY_EMBED_SHELL (embed_shell)); g_return_if_fail (ephy_embed_shell_get_charset_groups (embed_shell, &groups) == G_OK); xml_string = g_string_new (NULL); diff --git a/embed/mozilla/mozilla-embed-persist.cpp b/embed/mozilla/mozilla-embed-persist.cpp index c0c8cb06e..9f9ac185c 100644 --- a/embed/mozilla/mozilla-embed-persist.cpp +++ b/embed/mozilla/mozilla-embed-persist.cpp @@ -167,7 +167,8 @@ impl_save (EphyEmbedPersist *persist) if (embed) { - wrapper = (EphyWrapper *) mozilla_embed_get_galeon_wrapper (MOZILLA_EMBED(embed)); + wrapper = (EphyWrapper *) mozilla_embed_get_galeon_wrapper (MOZILLA_EMBED(embed)); + g_return_val_if_fail (wrapper != NULL, G_FAILED); wrapper->GetDOMWindow (getter_AddRefs (parent)); } diff --git a/embed/mozilla/mozilla-embed.cpp b/embed/mozilla/mozilla-embed.cpp index 66330db4a..8c39dd460 100644 --- a/embed/mozilla/mozilla-embed.cpp +++ b/embed/mozilla/mozilla-embed.cpp @@ -274,7 +274,7 @@ mozilla_embed_get_type (void) static const GInterfaceInfo embed_info = { - (GInterfaceInitFunc) ephy_embed_init, /* interface_init */ + (GInterfaceInitFunc) ephy_embed_init, /* interface_init */ NULL, /* interface_finalize */ NULL /* interface_data */ }; @@ -357,8 +357,6 @@ mozilla_embed_init (MozillaEmbed *embed) gpointer mozilla_embed_get_galeon_wrapper (MozillaEmbed *embed) { - g_return_val_if_fail (embed->priv->wrapper != NULL, NULL); - return embed->priv->wrapper; } @@ -719,6 +717,8 @@ impl_get_location (EphyEmbed *embed, } *location = l; + + if (l == NULL) return G_FAILED; return G_OK; } @@ -1309,14 +1309,16 @@ mozilla_embed_visibility_cb (GtkMozEmbed *embed, gboolean visibility, (do_GetService(WINDOWWATCHER_CONTRACTID, &rv)); if (NS_FAILED(rv) || !wwatch) return; - EphyWrapper *wrapper = (EphyWrapper *)mozilla_embed_get_galeon_wrapper(membed); - if(!wrapper) return; + EphyWrapper *wrapper = membed->priv->wrapper; - nsCOMPtr<nsIDOMWindow> domWindow; - rv = wrapper->GetDOMWindow(getter_AddRefs(domWindow)); - if(NS_FAILED(rv) || !domWindow) return; + if (wrapper) + { + nsCOMPtr<nsIDOMWindow> domWindow; + rv = wrapper->GetDOMWindow(getter_AddRefs(domWindow)); + if(NS_FAILED(rv) || !domWindow) return; - rv = wwatch->SetActiveWindow(domWindow); + rv = wwatch->SetActiveWindow(domWindow); + } } static void |