diff options
author | Marco Pesenti Gritti <marco@gnome.org> | 2003-11-22 19:32:34 +0800 |
---|---|---|
committer | Marco Pesenti Gritti <marco@src.gnome.org> | 2003-11-22 19:32:34 +0800 |
commit | a0e702ef16f5e52c9c366713934c07aa3dc2ce7a (patch) | |
tree | e9f71380e21af46897b068308cb1983d942f920e /src | |
parent | d961598c3761da5a673acef2d2f7abd33586f1c1 (diff) | |
download | gsoc2013-epiphany-a0e702ef16f5e52c9c366713934c07aa3dc2ce7a.tar gsoc2013-epiphany-a0e702ef16f5e52c9c366713934c07aa3dc2ce7a.tar.gz gsoc2013-epiphany-a0e702ef16f5e52c9c366713934c07aa3dc2ce7a.tar.bz2 gsoc2013-epiphany-a0e702ef16f5e52c9c366713934c07aa3dc2ce7a.tar.lz gsoc2013-epiphany-a0e702ef16f5e52c9c366713934c07aa3dc2ce7a.tar.xz gsoc2013-epiphany-a0e702ef16f5e52c9c366713934c07aa3dc2ce7a.tar.zst gsoc2013-epiphany-a0e702ef16f5e52c9c366713934c07aa3dc2ce7a.zip |
Add a factory to create embed objects and use it. Deal with dependency of
2003-11-22 Marco Pesenti Gritti <marco@gnome.org>
* doc/reference/Makefile.am:
* embed/Makefile.am:
* embed/ephy-embed-persist.c: (ephy_embed_persist_save):
* embed/ephy-embed-persist.h:
* embed/ephy-embed-popup-control.c: (save_url),
(embed_popup_set_image_as_background_cmd):
* embed/ephy-embed-shell.c: (ephy_embed_shell_get_embed_single):
* embed/ephy-embed.c:
* embed/ephy-embed.h:
* embed/ephy-favicon-cache.c: (ephy_favicon_cache_download):
* embed/mozilla/mozilla-embed-persist.cpp:
* embed/mozilla/mozilla-embed-single.cpp:
* embed/mozilla/mozilla-embed-single.h:
* embed/mozilla/mozilla-embed.cpp:
* src/Makefile.am:
* src/ephy-nautilus-view.c: (ephy_nautilus_view_instance_init):
* src/ephy-tab.c: (ephy_tab_init):
* src/popup-commands.c: (save_property_url),
(popup_cmd_set_image_as_background):
* src/window-commands.c: (window_cmd_file_save_as),
(save_temp_source):
Add a factory to create embed objects and use it.
Deal with dependency of mozilla-embed and mozilla-embed-persist
on mozilla-embed-single internally.
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/ephy-nautilus-view.c | 9 | ||||
-rw-r--r-- | src/ephy-tab.c | 8 | ||||
-rw-r--r-- | src/popup-commands.c | 9 | ||||
-rw-r--r-- | src/window-commands.c | 10 |
5 files changed, 24 insertions, 14 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index 936f76e20..e4c3c48be 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -121,6 +121,8 @@ epiphany_bin_SOURCES = ephy-main.c epiphany_bin_LDADD = \ $(top_builddir)/src/libephymain.la \ $(top_builddir)/src/bookmarks/libephybookmarks.la \ + $(top_builddir)/embed/libephyembedfactory.la \ + $(top_builddir)/embed/mozilla/libephymozillaembed.la \ $(top_builddir)/embed/libephyembed.la \ $(top_builddir)/lib/widgets/libephywidgets.la \ $(top_builddir)/lib/libephymisc.la \ diff --git a/src/ephy-nautilus-view.c b/src/ephy-nautilus-view.c index 14587ae3d..84351e0eb 100644 --- a/src/ephy-nautilus-view.c +++ b/src/ephy-nautilus-view.c @@ -27,6 +27,7 @@ #include <bonobo/bonobo-ui-util.h> #include <string.h> +#include "ephy-embed-factory.h" #include "ephy-embed-popup-control.h" #include "ephy-nautilus-view.h" #include "ephy-embed.h" @@ -157,17 +158,15 @@ ephy_nautilus_view_instance_init (EphyNautilusView *view) { GtkWidget *w; EphyNautilusViewPrivate *p = EPHY_NAUTILUS_VIEW_GET_PRIVATE (view); - EphyEmbedSingle *single; float *levels; gchar **names; guint i; BonoboControl *control; - single = ephy_embed_shell_get_embed_single - (EPHY_EMBED_SHELL (ephy_shell)); - view->priv = p; - view->priv->embed = ephy_embed_new (G_OBJECT (single)); + + view->priv->embed = EPHY_EMBED + (ephy_embed_factory_new_object ("EphyEmbed")); g_signal_connect (view->priv->embed, "link_message", G_CALLBACK (gnv_embed_link_message_cb), diff --git a/src/ephy-tab.c b/src/ephy-tab.c index ac8859f69..def1e741b 100644 --- a/src/ephy-tab.c +++ b/src/ephy-tab.c @@ -26,6 +26,7 @@ #include "ephy-shell.h" #include "eel-gconf-extensions.h" #include "ephy-prefs.h" +#include "ephy-embed-factory.h" #include "ephy-embed-prefs.h" #include "ephy-debug.h" #include "ephy-string.h" @@ -1035,15 +1036,11 @@ static void ephy_tab_init (EphyTab *tab) { GObject *embed, *embed_widget; - EphyEmbedSingle *single; EphyFaviconCache *cache; char *id; LOG ("EphyTab initialising %p", tab) - single = ephy_embed_shell_get_embed_single - (EPHY_EMBED_SHELL (ephy_shell)); - tab->priv = EPHY_TAB_GET_PRIVATE (tab); tab->priv->window = NULL; @@ -1065,7 +1062,8 @@ ephy_tab_init (EphyTab *tab) tab->priv->setting_zoom = FALSE; tab->priv->address_expire = TAB_ADDRESS_EXPIRE_NOW; - tab->priv->embed = ephy_embed_new (G_OBJECT(single)); + tab->priv->embed = EPHY_EMBED + (ephy_embed_factory_new_object ("EphyEmbed")); g_assert (tab->priv->embed != NULL); embed = G_OBJECT (tab->priv->embed); diff --git a/src/popup-commands.c b/src/popup-commands.c index 6d8a1c4a7..ac5e5ee43 100644 --- a/src/popup-commands.c +++ b/src/popup-commands.c @@ -25,6 +25,7 @@ #include "popup-commands.h" #include "ephy-shell.h" #include "ephy-new-bookmark.h" +#include "ephy-embed-factory.h" #include "ephy-embed-persist.h" #include "ephy-prefs.h" #include "eel-gconf-extensions.h" @@ -282,8 +283,10 @@ save_property_url (GtkAction *action, ephy_embed_event_get_property (info, property, &value); location = g_value_get_string (value); - persist = ephy_embed_persist_new (embed); + persist = EPHY_EMBED_PERSIST + (ephy_embed_factory_new_object ("EphyEmbedPersist")); + ephy_embed_persist_set_embed (persist, embed); ephy_embed_persist_set_fc_title (persist, title); ephy_embed_persist_set_fc_parent (persist,GTK_WINDOW (window)); ephy_embed_persist_set_flags @@ -373,11 +376,13 @@ popup_cmd_set_image_as_background (GtkAction *action, ephy_embed_event_get_property (info, "image", &value); location = g_value_get_string (value); - persist = ephy_embed_persist_new (embed); + persist = EPHY_EMBED_PERSIST + (ephy_embed_factory_new_object ("EphyEmbedPersist")); base = g_path_get_basename (location); dest = g_build_filename (ephy_dot_dir (), base, NULL); + ephy_embed_persist_set_embed (persist, embed); ephy_embed_persist_set_dest (persist, dest); ephy_embed_persist_set_flags (persist, EMBED_PERSIST_NO_VIEW); ephy_embed_persist_set_source (persist, location); diff --git a/src/window-commands.c b/src/window-commands.c index c5a693f9e..f545747fb 100644 --- a/src/window-commands.c +++ b/src/window-commands.c @@ -23,6 +23,7 @@ #endif #include "ephy-shell.h" +#include "ephy-embed-factory.h" #include "ephy-embed-persist.h" #include "ephy-debug.h" #include "ephy-command-manager.h" @@ -378,8 +379,10 @@ window_cmd_file_save_as (GtkAction *action, embed = ephy_window_get_active_embed (window); g_return_if_fail (embed != NULL); - persist = ephy_embed_persist_new (embed); + persist = EPHY_EMBED_PERSIST + (ephy_embed_factory_new_object ("EphyEmbedPersist")); + ephy_embed_persist_set_embed (persist, embed); ephy_embed_persist_set_fc_title (persist, _("Save As")); ephy_embed_persist_set_fc_parent (persist,GTK_WINDOW (window)); ephy_embed_persist_set_flags @@ -736,7 +739,10 @@ save_temp_source (EphyEmbed *embed) tmp = ephy_file_tmp_filename (base, "html"); g_free (base); - persist = ephy_embed_persist_new (embed); + persist = EPHY_EMBED_PERSIST + (ephy_embed_factory_new_object ("EphyEmbedPersist")); + + ephy_embed_persist_set_embed (persist, embed); ephy_embed_persist_set_flags (persist, EMBED_PERSIST_COPY_PAGE | EMBED_PERSIST_NO_VIEW); ephy_embed_persist_set_dest (persist, tmp); |