diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/appearance-prefs.c | 5 | ||||
-rw-r--r-- | src/bookmarks/ephy-bookmarks.c | 4 | ||||
-rw-r--r-- | src/ephy-main.c | 8 | ||||
-rw-r--r-- | src/ephy-nautilus-view.c | 4 | ||||
-rw-r--r-- | src/ephy-shell.c | 42 | ||||
-rw-r--r-- | src/ephy-shell.h | 6 | ||||
-rw-r--r-- | src/ephy-tab.c | 5 | ||||
-rw-r--r-- | src/ephy-window.c | 29 | ||||
-rwxr-xr-x | src/general-prefs.c | 2 | ||||
-rwxr-xr-x | src/history-dialog.c | 2 | ||||
-rwxr-xr-x | src/pdm-dialog.c | 17 | ||||
-rw-r--r-- | src/prefs-dialog.c | 4 | ||||
-rw-r--r-- | src/window-commands.c | 3 |
13 files changed, 66 insertions, 65 deletions
diff --git a/src/appearance-prefs.c b/src/appearance-prefs.c index da1056f3f..0cb928cdf 100755 --- a/src/appearance-prefs.c +++ b/src/appearance-prefs.c @@ -179,15 +179,12 @@ setup_font_menu (AppearancePrefs *dialog, { char *default_font; GList *fonts; - EphyEmbedShell *shell; const char *name; char key[255]; int pos; GtkWidget *entry = GTK_COMBO(combo)->entry; - shell = ephy_shell_get_embed_shell (ephy_shell); - - ephy_embed_shell_get_font_list (shell, + ephy_embed_shell_get_font_list (EPHY_EMBED_SHELL (ephy_shell), lang_encode[dialog->priv->language], type, &fonts, &default_font); diff --git a/src/bookmarks/ephy-bookmarks.c b/src/bookmarks/ephy-bookmarks.c index a4f5412a4..7110a2cd8 100644 --- a/src/bookmarks/ephy-bookmarks.c +++ b/src/bookmarks/ephy-bookmarks.c @@ -294,7 +294,7 @@ compute_lower_fav (EphyNode *favorites, double *score) EphyHistory *history; EphyNode *result = NULL; - embed_shell = ephy_shell_get_embed_shell (ephy_shell); + embed_shell = EPHY_EMBED_SHELL (ephy_shell); history = ephy_embed_shell_get_global_history (embed_shell); *score = DBL_MAX; @@ -399,7 +399,7 @@ ephy_setup_history_notifiers (EphyBookmarks *eb) EphyEmbedShell *embed_shell; EphyHistory *history; - embed_shell = ephy_shell_get_embed_shell (ephy_shell); + embed_shell = EPHY_EMBED_SHELL (ephy_shell); history = ephy_embed_shell_get_global_history (embed_shell); g_signal_connect (history, "visited", diff --git a/src/ephy-main.c b/src/ephy-main.c index 0a0093974..becc1d2e5 100644 --- a/src/ephy-main.c +++ b/src/ephy-main.c @@ -23,12 +23,13 @@ #include "ephy-shell.h" #include "ephy-automation.h" #include "ephy-window.h" +#include "ephy-file-helpers.h" #include "EphyAutomation.h" #include <libbonoboui.h> #include <libgnome/gnome-program.h> #include <libgnomeui/gnome-ui-init.h> -#include <libgnomeui/gnome-window-icon.h> +#include <gtk/gtkwindow.h> #include <libgnomevfs/gnome-vfs-init.h> #include <glade/glade-init.h> @@ -147,10 +148,11 @@ main (int argc, char *argv[]) glade_gnome_init (); - gnome_window_icon_set_default_from_file (PIXMAP_DIR "/ephy.png"); - ephy_shell_new (); + gtk_window_set_default_icon_from_file + (ephy_file ("epiphany.png"), NULL); + g_idle_add ((GSourceFunc) ephy_main_start, NULL); bonobo_main (); diff --git a/src/ephy-nautilus-view.c b/src/ephy-nautilus-view.c index 8af22ba66..c485721a5 100644 --- a/src/ephy-nautilus-view.c +++ b/src/ephy-nautilus-view.c @@ -174,8 +174,8 @@ ephy_nautilus_view_instance_init (EphyNautilusView *view) EphyNautilusViewPrivate *p = g_new0 (EphyNautilusViewPrivate, 1); view->priv = p; - view->priv->embed = ephy_embed_new (G_OBJECT (ephy_shell_get_embed_shell (ephy_shell))); - + view->priv->embed = ephy_embed_new (G_OBJECT (ephy_shell)); + g_object_ref (G_OBJECT (ephy_shell)); g_signal_connect (view->priv->embed, "ge_link_message", diff --git a/src/ephy-shell.c b/src/ephy-shell.c index d408a7652..491b01b5f 100644 --- a/src/ephy-shell.c +++ b/src/ephy-shell.c @@ -45,7 +45,6 @@ struct EphyShellPrivate { - EphyEmbedShell *embed_shell; Session *session; EphyAutocompletion *autocompletion; EphyBookmarks *bookmarks; @@ -102,9 +101,9 @@ ephy_shell_get_type (void) (GInstanceInitFunc) ephy_shell_init }; - ephy_shell_type = g_type_register_static (G_TYPE_OBJECT, - "EphyShell", - &our_info, 0); + ephy_shell_type = g_type_register_static (EPHY_EMBED_SHELL_IMPL, + "EphyShell", + &our_info, 0); } return ephy_shell_type; @@ -169,11 +168,7 @@ ephy_shell_init (EphyShell *gs) gs->priv->session = NULL; gs->priv->bookmarks = NULL; - gs->priv->embed_shell = ephy_embed_shell_new ("mozilla"); - - g_assert (gs->priv->embed_shell != NULL); - - g_signal_connect (G_OBJECT(embed_shell), + g_signal_connect (G_OBJECT (gs), "new_window_orphan", G_CALLBACK(ephy_shell_new_window_cb), NULL); @@ -195,9 +190,6 @@ ephy_shell_finalize (GObject *object) g_assert (ephy_shell == NULL); - g_return_if_fail (IS_EPHY_EMBED_SHELL (gs->priv->embed_shell)); - g_object_unref (G_OBJECT (gs->priv->embed_shell)); - if (gs->priv->session) { g_return_if_fail (IS_SESSION(gs->priv->session)); @@ -217,12 +209,12 @@ ephy_shell_finalize (GObject *object) g_object_unref (gs->priv->bookmarks); } - ephy_file_helpers_shutdown (); - ephy_node_system_shutdown (); + G_OBJECT_CLASS (parent_class)->finalize (object); g_free (gs->priv); - G_OBJECT_CLASS (parent_class)->finalize (object); + ephy_file_helpers_shutdown (); + ephy_node_system_shutdown (); #ifdef DEBUG_MARCO g_print ("Ephy shell finalized\n"); @@ -241,22 +233,6 @@ ephy_shell_new (void) return EPHY_SHELL (g_object_new (EPHY_SHELL_TYPE, NULL)); } -/** - * ephy_shell_get_embed_shell: - * @gs: a #EphyShell - * - * Returns the embed shell created by the #EphyShell - * - * Return value: the embed shell - **/ -EphyEmbedShell * -ephy_shell_get_embed_shell (EphyShell *gs) -{ - g_return_val_if_fail (IS_EPHY_SHELL (gs), NULL); - - return gs->priv->embed_shell; -} - static void ephy_init_services (EphyShell *gs) { @@ -312,7 +288,7 @@ build_homepage_url (EphyShell *gs, { /* get location of last page */ gh = ephy_embed_shell_get_global_history - (gs->priv->embed_shell); + (EPHY_EMBED_SHELL (gs)); last_page_url = ephy_history_get_last_page (gh); result = g_strdup (last_page_url); } @@ -495,7 +471,7 @@ ephy_shell_get_autocompletion (EphyShell *gs) NULL }; - EphyHistory *gh = ephy_embed_shell_get_global_history (gs->priv->embed_shell); + EphyHistory *gh = ephy_embed_shell_get_global_history (EPHY_EMBED_SHELL (gs)); EphyFilesystemAutocompletion *fa = ephy_filesystem_autocompletion_new (); p->autocompletion = ephy_autocompletion_new (); ephy_autocompletion_set_prefixes (p->autocompletion, prefixes); diff --git a/src/ephy-shell.h b/src/ephy-shell.h index 3590931f9..0acd107d1 100644 --- a/src/ephy-shell.h +++ b/src/ephy-shell.h @@ -67,21 +67,19 @@ typedef enum struct EphyShell { - GObject parent; + EphyEmbedShell parent; EphyShellPrivate *priv; }; struct EphyShellClass { - GObjectClass parent_class; + EphyEmbedShellClass parent_class; }; GType ephy_shell_get_type (void); EphyShell *ephy_shell_new (void); -EphyEmbedShell *ephy_shell_get_embed_shell (EphyShell *gs); - EphyWindow *ephy_shell_get_active_window (EphyShell *gs); EphyTab *ephy_shell_new_tab (EphyShell *shell, diff --git a/src/ephy-tab.c b/src/ephy-tab.c index b66beb2e7..5ad7090eb 100644 --- a/src/ephy-tab.c +++ b/src/ephy-tab.c @@ -194,7 +194,7 @@ ephy_tab_init (EphyTab *tab) tab->priv = g_new0 (EphyTabPrivate, 1); - shell = ephy_shell_get_embed_shell (ephy_shell); + shell = EPHY_EMBED_SHELL (ephy_shell); tab->priv->embed = ephy_embed_new (G_OBJECT(shell)); @@ -468,6 +468,7 @@ ephy_tab_location_cb (EphyEmbed *embed, EphyTab *tab) { ephy_window_update_control (tab->priv->window, LocationControl); ephy_window_update_control (tab->priv->window, NavControl); + ephy_window_update_control (tab->priv->window, FaviconControl); } } @@ -735,7 +736,7 @@ ephy_tab_visibility_cb (EphyEmbed *embed, gboolean visibility, { gtk_widget_hide (GTK_WIDGET(embed)); } - + ephy_tab_set_visibility (tab, visibility); window = ephy_tab_get_window (tab); diff --git a/src/ephy-window.c b/src/ephy-window.c index d014e4378..dcba93e42 100644 --- a/src/ephy-window.c +++ b/src/ephy-window.c @@ -451,10 +451,17 @@ setup_layout_menus (EphyWindow *window) } static void +favicon_cache_changed_cb (EphyFaviconCache *cache, char *url, EphyWindow *window) +{ + ephy_window_update_control (window, FaviconControl); +} + +static void ephy_window_init (EphyWindow *window) { BonoboUIComponent *ui_component; Session *session; + EphyFaviconCache *cache; session = ephy_shell_get_session (ephy_shell); @@ -466,6 +473,13 @@ ephy_window_init (EphyWindow *window) window->priv->closing = FALSE; window->priv->has_default_size = FALSE; + cache = ephy_embed_shell_get_favicon_cache (EPHY_EMBED_SHELL (ephy_shell)); + g_signal_connect_object (G_OBJECT (cache), + "changed", + G_CALLBACK (favicon_cache_changed_cb), + window, + 0); + /* Setup the window and connect verbs */ setup_bonobo_window (window, &ui_component); window->ui_component = G_OBJECT (ui_component); @@ -1066,6 +1080,21 @@ update_favorites_control (EphyWindow *window) static void update_favicon_control (EphyWindow *window) { + const char *location; + EphyFaviconCache *cache; + + cache = ephy_embed_shell_get_favicon_cache + (EPHY_EMBED_SHELL (ephy_shell)); + + location = ephy_tab_get_location (window->priv->active_tab); + if (location) + { + GdkPixbuf *pixbuf; + + pixbuf = ephy_favicon_cache_lookup_direct (cache, location); + gtk_window_set_icon (GTK_WINDOW (window), pixbuf); + } + toolbar_update_favicon (window->priv->toolbar); } diff --git a/src/general-prefs.c b/src/general-prefs.c index f9eecf4e6..d3d322054 100755 --- a/src/general-prefs.c +++ b/src/general-prefs.c @@ -218,7 +218,7 @@ create_default_charset_menu (GeneralPrefs *dialog) GtkWidget *optionmenu; char *value; - shell = ephy_shell_get_embed_shell (ephy_shell); + shell = EPHY_EMBED_SHELL (ephy_shell); ephy_embed_shell_get_charset_titles (shell, NULL, &l); menu = gtk_menu_new (); diff --git a/src/history-dialog.c b/src/history-dialog.c index ac9aa5449..3ac3be2c7 100755 --- a/src/history-dialog.c +++ b/src/history-dialog.c @@ -367,7 +367,7 @@ history_dialog_init (HistoryDialog *dialog) dialog->priv = g_new0 (HistoryDialogPrivate, 1); - ges = ephy_shell_get_embed_shell (ephy_shell); + ges = EPHY_EMBED_SHELL (ephy_shell); dialog->priv->gh = ephy_embed_shell_get_global_history (ges); g_return_if_fail (dialog->priv->gh != NULL); diff --git a/src/pdm-dialog.c b/src/pdm-dialog.c index 380430911..3524d6495 100755 --- a/src/pdm-dialog.c +++ b/src/pdm-dialog.c @@ -427,18 +427,17 @@ static void pdm_dialog_cookie_remove (PdmActionInfo *info, GList *data) { - EphyEmbedShell *shell; - shell = ephy_shell_get_embed_shell (ephy_shell); - ephy_embed_shell_remove_cookies (shell, data); + ephy_embed_shell_remove_cookies + (EPHY_EMBED_SHELL (ephy_shell), data); } static void pdm_dialog_password_remove (PdmActionInfo *info, GList *data) { - EphyEmbedShell *shell; - shell = ephy_shell_get_embed_shell (ephy_shell); - ephy_embed_shell_remove_passwords (shell, data, PASSWORD_PASSWORD); + ephy_embed_shell_remove_passwords + (EPHY_EMBED_SHELL (ephy_shell), data, + PASSWORD_PASSWORD); } static void @@ -448,7 +447,7 @@ pdm_dialog_cookies_free (PdmActionInfo *info, EphyEmbedShell *shell; GList *l; - shell = ephy_shell_get_embed_shell (ephy_shell); + shell = EPHY_EMBED_SHELL (ephy_shell); l = data ? data : info->list; ephy_embed_shell_free_cookies (shell, l); } @@ -460,7 +459,7 @@ pdm_dialog_passwords_free (PdmActionInfo *info, EphyEmbedShell *shell; GList *l; - shell = ephy_shell_get_embed_shell (ephy_shell); + shell = EPHY_EMBED_SHELL (ephy_shell); l = data ? data : info->list; ephy_embed_shell_free_passwords (shell, l); } @@ -474,7 +473,7 @@ pdm_dialog_init (PdmDialog *dialog) GtkWidget *cookies_tv; GtkWidget *passwords_tv; - shell = ephy_shell_get_embed_shell (ephy_shell); + shell = EPHY_EMBED_SHELL (ephy_shell); dialog->priv = g_new0 (PdmDialogPrivate, 1); dialog->priv->cookies = NULL; diff --git a/src/prefs-dialog.c b/src/prefs-dialog.c index 8f010420c..438cd900e 100644 --- a/src/prefs-dialog.c +++ b/src/prefs-dialog.c @@ -320,7 +320,7 @@ prefs_clear_memory_cache_button_clicked_cb (GtkWidget *button, { EphyEmbedShell *shell; - shell = ephy_shell_get_embed_shell (ephy_shell); + shell = EPHY_EMBED_SHELL (ephy_shell); ephy_embed_shell_clear_cache (shell, MEMORY_CACHE); } @@ -330,6 +330,6 @@ prefs_clear_disk_cache_button_clicked_cb (GtkWidget *button, { EphyEmbedShell *shell; - shell = ephy_shell_get_embed_shell (ephy_shell); + shell = EPHY_EMBED_SHELL (ephy_shell); ephy_embed_shell_clear_cache (shell, DISK_CACHE); } diff --git a/src/window-commands.c b/src/window-commands.c index c7d5ec16c..84fabab15 100644 --- a/src/window-commands.c +++ b/src/window-commands.c @@ -364,8 +364,7 @@ window_cmd_file_open (BonoboUIComponent *uic, EphyEmbedShell *embed_shell; gresult result; - embed_shell = ephy_shell_get_embed_shell (ephy_shell); - g_return_if_fail (embed_shell != NULL); + embed_shell = EPHY_EMBED_SHELL (ephy_shell); wmain = GTK_WIDGET (window); g_return_if_fail (wmain != NULL); |