Index: ephy-page-info-extension.c =================================================================== RCS file: /cvs/gnome/epiphany-extensions/extensions/page-info/ephy-page-info-extension.c,v retrieving revision 1.14 diff -u -r1.14 ephy-page-info-extension.c --- ephy-page-info-extension.c 13 Jan 2005 16:15:48 -0000 1.14 +++ ephy-page-info-extension.c 23 Jan 2005 13:30:53 -0000 @@ -198,18 +198,18 @@ } static void -tab_added_cb (GtkWidget *notebook, - EphyTab *tab, - EphyWindow *window) +impl_attach_tab (EphyExtension *extension, + EphyWindow *window, + EphyTab *tab) { g_signal_connect_after (tab, "notify::load-status", G_CALLBACK (load_status_cb), window); } static void -tab_removed_cb (GtkWidget *notebook, - EphyTab *tab, - EphyWindow *window) +impl_detach_tab (EphyExtension *extension, + EphyWindow *window, + EphyTab *tab) { g_signal_handlers_disconnect_by_func (tab, G_CALLBACK (load_status_cb), window); @@ -233,7 +233,6 @@ guint ui_id; WindowData *data; GtkWidget *notebook; - GList *tabs, *l; LOG ("EphyPageInfoExtension attach_window") @@ -266,17 +265,6 @@ notebook = ephy_window_get_notebook (window); - tabs = ephy_window_get_tabs (window); - for (l = tabs; l != NULL; l = l->next) - { - tab_added_cb (notebook, (EphyTab *) l->data, window); - } - g_list_free (tabs); - - g_signal_connect_after (notebook, "tab_added", - G_CALLBACK (tab_added_cb), window); - g_signal_connect_after (notebook, "tab_removed", - G_CALLBACK (tab_removed_cb), window); g_signal_connect_after (notebook, "switch_page", G_CALLBACK (switch_page_cb), window); } @@ -288,7 +276,6 @@ GtkUIManager *manager; WindowData *data; GtkWidget *notebook; - GList *tabs, *l; manager = GTK_UI_MANAGER (ephy_window_get_ui_manager (window)); @@ -303,18 +290,7 @@ notebook = ephy_window_get_notebook (window); g_signal_handlers_disconnect_by_func - (notebook, G_CALLBACK (tab_added_cb), window); - g_signal_handlers_disconnect_by_func - (notebook, G_CALLBACK (tab_removed_cb), window); - g_signal_handlers_disconnect_by_func (notebook, G_CALLBACK (switch_page_cb), window); - - tabs = ephy_window_get_tabs (window); - for (l = tabs; l != NULL; l = l->next) - { - tab_removed_cb (notebook, (EphyTab *) l->data, window); - } - g_list_free (tabs); } static void @@ -322,4 +298,6 @@ { iface->attach_window = impl_attach_window; iface->detach_window = impl_detach_window; + iface->attach_tab = impl_attach_tab; + iface->detach_tab = impl_detach_tab; }