aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@gnome.org>2003-11-22 19:32:34 +0800
committerMarco Pesenti Gritti <marco@src.gnome.org>2003-11-22 19:32:34 +0800
commita0e702ef16f5e52c9c366713934c07aa3dc2ce7a (patch)
treee9f71380e21af46897b068308cb1983d942f920e /src
parentd961598c3761da5a673acef2d2f7abd33586f1c1 (diff)
downloadgsoc2013-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.am2
-rw-r--r--src/ephy-nautilus-view.c9
-rw-r--r--src/ephy-tab.c8
-rw-r--r--src/popup-commands.c9
-rw-r--r--src/window-commands.c10
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);