[evolution/kill-bonobo: 21/25] Stop abusing forward declarations.



commit c0d998229d5a3d2b65445b9025de7b23112f4063
Author: Matthew Barnes <mbarnes redhat com>
Date:   Thu Jun 18 15:26:21 2009 -0400

    Stop abusing forward declarations.

 addressbook/gui/component/addressbook-config.c     |   14 +-
 calendar/gui/dialogs/calendar-setup.c              |   18 ++--
 calendar/gui/dialogs/calendar-setup.h              |   17 ++--
 calendar/gui/e-cal-popup.h                         |   23 ++--
 calendar/gui/e-calendar-view.h                     |    4 +-
 calendar/gui/gnome-cal.h                           |    6 +-
 e-util/e-config.c                                  |   10 +-
 e-util/e-config.h                                  |   25 ++---
 e-util/e-error.c                                   |    6 +-
 e-util/e-error.h                                   |   12 +-
 e-util/e-import.c                                  |    4 +-
 e-util/e-import.h                                  |   11 +-
 e-util/e-menu.h                                    |    6 +-
 e-util/e-popup.h                                   |   10 +-
 e-util/e-profile-event.h                           |    3 -
 mail/em-account-editor.c                           |  124 ++++++++++----------
 mail/em-account-editor.h                           |   27 +++--
 mail/em-composer-prefs.h                           |    4 +-
 mail/em-composer-utils.h                           |   50 ++++-----
 mail/em-config.c                                   |    2 +-
 mail/em-config.h                                   |   20 ++--
 mail/em-event.h                                    |   22 ++--
 mail/em-folder-properties.c                        |    2 +-
 mail/em-folder-selector.h                          |    2 +-
 mail/em-folder-view.h                              |   25 ++--
 mail/em-format-hook.c                              |    2 +-
 mail/em-format-hook.h                              |    4 +-
 mail/em-format-html.c                              |    2 +-
 mail/em-icon-stream.c                              |    2 +-
 mail/em-icon-stream.h                              |    9 +-
 mail/em-inline-filter.h                            |    9 +-
 mail/em-junk-hook.h                                |    3 +-
 mail/em-mailer-prefs.c                             |    2 +-
 mail/em-mailer-prefs.h                             |    6 +-
 mail/em-menu.c                                     |    4 +-
 mail/em-menu.h                                     |    7 +-
 mail/em-network-prefs.c                            |    2 +-
 mail/em-network-prefs.h                            |    2 -
 mail/em-popup.c                                    |    4 +-
 mail/em-popup.h                                    |    9 +-
 mail/em-utils.c                                    |    4 +-
 mail/importers/mail-importer.h                     |   38 +++---
 mail/mail-autofilter.h                             |   23 ++--
 mail/mail-component.h                              |   23 ++--
 mail/mail-config.h                                 |   26 ++---
 mail/mail-mt.c                                     |    6 +-
 mail/mail-tools.h                                  |   32 +++---
 mail/mail-vfolder.h                                |   29 +++---
 mail/message-list.h                                |    3 +-
 mail/message-tag-followup.h                        |    8 +-
 plugins/addressbook-file/addressbook-file.c        |    4 +-
 .../groupwise-account-setup/camel-gw-listener.h    |    1 +
 plugins/groupwise-features/junk-settings.h         |   44 +++-----
 plugins/groupwise-features/share-folder.h          |   50 +++-----
 plugins/hula-account-setup/camel-hula-listener.h   |    1 +
 plugins/mail-to-task/Makefile.am                   |    1 +
 plugins/mail-to-task/mail-to-task.c                |    4 +-
 plugins/publish-calendar/Makefile.am               |    1 +
 plugins/save-calendar/Makefile.am                  |    1 +
 smime/gui/cert-trust-dialog.h                      |    9 +-
 widgets/text/e-text-model.h                        |    5 +-
 61 files changed, 391 insertions(+), 436 deletions(-)
---
diff --git a/addressbook/gui/component/addressbook-config.c b/addressbook/gui/component/addressbook-config.c
index 6f62d0a..e663de0 100644
--- a/addressbook/gui/component/addressbook-config.c
+++ b/addressbook/gui/component/addressbook-config.c
@@ -524,7 +524,7 @@ eabc_type_changed(GtkComboBox *dropdown, AddressbookSourceDialog *sdialog)
 }
 
 static GtkWidget *
-eabc_general_type(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+eabc_general_type(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	AddressbookSourceDialog *sdialog = data;
 	GtkComboBox *dropdown;
@@ -590,7 +590,7 @@ offline_status_changed_cb (GtkWidget *widget, AddressbookSourceDialog *sdialog)
 }
 
 static GtkWidget *
-eabc_general_name(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+eabc_general_name(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	AddressbookSourceDialog *sdialog = data;
 	const gchar *uri;
@@ -629,7 +629,7 @@ eabc_general_name(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, str
 
 
 static GtkWidget *
-eabc_general_offline(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+eabc_general_offline(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	AddressbookSourceDialog *sdialog = data;
 	GtkWidget *offline_setting;
@@ -720,7 +720,7 @@ ssl_combobox_changed_cb(GtkWidget *w, AddressbookSourceDialog *sdialog)
 
 
 static GtkWidget *
-eabc_general_host(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+eabc_general_host(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	AddressbookSourceDialog *sdialog = data;
 	const gchar *tmp;
@@ -809,7 +809,7 @@ auth_combobox_changed_cb(GtkWidget *w, AddressbookSourceDialog *sdialog)
 }
 
 static GtkWidget *
-eabc_general_auth(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+eabc_general_auth(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	AddressbookSourceDialog *sdialog = data;
 	GtkWidget *w;
@@ -878,7 +878,7 @@ scope_combobox_changed_cb(GtkWidget *w, AddressbookSourceDialog *sdialog)
 }
 
 static GtkWidget *
-eabc_details_search(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+eabc_details_search(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	AddressbookSourceDialog *sdialog = data;
 	GtkWidget *w;
@@ -972,7 +972,7 @@ canbrowse_toggled_cb (GtkWidget *toggle_button, ESource *source)
 }
 
 static GtkWidget *
-eabc_details_limit(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+eabc_details_limit(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	AddressbookSourceDialog *sdialog = data;
 	GtkWidget *w;
diff --git a/calendar/gui/dialogs/calendar-setup.c b/calendar/gui/dialogs/calendar-setup.c
index 32fbc9b..de7025f 100644
--- a/calendar/gui/dialogs/calendar-setup.c
+++ b/calendar/gui/dialogs/calendar-setup.c
@@ -211,7 +211,7 @@ name_changed (GtkEntry *entry, ECalConfigTargetSource *t)
 }
 
 static GtkWidget *
-eccp_get_source_name (EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+eccp_get_source_name (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	static GtkWidget *label, *entry;
 	gint row;
@@ -252,7 +252,7 @@ offline_status_changed_cb (GtkWidget *widget, CalendarSourceDialog *sdialog)
 }
 
 static GtkWidget *
-eccp_general_offline (EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+eccp_general_offline (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	CalendarSourceDialog *sdialog = data;
 	GtkWidget *offline_setting = NULL;
@@ -318,7 +318,7 @@ choose_initial_color (void)
 }
 
 static GtkWidget *
-eccp_get_source_color (EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+eccp_get_source_color (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	CalendarSourceDialog *sdialog = data;
 	static GtkWidget *label, *color_button;
@@ -431,7 +431,7 @@ cs_load_sources (CalendarSourceDialog *sdialog, const gchar *conf_key, ESourceGr
  * Show calendar properties for @source.
  **/
 void
-calendar_setup_edit_calendar (struct _GtkWindow *parent, ESource *source, ESourceGroup *group)
+calendar_setup_edit_calendar (GtkWindow *parent, ESource *source, ESourceGroup *group)
 {
 	CalendarSourceDialog *sdialog = g_new0 (CalendarSourceDialog, 1);
 	gchar *xml;
@@ -482,13 +482,13 @@ calendar_setup_edit_calendar (struct _GtkWindow *parent, ESource *source, ESourc
 }
 
 void
-calendar_setup_new_calendar (struct _GtkWindow *parent)
+calendar_setup_new_calendar (GtkWindow *parent)
 {
 	calendar_setup_edit_calendar (parent, NULL, NULL);
 }
 
 void
-calendar_setup_edit_task_list (struct _GtkWindow *parent, ESource *source)
+calendar_setup_edit_task_list (GtkWindow *parent, ESource *source)
 {
 	CalendarSourceDialog *sdialog = g_new0 (CalendarSourceDialog, 1);
 	gchar *xml;
@@ -538,13 +538,13 @@ calendar_setup_edit_task_list (struct _GtkWindow *parent, ESource *source)
 }
 
 void
-calendar_setup_new_task_list (struct _GtkWindow *parent)
+calendar_setup_new_task_list (GtkWindow *parent)
 {
 	calendar_setup_edit_task_list (parent, NULL);
 }
 
 void
-calendar_setup_edit_memo_list (struct _GtkWindow *parent, ESource *source)
+calendar_setup_edit_memo_list (GtkWindow *parent, ESource *source)
 {
 	CalendarSourceDialog *sdialog = g_new0 (CalendarSourceDialog, 1);
 	gchar *xml;
@@ -594,7 +594,7 @@ calendar_setup_edit_memo_list (struct _GtkWindow *parent, ESource *source)
 }
 
 void
-calendar_setup_new_memo_list (struct _GtkWindow *parent)
+calendar_setup_new_memo_list (GtkWindow *parent)
 {
 	calendar_setup_edit_memo_list (parent, NULL);
 }
diff --git a/calendar/gui/dialogs/calendar-setup.h b/calendar/gui/dialogs/calendar-setup.h
index d92993c..18dc042 100644
--- a/calendar/gui/dialogs/calendar-setup.h
+++ b/calendar/gui/dialogs/calendar-setup.h
@@ -24,19 +24,20 @@
 #ifndef __CALENDAR_SETUP_H__
 #define __CALENDAR_SETUP_H__
 
-struct _GtkWindow;
-struct _ESource;
+#include <gtk/gtk.h>
+#include <libedataserver/e-source.h>
+#include <libedataserver/e-source-group.h>
 
 G_BEGIN_DECLS
 
-void calendar_setup_edit_calendar  (struct _GtkWindow *parent, struct _ESource *source, struct _ESourceGroup *group);
-void calendar_setup_new_calendar   (struct _GtkWindow *parent);
+void calendar_setup_edit_calendar  (GtkWindow *parent, ESource *source, ESourceGroup *group);
+void calendar_setup_new_calendar   (GtkWindow *parent);
 
-void calendar_setup_edit_task_list (struct _GtkWindow *parent, struct _ESource *source);
-void calendar_setup_new_task_list  (struct _GtkWindow *parent);
+void calendar_setup_edit_task_list (GtkWindow *parent, ESource *source);
+void calendar_setup_new_task_list  (GtkWindow *parent);
 
-void calendar_setup_edit_memo_list (struct _GtkWindow *parent, ESource *source);
-void calendar_setup_new_memo_list (struct _GtkWindow *parent);
+void calendar_setup_edit_memo_list (GtkWindow *parent, ESource *source);
+void calendar_setup_new_memo_list (GtkWindow *parent);
 
 G_END_DECLS
 
diff --git a/calendar/gui/e-cal-popup.h b/calendar/gui/e-cal-popup.h
index ed59ae2..2cd20eb 100644
--- a/calendar/gui/e-cal-popup.h
+++ b/calendar/gui/e-cal-popup.h
@@ -25,17 +25,14 @@
 #define __E_CAL_POPUP_H__
 
 #include <glib-object.h>
+#include <libedataserverui/e-source-selector.h>
 
-#include "e-util/e-popup.h"
+#include <e-util/e-popup.h>
 #include "dialogs/comp-editor.h"
+#include "e-cal-model.h"
 
 G_BEGIN_DECLS
 
-typedef struct _ECalPopup ECalPopup;
-typedef struct _ECalPopupClass ECalPopupClass;
-
-struct _ECalendarView;
-
 /**
  * enum _e_cal_popup_target_t - A list of mail popup target types.
  *
@@ -141,7 +138,7 @@ typedef struct _ECalPopupTargetAttachments ECalPopupTargetAttachments;
 struct _ECalPopupTargetSelect {
 	EPopupTarget target;
 
-	struct _ECalModel *model;
+	ECalModel *model;
 	GPtrArray *events;
 };
 
@@ -156,7 +153,7 @@ struct _ECalPopupTargetSelect {
 struct _ECalPopupTargetSource {
 	EPopupTarget target;
 
-	struct _ESourceSelector *selector;
+	ESourceSelector *selector;
 };
 
 /**
@@ -175,11 +172,15 @@ struct _ECalPopupTargetAttachments {
 
 typedef struct _EPopupItem ECalPopupItem;
 
+typedef struct _ECalPopup ECalPopup;
+typedef struct _ECalPopupClass ECalPopupClass;
+typedef struct _ECalPopupPrivate ECalPopupPrivate;
+
 /* The object */
 struct _ECalPopup {
 	EPopup popup;
 
-	struct _ECalPopupPrivate *priv;
+	ECalPopupPrivate *priv;
 };
 
 struct _ECalPopupClass {
@@ -190,8 +191,8 @@ GType e_cal_popup_get_type(void);
 
 ECalPopup *e_cal_popup_new(const gchar *menuid);
 
-ECalPopupTargetSelect *e_cal_popup_target_new_select(ECalPopup *eabp, struct _ECalModel *model, GPtrArray *events);
-ECalPopupTargetSource *e_cal_popup_target_new_source(ECalPopup *eabp, struct _ESourceSelector *selector);
+ECalPopupTargetSelect *e_cal_popup_target_new_select(ECalPopup *eabp, ECalModel *model, GPtrArray *events);
+ECalPopupTargetSource *e_cal_popup_target_new_source(ECalPopup *eabp, ESourceSelector *selector);
 
 /* ********************************************************************** */
 
diff --git a/calendar/gui/e-calendar-view.h b/calendar/gui/e-calendar-view.h
index bed87f6..8d3ac6f 100644
--- a/calendar/gui/e-calendar-view.h
+++ b/calendar/gui/e-calendar-view.h
@@ -169,8 +169,8 @@ void           e_calendar_view_modify_and_send (ECalComponent *comp,
 					       CalObjModType mod,
 					       GtkWindow *toplevel,
 					       gboolean new);
-void e_calendar_utils_show_error_silent (struct _GtkWidget *widget);
-void e_calendar_utils_show_info_silent(struct _GtkWidget *widget);
+void e_calendar_utils_show_error_silent (GtkWidget *widget);
+void e_calendar_utils_show_info_silent(GtkWidget *widget);
 
 gboolean	e_calendar_view_get_tooltips (ECalendarViewEventData *data);
 
diff --git a/calendar/gui/gnome-cal.h b/calendar/gui/gnome-cal.h
index dfef719..0803a4f 100644
--- a/calendar/gui/gnome-cal.h
+++ b/calendar/gui/gnome-cal.h
@@ -32,15 +32,15 @@
 #include <bonobo/bonobo-ui-component.h>
 #include <misc/e-calendar.h>
 #include <libecal/e-cal.h>
+#include <e-util/e-popup.h>
 
+#include "e-cal-menu.h"
 #include "e-calendar-table.h"
 
 G_BEGIN_DECLS
 
 
 
-struct _EPopup;
-
 #define GNOME_TYPE_CALENDAR            (gnome_calendar_get_type ())
 #define GNOME_CALENDAR(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_CALENDAR, GnomeCalendar))
 #define GNOME_CALENDAR_CLASS(klass)    (G_TYPE_CHECK_INSTANCE_CAST_CLASS ((klass), GNOME_TYPE_CALENDAR,	\
@@ -134,7 +134,7 @@ GtkWidget *gnome_calendar_get_search_bar_widget (GnomeCalendar *gcal);
 GtkWidget *gnome_calendar_get_view_notebook_widget (GnomeCalendar *gcal);
 GtkWidget *gnome_calendar_get_tag (GnomeCalendar *gcal);
 
-struct _ECalMenu *gnome_calendar_get_calendar_menu (GnomeCalendar *gcal);
+ECalMenu *gnome_calendar_get_calendar_menu (GnomeCalendar *gcal);
 
 void	   gnome_calendar_set_selected_time_range (GnomeCalendar *gcal,
 						   time_t	  start_time,
diff --git a/e-util/e-config.c b/e-util/e-config.c
index 9336e77..412c00b 100644
--- a/e-util/e-config.c
+++ b/e-util/e-config.c
@@ -65,8 +65,8 @@ struct _widget_node {
 
 	struct _menu_node *context;
 	EConfigItem *item;
-	struct _GtkWidget *widget; /* widget created by the factory, if any */
-	struct _GtkWidget *frame; /* if created by us */
+	GtkWidget *widget; /* widget created by the factory, if any */
+	GtkWidget *frame; /* if created by us */
 
 	guint empty:1;		/* set if empty (i.e. hidden) */
 };
@@ -892,7 +892,7 @@ ec_dialog_response(GtkWidget *d, gint id, EConfig *ec)
  * Return value: The window widget.  This is also stored in @emp.window.
  **/
 GtkWidget *
-e_config_create_window(EConfig *emp, struct _GtkWindow *parent, const gchar *title)
+e_config_create_window(EConfig *emp, GtkWindow *parent, const gchar *title)
 {
 	GtkWidget *w;
 
@@ -1341,7 +1341,7 @@ emph_free_group(struct _EConfigHookGroup *group)
 	g_free(group);
 }
 
-static struct _GtkWidget *
+static GtkWidget *
 ech_config_widget_factory(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	struct _EConfigHookGroup *group = data;
@@ -1355,7 +1355,7 @@ ech_config_widget_factory(EConfig *ec, EConfigItem *item, GtkWidget *parent, Gtk
 		hdata.parent = parent;
 		hdata.old = old;
 
-		return (struct _GtkWidget *)e_plugin_invoke(group->hook->hook.plugin, (gchar *)item->user_data, &hdata);
+		return (GtkWidget *)e_plugin_invoke(group->hook->hook.plugin, (gchar *)item->user_data, &hdata);
 	} else
 		return NULL;
 }
diff --git a/e-util/e-config.h b/e-util/e-config.h
index 2f2e4a2..e6ff495 100644
--- a/e-util/e-config.h
+++ b/e-util/e-config.h
@@ -24,14 +24,11 @@
 #ifndef __E_CONFIG_H__
 #define __E_CONFIG_H__
 
-#include <glib-object.h>
-#include "libedataserver/e-msgport.h"
+#include <gtk/gtk.h>
+#include <libedataserver/e-msgport.h>
 
 G_BEGIN_DECLS
 
-struct _GtkWindow;
-struct _GtkWidget;
-
 /* This is a config window management/merging class. */
 
 typedef struct _EConfig EConfig;
@@ -47,7 +44,7 @@ typedef gboolean (*EConfigCheckFunc)(EConfig *ec, const gchar *pageid, gpointer
 
 typedef void (*EConfigItemsFunc)(EConfig *ec, GSList *items, gpointer data);
 
-typedef struct _GtkWidget * (*EConfigItemFactoryFunc)(EConfig *ec, EConfigItem *, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data);
+typedef GtkWidget * (*EConfigItemFactoryFunc)(EConfig *ec, EConfigItem *, GtkWidget *parent, GtkWidget *old, gpointer data);
 
 /* ok so this is all a bit bogussy
    we need to map to glade stuff instead */
@@ -161,7 +158,7 @@ struct _EConfigItem {
  **/
 struct _EConfigTarget {
 	struct _EConfig *config;
-	struct _GtkWidget *widget;	/* used if you need a parent toplevel, if available */
+	GtkWidget *widget;	/* used if you need a parent toplevel, if available */
 
 	guint32 type;
 
@@ -197,8 +194,8 @@ struct _EConfig {
 
 	EConfigTarget *target;
 
-	struct _GtkWidget *widget; /* the generated internal */
-	struct _GtkWidget *window; /* the window widget, GtkWindow or GtkDialog */
+	GtkWidget *widget; /* the generated internal */
+	GtkWidget *window; /* the window widget, GtkWindow or GtkDialog */
 };
 
 /**
@@ -236,14 +233,14 @@ void e_config_add_items(EConfig *, GSList *items, EConfigItemsFunc commitfunc, E
 void e_config_add_page_check(EConfig *, const gchar *pageid, EConfigCheckFunc, gpointer data);
 
 void e_config_set_target(EConfig *emp, EConfigTarget *target);
-struct _GtkWidget *e_config_create_widget(EConfig *);
-struct _GtkWidget *e_config_create_window(EConfig *emp, struct _GtkWindow *parent, const gchar *title);
+GtkWidget *e_config_create_widget(EConfig *);
+GtkWidget *e_config_create_window(EConfig *emp, GtkWindow *parent, const gchar *title);
 
 void e_config_target_changed(EConfig *emp, e_config_target_change_t how);
 
 gboolean e_config_page_check(EConfig *, const gchar *);
 
-struct _GtkWidget *e_config_page_get(EConfig *ec, const gchar *pageid);
+GtkWidget *e_config_page_get(EConfig *ec, const gchar *pageid);
 const gchar *e_config_page_next(EConfig *ec, const gchar *pageid);
 const gchar *e_config_page_prev(EConfig *ec, const gchar *pageid);
 
@@ -295,8 +292,8 @@ struct _EConfigHookItemFactoryData {
 	EConfig *config;
 	EConfigItem *item;
 	EConfigTarget *target;
-	struct _GtkWidget *parent;
-	struct _GtkWidget *old;
+	GtkWidget *parent;
+	GtkWidget *old;
 };
 
 /**
diff --git a/e-util/e-error.c b/e-util/e-error.c
index 4215bfe..c780834 100644
--- a/e-util/e-error.c
+++ b/e-util/e-error.c
@@ -580,8 +580,8 @@ e_error_newv(GtkWindow *parent, const gchar *tag, const gchar *arg0, va_list ap)
  * Return value: A GtkDialog which can be used for showing an error
  * dialog asynchronously.
  **/
-struct _GtkWidget *
-e_error_new(struct _GtkWindow *parent, const gchar *tag, const gchar *arg0, ...)
+GtkWidget *
+e_error_new(GtkWindow *parent, const gchar *tag, const gchar *arg0, ...)
 {
 	GtkWidget *w;
 	va_list ap;
@@ -683,7 +683,7 @@ remove_parent(GtkWidget *w, GtkWidget *parent)
  * destruction state.
  **/
 void
-e_error_default_parent(struct _GtkWindow *parent)
+e_error_default_parent(GtkWindow *parent)
 {
 	if (g_slist_find(ee_parent_list, parent) == NULL) {
 		ee_parent_list = g_slist_prepend(ee_parent_list, parent);
diff --git a/e-util/e-error.h b/e-util/e-error.h
index 6b66a6d..7b9685a 100644
--- a/e-util/e-error.h
+++ b/e-util/e-error.h
@@ -26,8 +26,6 @@
 #include <stdarg.h>
 #include <gtk/gtk.h>
 
-struct _GtkWindow;
-
 /*
  * Some standard errors, if these are altered or added to,
  * update devel-docs/misc/errors.txt
@@ -50,14 +48,14 @@ struct _GtkWindow;
 #define E_ERROR_NO_LOAD_FILE "system:no-save-file"
 
 /* Note that all errors returned are standard GtkDialoge's */
-struct _GtkWidget *e_error_new(struct _GtkWindow *parent, const gchar *tag, const gchar *arg0, ...);
-struct _GtkWidget *e_error_newv(struct _GtkWindow *parent, const gchar *tag, const gchar *arg0, va_list ap);
+GtkWidget *e_error_new(GtkWindow *parent, const gchar *tag, const gchar *arg0, ...);
+GtkWidget *e_error_newv(GtkWindow *parent, const gchar *tag, const gchar *arg0, va_list ap);
 
-gint e_error_run(struct _GtkWindow *parent, const gchar *tag, const gchar *arg0, ...);
-gint e_error_runv(struct _GtkWindow *parent, const gchar *tag, const gchar *arg0, va_list ap);
+gint e_error_run(GtkWindow *parent, const gchar *tag, const gchar *arg0, ...);
+gint e_error_runv(GtkWindow *parent, const gchar *tag, const gchar *arg0, va_list ap);
 
 guint e_error_count_buttons (GtkDialog *dialog);
 
-void e_error_default_parent(struct _GtkWindow *parent);
+void e_error_default_parent(GtkWindow *parent);
 
 #endif /* !_E_ERROR_H */
diff --git a/e-util/e-import.c b/e-util/e-import.c
index 4e2cdc3..6f4c594 100644
--- a/e-util/e-import.c
+++ b/e-util/e-import.c
@@ -211,7 +211,7 @@ void e_import_cancel(EImport *ei, EImportTarget *t, EImportImporter *im)
  * Return value: NULL if the importer doesn't support/require
  * a destination.
  **/
-struct _GtkWidget *
+GtkWidget *
 e_import_get_widget(EImport *ei, EImportTarget *target, EImportImporter *im)
 {
 	g_return_val_if_fail(im != NULL, NULL);
@@ -438,7 +438,7 @@ static gboolean eih_supported(EImport *ei, EImportTarget *target, EImportImporte
 	return e_plugin_invoke(hook->hook.plugin, ihook->supported, target) != NULL;
 }
 
-static struct _GtkWidget *eih_get_widget(EImport *ei, EImportTarget *target, EImportImporter *im)
+static GtkWidget *eih_get_widget(EImport *ei, EImportTarget *target, EImportImporter *im)
 {
 	struct _EImportHookImporter *ihook = (EImportHookImporter *)im;
 	EImportHook *hook = im->user_data;
diff --git a/e-util/e-import.h b/e-util/e-import.h
index 4474db1..84c5061 100644
--- a/e-util/e-import.h
+++ b/e-util/e-import.h
@@ -24,14 +24,11 @@
 #ifndef __E_IMPORT_H__
 #define __E_IMPORT_H__
 
-#include <glib-object.h>
-#include "libedataserver/e-msgport.h"
+#include <gtk/gtk.h>
+#include <libedataserver/e-msgport.h>
 
 G_BEGIN_DECLS
 
-struct _GtkWindow;
-struct _GtkWidget;
-
 /* This is an importer function */
 
 typedef struct _EImport EImport;
@@ -47,7 +44,7 @@ typedef void (*EImportStatusFunc)(EImport *ei, const gchar *what, gint pc, gpoin
 typedef void (*EImportFactoryFunc)(EImport *ei, gpointer data);
 typedef void (*EImportImporterFunc)(EImportImporter *importer, gpointer data);
 typedef gboolean (*EImportSupportedFunc)(EImport *ei, EImportTarget *, EImportImporter *im);
-typedef struct _GtkWidget *(*EImportWidgetFunc)(EImport *ei, EImportTarget *, EImportImporter *im);
+typedef GtkWidget *(*EImportWidgetFunc)(EImport *ei, EImportTarget *, EImportImporter *im);
 typedef void (*EImportImportFunc)(EImport *ei, EImportTarget *, EImportImporter *im);
 
 /* The global target types, implementors may add additional ones */
@@ -180,7 +177,7 @@ EImport *e_import_construct(EImport *, const gchar *id);
 void e_import_import(EImport *ei, EImportTarget *, EImportImporter *, EImportStatusFunc status, EImportCompleteFunc done, gpointer data);
 void e_import_cancel(EImport *, EImportTarget *, EImportImporter *);
 
-struct _GtkWidget *e_import_get_widget(EImport *ei, EImportTarget *, EImportImporter *);
+GtkWidget *e_import_get_widget(EImport *ei, EImportTarget *, EImportImporter *);
 
 void e_import_status(EImport *, EImportTarget *, const gchar *what, gint pc);
 void e_import_complete(EImport *, EImportTarget *);
diff --git a/e-util/e-menu.h b/e-util/e-menu.h
index 7b8d6f5..3b2416e 100644
--- a/e-util/e-menu.h
+++ b/e-util/e-menu.h
@@ -24,8 +24,8 @@
 #ifndef __E_MENU_H__
 #define __E_MENU_H__
 
-#include <glib-object.h>
-#include "libedataserver/e-msgport.h"
+#include <gtk/gtk.h>
+#include <libedataserver/e-msgport.h>
 
 G_BEGIN_DECLS
 
@@ -150,7 +150,7 @@ struct _EMenuUIFile {
 struct _EMenuTarget {
 	struct _EMenu *menu;	/* used for virtual methods */
 
-	struct _GtkWidget *widget;	/* used if you need a parent toplevel, if available */
+	GtkWidget *widget;	/* used if you need a parent toplevel, if available */
 	guint32 type;		/* for implementors */
 
 	guint32 mask;		/* enable/visible mask */
diff --git a/e-util/e-popup.h b/e-util/e-popup.h
index 6ca872b..257234d 100644
--- a/e-util/e-popup.h
+++ b/e-util/e-popup.h
@@ -24,8 +24,8 @@
 #ifndef __E_POPUP_H__
 #define __E_POPUP_H__
 
-#include <glib-object.h>
-#include "libedataserver/e-msgport.h"
+#include <gtk/gtk.h>
+#include <libedataserver/e-msgport.h>
 
 G_BEGIN_DECLS
 
@@ -141,7 +141,7 @@ struct _EPopupItem {
 struct _EPopupTarget {
 	struct _EPopup *popup;	/* used for virtual methods */
 
-	struct _GtkWidget *widget;	/* used if you need a parent toplevel, if available */
+	GtkWidget *widget;	/* used if you need a parent toplevel, if available */
 	guint32 type;		/* targe type, for implementors */
 
 	guint32 mask;		/* depends on type, visibility mask */
@@ -207,8 +207,8 @@ void e_popup_add_items(EPopup *, GSList *items, const gchar *domain, EPopupItems
 
 void e_popup_add_static_items(EPopup *emp, EPopupTarget *target);
 /* do not call e_popup_create_menu, it can leak structures if not used right */
-struct _GtkMenu *e_popup_create_menu(EPopup *, EPopupTarget *, guint32 mask);
-struct _GtkMenu *e_popup_create_menu_once(EPopup *emp, EPopupTarget *, guint32 mask);
+GtkMenu *e_popup_create_menu(EPopup *, EPopupTarget *, guint32 mask);
+GtkMenu *e_popup_create_menu_once(EPopup *emp, EPopupTarget *, guint32 mask);
 
 gpointer e_popup_target_new(EPopup *, gint type, gsize size);
 void e_popup_target_free(EPopup *, gpointer );
diff --git a/e-util/e-profile-event.h b/e-util/e-profile-event.h
index 256bec2..59d39f5 100644
--- a/e-util/e-profile-event.h
+++ b/e-util/e-profile-event.h
@@ -31,9 +31,6 @@
 
 G_BEGIN_DECLS
 
-struct _CamelFolder;
-struct _CamelMimeMessage;
-
 typedef struct _EProfileEvent EProfileEvent;
 typedef struct _EProfileEventClass EProfileEventClass;
 
diff --git a/mail/em-account-editor.c b/mail/em-account-editor.c
index 81c3bc6..01f8b9c 100644
--- a/mail/em-account-editor.c
+++ b/mail/em-account-editor.c
@@ -91,34 +91,34 @@ typedef struct _EMAccountEditorService {
 	EMAccountEditor *emae;	/* parent pointer, for callbacks */
 
 	/* NOTE: keep all widgets together, first frame last check_dialog */
-	struct _GtkWidget *frame;
-	struct _GtkWidget *container;
-
-	struct _GtkComboBox *providers;
-
-	struct _GtkLabel *description;
-	struct _GtkLabel *hostlabel;
-	struct _GtkEntry *hostname;
-	struct _GtkLabel *userlabel;
-	struct _GtkEntry *username;
-	struct _GtkEntry *path;
-	struct _GtkLabel *pathlabel;
-	struct _GtkWidget *pathentry;
-
-	struct _GtkWidget *ssl_frame;
-	struct _GtkComboBox *use_ssl;
-	struct _GtkWidget *ssl_hbox;
-	struct _GtkWidget *no_ssl;
-
-	struct _GtkWidget *auth_frame;
-	struct _GtkComboBox *authtype;
-
-	struct _GtkWidget *authitem;
-	struct _GtkToggleButton *remember;
-	struct _GtkButton *check_supported;
-	struct _GtkToggleButton *needs_auth;
-
-	struct _GtkWidget *check_dialog;
+	GtkWidget *frame;
+	GtkWidget *container;
+
+	GtkComboBox *providers;
+
+	GtkLabel *description;
+	GtkLabel *hostlabel;
+	GtkEntry *hostname;
+	GtkLabel *userlabel;
+	GtkEntry *username;
+	GtkEntry *path;
+	GtkLabel *pathlabel;
+	GtkWidget *pathentry;
+
+	GtkWidget *ssl_frame;
+	GtkComboBox *use_ssl;
+	GtkWidget *ssl_hbox;
+	GtkWidget *no_ssl;
+
+	GtkWidget *auth_frame;
+	GtkComboBox *authtype;
+
+	GtkWidget *authitem;
+	GtkToggleButton *remember;
+	GtkButton *check_supported;
+	GtkToggleButton *needs_auth;
+
+	GtkWidget *check_dialog;
 	gint check_id;
 
 	GList *authtypes;	/* if "Check supported" */
@@ -128,12 +128,12 @@ typedef struct _EMAccountEditorService {
 	gint auth_changed_id;
 } EMAccountEditorService;
 
-typedef struct _EMAccountEditorPrivate {
+struct _EMAccountEditorPrivate {
 	struct _EMConfig *config;
 	GList *providers;
 
 	/* signatures */
-	struct _GtkComboBox *signatures_dropdown;
+	GtkComboBox *signatures_dropdown;
 	guint sig_added_id;
 	guint sig_removed_id;
 	guint sig_changed_id;
@@ -151,31 +151,31 @@ typedef struct _EMAccountEditorPrivate {
 
 	/* account management */
 	GtkEntry *identity_entries[5];
-	struct _GtkToggleButton *default_account;
-	struct _GtkWidget *management_frame;
+	GtkToggleButton *default_account;
+	GtkWidget *management_frame;
 
 	/* special folders */
-	struct _GtkButton *drafts_folder_button;
-	struct _GtkButton *sent_folder_button;
-	struct _GtkButton *restore_folders_button;
+	GtkButton *drafts_folder_button;
+	GtkButton *sent_folder_button;
+	GtkButton *restore_folders_button;
 
 	/* Security */
-	struct _GtkEntry *pgp_key;
-	struct _GtkToggleButton *pgp_encrypt_to_self;
-	struct _GtkToggleButton *pgp_always_sign;
-	struct _GtkToggleButton *pgp_no_imip_sign;
-	struct _GtkToggleButton *pgp_always_trust;
-
-	struct _GtkToggleButton *smime_sign_default;
-	struct _GtkEntry *smime_sign_key;
-	struct _GtkButton *smime_sign_key_select;
-	struct _GtkButton *smime_sign_key_clear;
-	struct _GtkButton *smime_sign_select;
-	struct _GtkToggleButton *smime_encrypt_default;
-	struct _GtkToggleButton *smime_encrypt_to_self;
-	struct _GtkEntry *smime_encrypt_key;
-	struct _GtkButton *smime_encrypt_key_select;
-	struct _GtkButton *smime_encrypt_key_clear;
+	GtkEntry *pgp_key;
+	GtkToggleButton *pgp_encrypt_to_self;
+	GtkToggleButton *pgp_always_sign;
+	GtkToggleButton *pgp_no_imip_sign;
+	GtkToggleButton *pgp_always_trust;
+
+	GtkToggleButton *smime_sign_default;
+	GtkEntry *smime_sign_key;
+	GtkButton *smime_sign_key_select;
+	GtkButton *smime_sign_key_clear;
+	GtkButton *smime_sign_select;
+	GtkToggleButton *smime_encrypt_default;
+	GtkToggleButton *smime_encrypt_to_self;
+	GtkEntry *smime_encrypt_key;
+	GtkButton *smime_encrypt_key_select;
+	GtkButton *smime_encrypt_key_clear;
 
 	/* for e-config callbacks, each page sets up its widgets, then they are dealed out by the get_widget callback in order*/
 	GtkWidget *widgets[5];
@@ -186,7 +186,7 @@ typedef struct _EMAccountEditorPrivate {
 	guint identity_set:1;
 	guint receive_set:1;
 	guint management_set:1;
-} EMAccountEditorPrivate;
+};
 
 static void emae_refresh_authtype(EMAccountEditor *emae, EMAccountEditorService *service);
 static void em_account_editor_construct(EMAccountEditor *emae, EAccount *account, em_account_editor_t type, const gchar *id);
@@ -1809,7 +1809,7 @@ emae_queue_widgets(EMAccountEditor *emae, GladeXML *xml, const gchar *first, ...
 }
 
 static GtkWidget *
-emae_identity_page(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+emae_identity_page(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	EMAccountEditor *emae = data;
 	EMAccountEditorPrivate *gui = emae->priv;
@@ -1882,7 +1882,7 @@ emae_identity_page(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, st
 }
 
 static GtkWidget *
-emae_receive_page(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+emae_receive_page(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	EMAccountEditor *emae = data;
 	EMAccountEditorPrivate *gui = emae->priv;
@@ -2177,7 +2177,7 @@ emae_option_options (EMAccountEditorService *service, CamelURL *url, const gchar
 }
 
 static GtkWidget *
-emae_receive_options_item(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+emae_receive_options_item(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	EMAccountEditor *emae = data;
 	GtkWidget *w, *box, *spin;
@@ -2214,7 +2214,7 @@ emae_receive_options_item(EConfig *ec, EConfigItem *item, struct _GtkWidget *par
 }
 
 static GtkWidget *
-emae_receive_options_extra_item(EConfig *ec, EConfigItem *eitem, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+emae_receive_options_extra_item(EConfig *ec, EConfigItem *eitem, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	EMAccountEditor *emae = data;
 	struct _receive_options_item *item = (struct _receive_options_item *)eitem;
@@ -2348,7 +2348,7 @@ section:
 }
 
 static GtkWidget *
-emae_send_page(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+emae_send_page(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	EMAccountEditor *emae = data;
 	EMAccountEditorPrivate *gui = emae->priv;
@@ -2403,7 +2403,7 @@ emae_send_page(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct
 }
 
 static GtkWidget *
-emae_defaults_page(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+emae_defaults_page(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	EMAccountEditor *emae = data;
 	EMAccountEditorPrivate *gui = emae->priv;
@@ -2461,7 +2461,7 @@ emae_defaults_page(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, st
 }
 
 static GtkWidget *
-emae_security_page(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+emae_security_page(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	EMAccountEditor *emae = data;
 #if defined (HAVE_NSS)
@@ -2525,7 +2525,7 @@ emae_security_page(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, st
 }
 
 static GtkWidget *
-emae_widget_glade(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+emae_widget_glade(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	EMAccountEditor *emae = data;
 	gint i;
@@ -2576,7 +2576,7 @@ static EMConfigItem emae_editor_items[] = {
 static gboolean emae_editor_items_translated = FALSE;
 
 static GtkWidget *
-emae_management_page(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+emae_management_page(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	EMAccountEditor *emae = data;
 	EMAccountEditorPrivate *gui = emae->priv;
@@ -2606,7 +2606,7 @@ emae_management_page(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent,
 }
 
 static GtkWidget *
-emae_widget_druid_glade(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+emae_widget_druid_glade(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	GladeXML *druidxml;
 	GtkWidget *w;
diff --git a/mail/em-account-editor.h b/mail/em-account-editor.h
index 01d9dbd..d8d96f5 100644
--- a/mail/em-account-editor.h
+++ b/mail/em-account-editor.h
@@ -26,12 +26,13 @@
 
 #include <gtk/gtk.h>
 
-G_BEGIN_DECLS
+#include <mail/em-config.h>
 
-struct _EAccount;
+G_BEGIN_DECLS
 
 typedef struct _EMAccountEditor EMAccountEditor;
 typedef struct _EMAccountEditorClass EMAccountEditorClass;
+typedef struct _EMAccountEditorPrivate EMAccountEditorPrivate;
 
 typedef enum {
 	EMAE_NOTEBOOK,
@@ -42,15 +43,15 @@ typedef enum {
 struct _EMAccountEditor {
 	GObject gobject;
 
-	struct _EMAccountEditorPrivate *priv;
+	EMAccountEditorPrivate *priv;
 
 	em_account_editor_t type;
-	struct _GtkWidget *editor; /* gtknotebook or druid, depending on type */
+	GtkWidget *editor; /* gtknotebook or druid, depending on type */
 
-	struct _EMConfig *config; /* driver object */
+	EMConfig *config; /* driver object */
 
-	struct _EAccount *account; /* working account, must instant apply to this */
-	struct _EAccount *original; /* original account, not changed unless commit is invoked */
+	EAccount *account; /* working account, must instant apply to this */
+	EAccount *original; /* original account, not changed unless commit is invoked */
 
 	GtkWidget **pages; /* Pages for Anjal's page type editor */
 
@@ -63,18 +64,18 @@ struct _EMAccountEditorClass {
 
 GType em_account_editor_get_type(void);
 
-EMAccountEditor *em_account_editor_new(struct _EAccount *account, em_account_editor_t type, const gchar *id);
-EMAccountEditor *em_account_editor_new_for_pages(struct _EAccount *account, em_account_editor_t type, gchar *id, struct _GtkWidget **pages);
+EMAccountEditor *em_account_editor_new(EAccount *account, em_account_editor_t type, const gchar *id);
+EMAccountEditor *em_account_editor_new_for_pages(EAccount *account, em_account_editor_t type, gchar *id, GtkWidget **pages);
 void em_account_editor_commit (EMAccountEditor *emae);
 void em_account_editor_check (EMAccountEditor *emae, const gchar *page);
 
 gboolean em_account_editor_save (EMAccountEditor *gui);
 void em_account_editor_destroy (EMAccountEditor *gui);
 
-gboolean em_account_editor_identity_complete (EMAccountEditor *gui, struct _GtkWidget **incomplete);
-gboolean em_account_editor_source_complete (EMAccountEditor *gui, struct _GtkWidget **incomplete);
-gboolean em_account_editor_transport_complete (EMAccountEditor *gui, struct _GtkWidget **incomplete);
-gboolean em_account_editor_management_complete (EMAccountEditor *gui, struct _GtkWidget **incomplete);
+gboolean em_account_editor_identity_complete (EMAccountEditor *gui, GtkWidget **incomplete);
+gboolean em_account_editor_source_complete (EMAccountEditor *gui, GtkWidget **incomplete);
+gboolean em_account_editor_transport_complete (EMAccountEditor *gui, GtkWidget **incomplete);
+gboolean em_account_editor_management_complete (EMAccountEditor *gui, GtkWidget **incomplete);
 
 void em_account_editor_build_extra_conf (EMAccountEditor *gui, const gchar *url);
 
diff --git a/mail/em-composer-prefs.h b/mail/em-composer-prefs.h
index 83560b1..3b848f1 100644
--- a/mail/em-composer-prefs.h
+++ b/mail/em-composer-prefs.h
@@ -25,6 +25,8 @@
 
 #include <gtk/gtk.h>
 #include <glade/glade.h>
+#include <gtkhtml/gtkhtml.h>
+
 #include <shell/e-shell.h>
 
 /* Standard GObject macros */
@@ -70,7 +72,7 @@ struct _EMComposerPrefs {
 	GtkComboBox *reply_style;
 
 	/* Signatures */
-	struct _GtkHTML *sig_preview;
+	GtkHTML *sig_preview;
 };
 
 struct _EMComposerPrefsClass {
diff --git a/mail/em-composer-utils.h b/mail/em-composer-utils.h
index 31d3d50..b16a1e5 100644
--- a/mail/em-composer-utils.h
+++ b/mail/em-composer-utils.h
@@ -25,42 +25,36 @@
 #define __EM_COMPOSER_UTILS_H__
 
 #include <glib.h>
+#include <camel/camel-nntp-address.h>
 
-G_BEGIN_DECLS
+#include <em-format/em-format.h>
+#include <composer/e-msg-composer.h>
 
-struct _CamelFolder;
-struct _CamelMimeMessage;
-struct _CamelException;
-struct _CamelInternetAddress;
-struct _CamelNNTPAddress;
-struct _EMsgComposer;
-struct _EMFormat;
-struct _EAccount;
-struct _EDestination;
+G_BEGIN_DECLS
 
 void em_utils_compose_new_message (const gchar *fromuri);
-struct _EMsgComposer * em_utils_compose_lite_new_message (const gchar *fromuri);
+EMsgComposer * em_utils_compose_lite_new_message (const gchar *fromuri);
 
 /* FIXME: mailto?  url?  should make up its mind what its called.  imho use 'uri' */
 void em_utils_compose_new_message_with_mailto (const gchar *url, const gchar *fromuri);
 
-void em_utils_edit_message (struct _CamelMimeMessage *message, struct _CamelFolder *folder);
-void em_utils_edit_messages (struct _CamelFolder *folder, GPtrArray *uids, gboolean replace);
+void em_utils_edit_message (CamelMimeMessage *message, CamelFolder *folder);
+void em_utils_edit_messages (CamelFolder *folder, GPtrArray *uids, gboolean replace);
 
-void em_utils_forward_attached (struct _CamelFolder *folder, GPtrArray *uids, const gchar *fromuri);
-void em_utils_forward_inline (struct _CamelFolder *folder, GPtrArray *uids, const gchar *fromuri);
-void em_utils_forward_quoted (struct _CamelFolder *folder, GPtrArray *uids, const gchar *fromuri);
+void em_utils_forward_attached (CamelFolder *folder, GPtrArray *uids, const gchar *fromuri);
+void em_utils_forward_inline (CamelFolder *folder, GPtrArray *uids, const gchar *fromuri);
+void em_utils_forward_quoted (CamelFolder *folder, GPtrArray *uids, const gchar *fromuri);
 
-void em_utils_forward_message (struct _CamelMimeMessage *msg, const gchar *fromuri);
-void em_utils_forward_messages (struct _CamelFolder *folder, GPtrArray *uids, const gchar *fromuri);
+void em_utils_forward_message (CamelMimeMessage *msg, const gchar *fromuri);
+void em_utils_forward_messages (CamelFolder *folder, GPtrArray *uids, const gchar *fromuri);
 
-void em_utils_redirect_message (struct _CamelMimeMessage *message);
-void em_utils_redirect_message_by_uid (struct _CamelFolder *folder, const gchar *uid);
+void em_utils_redirect_message (CamelMimeMessage *message);
+void em_utils_redirect_message_by_uid (CamelFolder *folder, const gchar *uid);
 
-void em_utils_forward_message_raw (struct _CamelFolder *folder, struct _CamelMimeMessage *message, const gchar *address, struct _CamelException *ex);
+void em_utils_forward_message_raw (CamelFolder *folder, CamelMimeMessage *message, const gchar *address, CamelException *ex);
 
-void em_utils_handle_receipt (struct _CamelFolder *folder, const gchar *uid, struct _CamelMimeMessage *msg);
-void em_utils_send_receipt   (struct _CamelFolder *folder, struct _CamelMimeMessage *message);
+void em_utils_handle_receipt (CamelFolder *folder, const gchar *uid, CamelMimeMessage *msg);
+void em_utils_send_receipt   (CamelFolder *folder, CamelMimeMessage *message);
 
 enum {
 	REPLY_MODE_SENDER,
@@ -68,11 +62,11 @@ enum {
 	REPLY_MODE_LIST
 };
 
-gchar *em_utils_construct_composer_text (struct _CamelMimeMessage *message, struct _EMFormat *source);
-void em_utils_get_reply_sender (struct _CamelMimeMessage *message, struct _CamelInternetAddress *to, struct _CamelNNTPAddress *postto);
-void em_utils_get_reply_all (struct _CamelMimeMessage *message, struct _CamelInternetAddress *to, struct _CamelInternetAddress *cc, struct _CamelNNTPAddress *postto);
-struct _EMsgComposer * em_utils_reply_to_message (struct _CamelFolder *, const gchar *uid, struct _CamelMimeMessage *message, gint mode, struct _EMFormat *source);
-struct _EDestination ** em_utils_camel_address_to_destination (struct _CamelInternetAddress *iaddr);
+gchar *em_utils_construct_composer_text (CamelMimeMessage *message, EMFormat *source);
+void em_utils_get_reply_sender (CamelMimeMessage *message, CamelInternetAddress *to, CamelNNTPAddress *postto);
+void em_utils_get_reply_all (CamelMimeMessage *message, CamelInternetAddress *to, CamelInternetAddress *cc, CamelNNTPAddress *postto);
+EMsgComposer * em_utils_reply_to_message (CamelFolder *, const gchar *uid, CamelMimeMessage *message, gint mode, EMFormat *source);
+EDestination ** em_utils_camel_address_to_destination (CamelInternetAddress *iaddr);
 
 void em_configure_new_composer (struct _EMsgComposer *composer);
 
diff --git a/mail/em-config.c b/mail/em-config.c
index 985a02d..a44554b 100644
--- a/mail/em-config.c
+++ b/mail/em-config.c
@@ -190,7 +190,7 @@ EMConfig *em_config_new(gint type, const gchar *menuid)
 }
 
 EMConfigTargetFolder *
-em_config_target_new_folder(EMConfig *emp, struct _CamelFolder *folder, const gchar *uri)
+em_config_target_new_folder(EMConfig *emp, CamelFolder *folder, const gchar *uri)
 {
 	EMConfigTargetFolder *t = e_config_target_new(&emp->config, EM_CONFIG_TARGET_FOLDER, sizeof(*t));
 
diff --git a/mail/em-config.h b/mail/em-config.h
index b2d3bde..656a40e 100644
--- a/mail/em-config.h
+++ b/mail/em-config.h
@@ -24,15 +24,17 @@
 #define __EM_CONFIG_H__
 
 #include <glib-object.h>
+#include <gconf/gconf-client.h>
+#include <camel/camel-folder.h>
+#include <libedataserver/e-account.h>
 
 #include "e-util/e-config.h"
 
 G_BEGIN_DECLS
 
-struct _GConfClient;
-
 typedef struct _EMConfig EMConfig;
 typedef struct _EMConfigClass EMConfigClass;
+typedef struct _EMConfigPrivate EMConfigPrivate;
 
 /* Current target description */
 /* Types of popup tagets */
@@ -49,7 +51,7 @@ typedef struct _EMConfigTargetAccount EMConfigTargetAccount;
 struct _EMConfigTargetFolder {
 	EConfigTarget target;
 
-	struct _CamelFolder *folder;
+	CamelFolder *folder;
 	gchar *uri;
 };
 
@@ -57,13 +59,13 @@ struct _EMConfigTargetPrefs {
 	EConfigTarget target;
 
 	/* preferences are global from gconf */
-	struct _GConfClient *gconf;
+	GConfClient *gconf;
 };
 
 struct _EMConfigTargetAccount {
 	EConfigTarget target;
 
-	struct _EAccount *account;
+	EAccount *account;
 	/* Need also: working account, not just real account, so changes can be propagated around
 	   And some mechamism for controlling the gui if we're running inside a druid, e.g. enabling 'next' */
 };
@@ -74,7 +76,7 @@ typedef struct _EConfigItem EMConfigItem;
 struct _EMConfig {
 	EConfig config;
 
-	struct _EMConfigPrivate *priv;
+	EMConfigPrivate *priv;
 };
 
 struct _EMConfigClass {
@@ -85,9 +87,9 @@ GType em_config_get_type(void);
 
 EMConfig *em_config_new(gint type, const gchar *menuid);
 
-EMConfigTargetFolder *em_config_target_new_folder(EMConfig *emp, struct _CamelFolder *folder, const gchar *uri);
-EMConfigTargetPrefs *em_config_target_new_prefs(EMConfig *emp, struct _GConfClient *gconf);
-EMConfigTargetAccount *em_config_target_new_account(EMConfig *emp, struct _EAccount *account);
+EMConfigTargetFolder *em_config_target_new_folder(EMConfig *emp, CamelFolder *folder, const gchar *uri);
+EMConfigTargetPrefs *em_config_target_new_prefs(EMConfig *emp, GConfClient *gconf);
+EMConfigTargetAccount *em_config_target_new_account(EMConfig *emp, EAccount *account);
 
 /* ********************************************************************** */
 
diff --git a/mail/em-event.h b/mail/em-event.h
index b58a0f2..770daa7 100644
--- a/mail/em-event.h
+++ b/mail/em-event.h
@@ -27,15 +27,11 @@
 #include <glib-object.h>
 
 #include "e-util/e-event.h"
+#include "composer/e-msg-composer.h"
 #include "mail/em-folder-browser.h"
 
 G_BEGIN_DECLS
 
-struct _CamelFolder;
-struct _CamelMimeMessage;
-struct _EMsgComposer;
-struct _GtkWidget;
-
 typedef struct _EMEvent EMEvent;
 typedef struct _EMEventClass EMEventClass;
 
@@ -93,9 +89,9 @@ typedef struct _EMEventTargetMessage EMEventTargetMessage;
 
 struct _EMEventTargetMessage {
 	EEventTarget              target;
-	struct _CamelFolder      *folder;
+	CamelFolder      *folder;
 	gchar                     *uid;
-	struct _CamelMimeMessage *message;
+	CamelMimeMessage *message;
 };
 
 typedef struct _EMEventTargetComposer EMEventTargetComposer;
@@ -103,7 +99,7 @@ typedef struct _EMEventTargetComposer EMEventTargetComposer;
 struct _EMEventTargetComposer {
 	EEventTarget target;
 
-	struct _EMsgComposer *composer;
+	EMsgComposer *composer;
 };
 
 typedef struct _EMEventTargetFolderBrowser EMEventTargetFolderBrowser;
@@ -111,7 +107,7 @@ typedef struct _EMEventTargetFolderBrowser EMEventTargetFolderBrowser;
 struct _EMEventTargetFolderBrowser {
 	EEventTarget target;
 
-	struct _EMFolderBrowser *emfb;
+	EMFolderBrowser *emfb;
 };
 
 
@@ -120,7 +116,7 @@ typedef struct _EMEventTargetSendReceive EMEventTargetSendReceive;
 struct _EMEventTargetSendReceive {
 	EEventTarget target;
 
-	struct _GtkWidget *table;
+	GtkWidget *table;
 	gpointer data;
 	gint row;
 };
@@ -154,9 +150,9 @@ EMEvent *em_event_peek(void);
 
 EMEventTargetFolder *em_event_target_new_folder(EMEvent *emp, const gchar *uri, guint32 flags);
 EMEventTargetFolderBrowser *em_event_target_new_folder_browser (EMEvent *eme, EMFolderBrowser *emfb);
-EMEventTargetComposer *em_event_target_new_composer(EMEvent *emp, const struct _EMsgComposer *composer, guint32 flags);
-EMEventTargetMessage *em_event_target_new_message(EMEvent *emp, struct _CamelFolder *folder, struct _CamelMimeMessage *message, const gchar *uid, guint32 flags);
-EMEventTargetSendReceive * em_event_target_new_send_receive(EMEvent *eme, struct _GtkWidget *table, gpointer data, gint row, guint32 flags);
+EMEventTargetComposer *em_event_target_new_composer(EMEvent *emp, const EMsgComposer *composer, guint32 flags);
+EMEventTargetMessage *em_event_target_new_message(EMEvent *emp, CamelFolder *folder, CamelMimeMessage *message, const gchar *uid, guint32 flags);
+EMEventTargetSendReceive * em_event_target_new_send_receive(EMEvent *eme, GtkWidget *table, gpointer data, gint row, guint32 flags);
 EMEventTargetCustomIcon * em_event_target_new_custom_icon(EMEvent *eme, GtkTreeStore *store, GtkTreeIter *iter, const gchar *uri, guint32 flags);
 
 /* ********************************************************************** */
diff --git a/mail/em-folder-properties.c b/mail/em-folder-properties.c
index 70cdf88..1c07f4f 100644
--- a/mail/em-folder-properties.c
+++ b/mail/em-folder-properties.c
@@ -155,7 +155,7 @@ add_numbered_row (GtkTable *table, gint row, const gchar *description, const gch
 }
 
 static GtkWidget *
-emfp_get_folder_item(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+emfp_get_folder_item(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	GtkWidget *w, *table, *label;
 	struct _prop_data *prop_data = data;
diff --git a/mail/em-folder-selector.h b/mail/em-folder-selector.h
index c700ce0..131c4a4 100644
--- a/mail/em-folder-selector.h
+++ b/mail/em-folder-selector.h
@@ -57,7 +57,7 @@ struct _EMFolderSelector {
 	guint32 flags;
 	struct _EMFolderTree *emft;
 
-	struct _GtkEntry *name_entry;
+	GtkEntry *name_entry;
 	gchar *selected_path;
 	gchar *selected_uri;
 
diff --git a/mail/em-folder-view.h b/mail/em-folder-view.h
index 4a5de11..2c27691 100644
--- a/mail/em-folder-view.h
+++ b/mail/em-folder-view.h
@@ -24,8 +24,13 @@
 #define EM_FOLDER_VIEW_H
 
 #include <gtk/gtk.h>
+#include <bonobo/bonobo-ui-component.h>
+
+#include "mail/em-format-html-display.h"
+#include "mail/em-menu.h"
 #include "mail/em-popup.h"
-#include "message-list.h"
+#include "mail/mail-mt.h"
+#include "mail/message-list.h"
 
 /* Standard GObject macros */
 #define EM_TYPE_FOLDER_VIEW \
@@ -48,10 +53,6 @@
 
 G_BEGIN_DECLS
 
-struct _EMFormatHTMLDisplay;
-struct _CamelFolder;
-struct _CamelMedium;
-
 typedef struct _EMFolderView EMFolderView;
 typedef struct _EMFolderViewClass EMFolderViewClass;
 
@@ -82,9 +83,9 @@ struct _EMFolderView {
 
 	MessageList *list;
 
-	struct _EMFormatHTMLDisplay *preview;
+	EMFormatHTMLDisplay *preview;
 
-	struct _CamelFolder *folder;
+	CamelFolder *folder;
 	gchar *folder_uri;
 
 	gchar *displayed_uid;	/* only used to stop re-loads, don't use it to represent any selection state */
@@ -94,12 +95,12 @@ struct _EMFolderView {
 	const gchar *ui_app_name;
 
 	/* used to manage some menus, particularly plugins */
-	struct _EMMenu *menu;
+	EMMenu *menu;
 
 	/* for proxying jobs to main or other threads */
-	struct _MailAsyncEvent *async;
+	MailAsyncEvent *async;
 
-	struct _BonoboUIComponent *uic;	/* if we're active, this will be set */
+	BonoboUIComponent *uic;	/* if we're active, this will be set */
 	GSList *enable_map;	/* bonobo menu enable map, entries are 0-terminated EMFolderViewEnable arryas
 				   TODO: should this be on class? */
 
@@ -118,10 +119,10 @@ struct _EMFolderViewClass {
 	guint update_message_style:1;
 
 	/* if used as a control, used to activate/deactivate custom menu's */
-	void (*activate)(EMFolderView *, struct _BonoboUIComponent *uic, gint state);
+	void (*activate)(EMFolderView *, BonoboUIComponent *uic, gint state);
 
 	void (*set_folder_uri)(EMFolderView *emfv, const gchar *uri);
-	void (*set_folder)(EMFolderView *emfv, struct _CamelFolder *folder, const gchar *uri);
+	void (*set_folder)(EMFolderView *emfv, CamelFolder *folder, const gchar *uri);
 	void (*set_message)(EMFolderView *emfv, const gchar *uid, gint nomarkseen);
 
 	void (*show_search_bar)(EMFolderView *emfv);
diff --git a/mail/em-format-hook.c b/mail/em-format-hook.c
index 61cc515..dd61fd6 100644
--- a/mail/em-format-hook.c
+++ b/mail/em-format-hook.c
@@ -64,7 +64,7 @@ static const EPluginHookTargetKey emfh_flag_map[] = {
 };
 
 static void
-emfh_format_format(EMFormat *md, struct _CamelStream *stream, struct _CamelMimePart *part, const EMFormatHandler *info)
+emfh_format_format(EMFormat *md, CamelStream *stream, CamelMimePart *part, const EMFormatHandler *info)
 {
 	struct _EMFormatHookItem *item = (EMFormatHookItem *)info;
 
diff --git a/mail/em-format-hook.h b/mail/em-format-hook.h
index 07e6aec..e0560f4 100644
--- a/mail/em-format-hook.h
+++ b/mail/em-format-hook.h
@@ -43,8 +43,8 @@ typedef void (*EMFormatHookFunc)(struct _EPlugin *plugin, EMFormatHookTarget *da
 
 struct _EMFormatHookTarget {
 	struct _EMFormat *format;
-	struct _CamelStream *stream;
-	struct _CamelMimePart *part;
+	CamelStream *stream;
+	CamelMimePart *part;
 	struct _EMFormatHookItem *item;
 };
 
diff --git a/mail/em-format-html.c b/mail/em-format-html.c
index 0d1b6c5..9da3484 100644
--- a/mail/em-format-html.c
+++ b/mail/em-format-html.c
@@ -96,7 +96,7 @@ struct _EMFormatHTMLCache {
 };
 
 struct _EMFormatHTMLPrivate {
-	struct _CamelMimeMessage *last_part;	/* not reffed, DO NOT dereference */
+	CamelMimeMessage *last_part;	/* not reffed, DO NOT dereference */
 	volatile gint format_id;		/* format thread id */
 	guint format_timeout_id;
 	struct _format_msg *format_timeout_msg;
diff --git a/mail/em-icon-stream.c b/mail/em-icon-stream.c
index 384d798..563853a 100644
--- a/mail/em-icon-stream.c
+++ b/mail/em-icon-stream.c
@@ -238,7 +238,7 @@ emis_sync_close(CamelStream *stream)
 }
 
 static void
-emis_image_destroy(struct _GtkImage *image, EMIconStream *emis)
+emis_image_destroy(GtkImage *image, EMIconStream *emis)
 {
 	emis_cleanup(emis);
 }
diff --git a/mail/em-icon-stream.h b/mail/em-icon-stream.h
index 17d4246..a06b30d 100644
--- a/mail/em-icon-stream.h
+++ b/mail/em-icon-stream.h
@@ -23,17 +23,14 @@
 #ifndef EM_ICON_STREAM_H
 #define EM_ICON_STREAM_H
 
-G_BEGIN_DECLS
+#include "mail/em-sync-stream.h"
 
 #define EM_ICON_STREAM_TYPE     (em_icon_stream_get_type ())
 #define EM_ICON_STREAM(obj)     (CAMEL_CHECK_CAST((obj), EM_ICON_STREAM_TYPE, EMIconStream))
 #define EM_ICON_STREAM_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), EM_ICON_STREAM_TYPE, EMIconStreamClass))
 #define EM_IS_ICON_STREAM(o)    (CAMEL_CHECK_TYPE((o), EM_ICON_STREAM_TYPE))
 
-struct _GtkHTML;
-struct _GtkIconStream;
-
-#include "mail/em-sync-stream.h"
+G_BEGIN_DECLS
 
 typedef struct _EMIconStream {
 	EMSyncStream sync;
@@ -41,7 +38,7 @@ typedef struct _EMIconStream {
 	guint width, height;
 	guint destroy_id;
 	struct _GdkPixbufLoader *loader;
-	struct _GtkImage *image;
+	GtkImage *image;
 	gchar *key;
 
 	guint keep:1;
diff --git a/mail/em-inline-filter.h b/mail/em-inline-filter.h
index 2a7a18b..ac1779f 100644
--- a/mail/em-inline-filter.h
+++ b/mail/em-inline-filter.h
@@ -24,15 +24,16 @@
 #ifndef EM_INLINE_FILTER_H
 #define EM_INLINE_FILTER_H
 
-G_BEGIN_DECLS
+#include <camel/camel-mime-filter.h>
+#include <camel/camel-mime-utils.h>
+#include <camel/camel-multipart.h>
 
 #define EM_INLINE_FILTER_TYPE     (em_inline_filter_get_type ())
 #define EM_INLINE_FILTER(obj)     (CAMEL_CHECK_CAST((obj), EM_INLINE_FILTER_TYPE, EMInlineFilter))
 #define EM_INLINE_FILTER_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), EM_INLINE_FILTER_TYPE, EMInlineFilterClass))
 #define EM_IS_INLINE_FILTER(o)    (CAMEL_CHECK_TYPE((o), EM_INLINE_FILTER_TYPE))
 
-#include <camel/camel-mime-filter.h>
-#include <camel/camel-mime-utils.h>
+G_BEGIN_DECLS
 
 typedef struct _EMInlineFilter {
 	CamelMimeFilter filter;
@@ -53,7 +54,7 @@ typedef struct _EMInlineFilterClass {
 
 CamelType    em_inline_filter_get_type(void);
 EMInlineFilter *em_inline_filter_new(CamelTransferEncoding base_encoding, CamelContentType *type);
-struct _CamelMultipart *em_inline_filter_get_multipart(EMInlineFilter *emif);
+CamelMultipart *em_inline_filter_get_multipart(EMInlineFilter *emif);
 
 G_END_DECLS
 
diff --git a/mail/em-junk-hook.h b/mail/em-junk-hook.h
index 1f66518..39d1842 100644
--- a/mail/em-junk-hook.h
+++ b/mail/em-junk-hook.h
@@ -27,6 +27,7 @@
 #include "e-util/e-plugin.h"
 
 #include <camel/camel-junk-plugin.h>
+#include <camel/camel-mime-message.h>
 
 G_BEGIN_DECLS
 
@@ -46,7 +47,7 @@ GQuark em_junk_error_quark (void);
 #define EM_JUNK_ERROR em_junk_error_quark ()
 
 struct _EMJunkHookTarget {
-	struct _CamelMimeMessage *m;
+	CamelMimeMessage *m;
 	GError *error;
 };
 
diff --git a/mail/em-mailer-prefs.c b/mail/em-mailer-prefs.c
index 79648a3..fa450dc 100644
--- a/mail/em-mailer-prefs.c
+++ b/mail/em-mailer-prefs.c
@@ -696,7 +696,7 @@ http_images_changed (GtkWidget *widget, EMMailerPrefs *prefs)
 
 
 static GtkWidget *
-emmp_widget_glade(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+emmp_widget_glade(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	EMMailerPrefs *prefs = data;
 
diff --git a/mail/em-mailer-prefs.h b/mail/em-mailer-prefs.h
index abef616..b33e620 100644
--- a/mail/em-mailer-prefs.h
+++ b/mail/em-mailer-prefs.h
@@ -72,9 +72,9 @@ struct _EMMailerPrefs {
 	GtkOptionMenu *charset;
 
 	/* Deleting Mail */
-	struct _GtkToggleButton *empty_trash;
-	struct _GtkComboBox *empty_trash_days;
-	struct _GtkToggleButton *confirm_expunge;
+	GtkToggleButton *empty_trash;
+	GtkComboBox *empty_trash_days;
+	GtkToggleButton *confirm_expunge;
 
 	/* HTML Mail tab */
 	GtkFontButton *font_variable;
diff --git a/mail/em-menu.c b/mail/em-menu.c
index f0da9c8..bb8063e 100644
--- a/mail/em-menu.c
+++ b/mail/em-menu.c
@@ -134,7 +134,7 @@ EMMenu *em_menu_new(const gchar *menuid)
  * Return value:
  **/
 EMMenuTargetSelect *
-em_menu_target_new_select(EMMenu *emp, struct _CamelFolder *folder, const gchar *folder_uri, GPtrArray *uids)
+em_menu_target_new_select(EMMenu *emp, CamelFolder *folder, const gchar *folder_uri, GPtrArray *uids)
 {
 	EMMenuTargetSelect *t = e_menu_target_new(&emp->popup, EM_MENU_TARGET_SELECT, sizeof(*t));
 	guint32 mask = ~0;
@@ -231,7 +231,7 @@ em_menu_target_new_select(EMMenu *emp, struct _CamelFolder *folder, const gchar
  * Return value:
  **/
 EMMenuTargetWidget *
-em_menu_target_new_widget(EMMenu *emp, struct _GtkWidget *w)
+em_menu_target_new_widget(EMMenu *emp, GtkWidget *w)
 {
 	EMMenuTargetWidget *t = e_menu_target_new(&emp->popup, EM_MENU_TARGET_WIDGET, sizeof(*t));
 	guint32 mask = ~0;
diff --git a/mail/em-menu.h b/mail/em-menu.h
index 3e7ca19..b2e6691 100644
--- a/mail/em-menu.h
+++ b/mail/em-menu.h
@@ -25,6 +25,7 @@
 #define __EM_MENU_H__
 
 #include <glib-object.h>
+#include <camel/camel-folder.h>
 
 #include "e-util/e-menu.h"
 
@@ -69,7 +70,7 @@ typedef struct _EMMenuTargetSelect EMMenuTargetSelect;
 
 struct _EMMenuTargetSelect {
 	EMenuTarget target;
-	struct _CamelFolder *folder;
+	CamelFolder *folder;
 	gchar *uri;
 	GPtrArray *uids;
 };
@@ -97,8 +98,8 @@ GType em_menu_get_type(void);
 
 EMMenu *em_menu_new(const gchar *menuid);
 
-EMMenuTargetSelect *em_menu_target_new_select(EMMenu *emp, struct _CamelFolder *folder, const gchar *folder_uri, GPtrArray *uids);
-EMMenuTargetWidget *em_menu_target_new_widget(EMMenu *emp, struct _GtkWidget *w);
+EMMenuTargetSelect *em_menu_target_new_select(EMMenu *emp, CamelFolder *folder, const gchar *folder_uri, GPtrArray *uids);
+EMMenuTargetWidget *em_menu_target_new_widget(EMMenu *emp, GtkWidget *w);
 
 /* ********************************************************************** */
 
diff --git a/mail/em-network-prefs.c b/mail/em-network-prefs.c
index c9a597c..e530d4d 100644
--- a/mail/em-network-prefs.c
+++ b/mail/em-network-prefs.c
@@ -159,7 +159,7 @@ toggle_button_init (EMNetworkPrefs *prefs, GtkToggleButton *toggle, const gchar
 }
 
 static GtkWidget *
-emnp_widget_glade(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, gpointer data)
+emnp_widget_glade(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
 {
 	EMNetworkPrefs *prefs = data;
 
diff --git a/mail/em-network-prefs.h b/mail/em-network-prefs.h
index bd4e9e7..057247b 100644
--- a/mail/em-network-prefs.h
+++ b/mail/em-network-prefs.h
@@ -82,8 +82,6 @@ struct _EMNetworkPrefs {
 	GtkLabel *lbl_http_port;
 	GtkLabel *lbl_https_host;
 	GtkLabel *lbl_https_port;
-	GtkLabel *lbl_socks_host;
-	GtkLabel *lbl_socks_port;
 	GtkLabel *lbl_ignore_hosts;
 	GtkLabel *lbl_auth_user;
 	GtkLabel *lbl_auth_pwd;
diff --git a/mail/em-popup.c b/mail/em-popup.c
index 8b26a59..f9caf9d 100644
--- a/mail/em-popup.c
+++ b/mail/em-popup.c
@@ -151,7 +151,7 @@ EMPopup *em_popup_new(const gchar *menuid)
  * Return value:
  **/
 EMPopupTargetSelect *
-em_popup_target_new_select(EMPopup *emp, struct _CamelFolder *folder, const gchar *folder_uri, GPtrArray *uids)
+em_popup_target_new_select(EMPopup *emp, CamelFolder *folder, const gchar *folder_uri, GPtrArray *uids)
 {
 	EMPopupTargetSelect *t = e_popup_target_new(&emp->popup, EM_POPUP_TARGET_SELECT, sizeof(*t));
 	CamelStore *store = CAMEL_STORE (folder->parent_store);
@@ -269,7 +269,7 @@ em_popup_target_new_uri(EMPopup *emp, const gchar *uri)
 }
 
 EMPopupTargetPart *
-em_popup_target_new_part(EMPopup *emp, struct _CamelMimePart *part, const gchar *mime_type)
+em_popup_target_new_part(EMPopup *emp, CamelMimePart *part, const gchar *mime_type)
 {
 	EMPopupTargetPart *t = e_popup_target_new(&emp->popup, EM_POPUP_TARGET_PART, sizeof(*t));
 	guint32 mask = ~0;
diff --git a/mail/em-popup.h b/mail/em-popup.h
index cdac00b..f7182e9 100644
--- a/mail/em-popup.h
+++ b/mail/em-popup.h
@@ -25,6 +25,7 @@
 #define __EM_POPUP_H__
 
 #include <glib-object.h>
+#include <camel/camel-folder.h>
 
 #include "e-util/e-popup.h"
 
@@ -183,7 +184,7 @@ struct _EMPopupTargetURI {
  **/
 struct _EMPopupTargetSelect {
 	EPopupTarget target;
-	struct _CamelFolder *folder;
+	CamelFolder *folder;
 	gchar *uri;
 	GPtrArray *uids;
 };
@@ -202,7 +203,7 @@ struct _EMPopupTargetSelect {
 struct _EMPopupTargetPart {
 	EPopupTarget target;
 	gchar *mime_type;
-	struct _CamelMimePart *part;
+	CamelMimePart *part;
 };
 
 /**
@@ -236,8 +237,8 @@ GType em_popup_get_type(void);
 EMPopup *em_popup_new(const gchar *menuid);
 
 EMPopupTargetURI *em_popup_target_new_uri(EMPopup *emp, const gchar *uri);
-EMPopupTargetSelect *em_popup_target_new_select(EMPopup *emp, struct _CamelFolder *folder, const gchar *folder_uri, GPtrArray *uids);
-EMPopupTargetPart *em_popup_target_new_part(EMPopup *emp, struct _CamelMimePart *part, const gchar *mime_type);
+EMPopupTargetSelect *em_popup_target_new_select(EMPopup *emp, CamelFolder *folder, const gchar *folder_uri, GPtrArray *uids);
+EMPopupTargetPart *em_popup_target_new_part(EMPopup *emp, CamelMimePart *part, const gchar *mime_type);
 EMPopupTargetFolder *em_popup_target_new_folder(EMPopup *emp, const gchar *uri, guint32 info_flags, guint32 popup_flags);
 
 /* ********************************************************************** */
diff --git a/mail/em-utils.c b/mail/em-utils.c
index 6617b04..e2af699 100644
--- a/mail/em-utils.c
+++ b/mail/em-utils.c
@@ -2176,8 +2176,8 @@ em_utils_in_addressbook (CamelInternetAddress *iaddr, gboolean local_only)
 	return found;
 }
 
-struct _CamelMimePart *
-em_utils_contact_photo (struct _CamelInternetAddress *cia, gboolean local)
+CamelMimePart *
+em_utils_contact_photo (CamelInternetAddress *cia, gboolean local)
 {
 	const gchar *addr;
 	gint stop = FALSE, found = FALSE;
diff --git a/mail/importers/mail-importer.h b/mail/importers/mail-importer.h
index 92f555c..7759a4e 100644
--- a/mail/importers/mail-importer.h
+++ b/mail/importers/mail-importer.h
@@ -24,10 +24,15 @@
 #ifndef __MAIL_IMPORTER_H__
 #define __MAIL_IMPORTER_H__
 
+#include <bonobo/bonobo-generic-factory.h>
+#include <camel/camel-folder.h>
+
+#include <e-util/e-import.h>
+
 typedef struct _MailImporter MailImporter;
 struct _MailImporter {
-	struct _CamelFolder *folder;
-	struct _CamelStreamMem *mstream;
+	CamelFolder *folder;
+	CamelStreamMem *mstream;
 
 	gboolean frozen; /* Is folder frozen? */
 };
@@ -47,15 +52,10 @@ void mail_importer_create_folder (const gchar *parent_path,
 /* creates a folder at folderpath on the local storage */
 gchar *mail_importer_make_local_folder(const gchar *folderpath);
 
-struct _BonoboObject;
-struct _BonoboGenericFactory;
-struct _CamelOperation;
-struct _CamelException;
-
-struct _EImportImporter *mbox_importer_peek(void);
+EImportImporter *mbox_importer_peek(void);
 
-struct _EImportImporter *elm_importer_peek(void);
-struct _EImportImporter *pine_importer_peek(void);
+EImportImporter *elm_importer_peek(void);
+EImportImporter *pine_importer_peek(void);
 
 #define ELM_INTELLIGENT_IMPORTER_IID "OAFIID:GNOME_Evolution_Mail_Elm_Intelligent_Importer:" BASE_VERSION
 #define PINE_INTELLIGENT_IMPORTER_IID "OAFIID:GNOME_Evolution_Mail_Pine_Intelligent_Importer:" BASE_VERSION
@@ -64,14 +64,14 @@ struct _EImportImporter *pine_importer_peek(void);
 #define MBOX_IMPORTER_IID "OAFIID:GNOME_Evolution_Mail_Mbox_Importer:" BASE_VERSION
 #define OUTLOOK_IMPORTER_IID "OAFIID:GNOME_Evolution_Mail_Outlook_Importer:" BASE_VERSION
 
-struct _BonoboObject *elm_intelligent_importer_new(void);
-struct _BonoboObject *pine_intelligent_importer_new(void);
-struct _BonoboObject *netscape_intelligent_importer_new(void);
+BonoboObject *elm_intelligent_importer_new(void);
+BonoboObject *pine_intelligent_importer_new(void);
+BonoboObject *netscape_intelligent_importer_new(void);
 
-struct _BonoboObject *mbox_importer_new(void);
-struct _BonoboObject *outlook_importer_new(void);
+BonoboObject *mbox_importer_new(void);
+BonoboObject *outlook_importer_new(void);
 
-struct _BonoboObject *mail_importer_factory_cb(struct _BonoboGenericFactory *factory, const gchar *iid, gpointer data);
+BonoboObject *mail_importer_factory_cb(BonoboGenericFactory *factory, const gchar *iid, gpointer data);
 
 
 /* Defines copied from nsMsgMessageFlags.h in Mozilla source. */
@@ -81,8 +81,8 @@ struct _BonoboObject *mail_importer_factory_cb(struct _BonoboGenericFactory *fac
 #define MSG_FLAG_MARKED 0x0004
 #define MSG_FLAG_EXPUNGED 0x0008
 
-gint mail_importer_import_mbox(const gchar *path, const gchar *folderuri, struct _CamelOperation *cancel, void (*done)(gpointer data, struct _CamelException *), gpointer data);
-void mail_importer_import_mbox_sync(const gchar *path, const gchar *folderuri, struct _CamelOperation *cancel);
+gint mail_importer_import_mbox(const gchar *path, const gchar *folderuri, CamelOperation *cancel, void (*done)(gpointer data, CamelException *), gpointer data);
+void mail_importer_import_mbox_sync(const gchar *path, const gchar *folderuri, CamelOperation *cancel);
 
 struct _MailImporterSpecial {
 	const gchar *orig, *new;
@@ -93,6 +93,6 @@ typedef struct _MailImporterSpecial MailImporterSpecial;
 #define MAIL_IMPORTER_MOZFMT (1<<0)
 
 /* api in flux */
-void mail_importer_import_folders_sync(const gchar *filepath, MailImporterSpecial special_folders[], gint flags, struct _CamelOperation *cancel);
+void mail_importer_import_folders_sync(const gchar *filepath, MailImporterSpecial special_folders[], gint flags, CamelOperation *cancel);
 
 #endif
diff --git a/mail/mail-autofilter.h b/mail/mail-autofilter.h
index 67ff5d6..8ad9858 100644
--- a/mail/mail-autofilter.h
+++ b/mail/mail-autofilter.h
@@ -24,12 +24,11 @@
 #ifndef _MAIL_AUTOFILTER_H
 #define _MAIL_AUTOFILTER_H
 
-struct _FilterRule;
-struct _EMVFolderContext;
-struct _EMFilterContext;
-struct _CamelMimeMessage;
-struct _CamelInternetAddress;
-struct _CamelStore;
+#include <camel/camel-mime-message.h>
+
+#include <filter/filter-rule.h>
+#include <mail/em-filter-context.h>
+#include <mail/em-vfolder-context.h>
 
 enum {
 	AUTO_SUBJECT = 1,
@@ -38,15 +37,15 @@ enum {
 	AUTO_MLIST = 8
 };
 
-struct _FilterRule *em_vfolder_rule_from_message(struct _EMVFolderContext *context, struct _CamelMimeMessage *msg, gint flags, const gchar *source);
-struct _FilterRule *filter_rule_from_message(struct _EMFilterContext *context, struct _CamelMimeMessage *msg, gint flags);
-struct _FilterRule *em_vfolder_rule_from_address(struct _EMVFolderContext *context, struct _CamelInternetAddress *addr, gint flags, const gchar *source);
+FilterRule *em_vfolder_rule_from_message(EMVFolderContext *context, CamelMimeMessage *msg, gint flags, const gchar *source);
+FilterRule *filter_rule_from_message(EMFilterContext *context, CamelMimeMessage *msg, gint flags);
+FilterRule *em_vfolder_rule_from_address(EMVFolderContext *context, CamelInternetAddress *addr, gint flags, const gchar *source);
 
 /* easiest place to put this */
-void  filter_gui_add_from_message(struct _CamelMimeMessage *msg, const gchar *source, gint flags);
+void  filter_gui_add_from_message(CamelMimeMessage *msg, const gchar *source, gint flags);
 
 /* Also easiest place for these, we should really share a global rule context for this stuff ... */
-void mail_filter_rename_uri(struct _CamelStore *store, const gchar *olduri, const gchar *newuri);
-void mail_filter_delete_uri(struct _CamelStore *store, const gchar *uri);
+void mail_filter_rename_uri(CamelStore *store, const gchar *olduri, const gchar *newuri);
+void mail_filter_delete_uri(CamelStore *store, const gchar *uri);
 
 #endif
diff --git a/mail/mail-component.h b/mail/mail-component.h
index a7885fd..f5e2ad0 100644
--- a/mail/mail-component.h
+++ b/mail/mail-component.h
@@ -28,8 +28,9 @@
 #include <bonobo/bonobo-object.h>
 #include "shell/evolution-component.h"
 #include "mail/Evolution-Mail.h"
-
-struct _CamelStore;
+#include "mail/em-folder-tree-model.h"
+#include "filter/rule-context.h"
+#include "misc/e-activity-handler.h"
 
 #define MAIL_TYPE_COMPONENT			(mail_component_get_type ())
 #define MAIL_COMPONENT(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), MAIL_TYPE_COMPONENT, MailComponent))
@@ -68,18 +69,18 @@ MailComponent *mail_component_peek  (void);
 
 /* NOTE: Using NULL as the component implies using the default component */
 const gchar       *mail_component_peek_base_directory    (MailComponent *component);
-struct _RuleContext      *mail_component_peek_search_context    (MailComponent *component);
-struct _EActivityHandler *mail_component_peek_activity_handler  (MailComponent *component);
+RuleContext      *mail_component_peek_search_context    (MailComponent *component);
+EActivityHandler *mail_component_peek_activity_handler  (MailComponent *component);
 
 void        mail_component_add_store            (MailComponent *component,
-						 struct _CamelStore    *store,
+						 CamelStore    *store,
 						 const gchar    *name);
-struct _CamelStore *mail_component_load_store_by_uri    (MailComponent *component,
+CamelStore *mail_component_load_store_by_uri    (MailComponent *component,
 						 const gchar    *uri,
 						 const gchar    *name);
 
 void        mail_component_remove_store         (MailComponent *component,
-						 struct _CamelStore    *store);
+						 CamelStore    *store);
 void        mail_component_remove_store_by_uri  (MailComponent *component,
 						 const gchar    *uri);
 
@@ -88,12 +89,12 @@ void         mail_component_stores_foreach   (MailComponent *component,
 					      GHFunc         func,
 					      void          *data);
 
-void mail_component_remove_folder (MailComponent *component, struct _CamelStore *store, const gchar *path);
+void mail_component_remove_folder (MailComponent *component, CamelStore *store, const gchar *path);
 
-struct _EMFolderTreeModel *mail_component_peek_tree_model (MailComponent *component);
+EMFolderTreeModel *mail_component_peek_tree_model (MailComponent *component);
 
-struct _CamelStore *mail_component_peek_local_store (MailComponent *mc);
-struct _CamelFolder *mail_component_get_folder(MailComponent *mc, enum _mail_component_folder_t id);
+CamelStore *mail_component_peek_local_store (MailComponent *mc);
+CamelFolder *mail_component_get_folder(MailComponent *mc, enum _mail_component_folder_t id);
 const gchar *mail_component_get_folder_uri(MailComponent *mc, enum _mail_component_folder_t id);
 
 gint status_check (GNOME_Evolution_ShellState shell_state);
diff --git a/mail/mail-config.h b/mail/mail-config.h
index 1026927..cc58784 100644
--- a/mail/mail-config.h
+++ b/mail/mail-config.h
@@ -23,19 +23,13 @@
 #ifndef MAIL_CONFIG_H
 #define MAIL_CONFIG_H
 
-#include <glib-object.h>
-#include <camel/camel-folder.h>
+#include <gtk/gtk.h>
 #include <camel/camel-provider.h>
+#include <libedataserver/e-account.h>
+#include <libedataserver/e-account-list.h>
 
-struct _EAccount;
-struct _EAccountList;
-struct _EAccountService;
-
-struct _ESignature;
-struct _ESignatureList;
-
-struct _GConfClient;
-struct _GtkWindow;
+#include <e-util/e-signature.h>
+#include <e-util/e-signature-list.h>
 
 G_BEGIN_DECLS
 
@@ -78,22 +72,22 @@ void mail_config_clear (void);
 void mail_config_write (void);
 void mail_config_write_on_exit (void);
 
-struct _GConfClient *mail_config_get_gconf_client (void);
+GConfClient *mail_config_get_gconf_client (void);
 
 /* General Accessor functions */
 const gchar **mail_config_get_allowable_mime_types (void);
 
-void mail_config_service_set_save_passwd (struct _EAccountService *service, gboolean save_passwd);
+void mail_config_service_set_save_passwd (EAccountService *service, gboolean save_passwd);
 
 /* accounts */
-struct _EAccount *mail_config_get_account_by_source_url (const gchar *url);
-struct _EAccount *mail_config_get_account_by_transport_url (const gchar *url);
+EAccount *mail_config_get_account_by_source_url (const gchar *url);
+EAccount *mail_config_get_account_by_transport_url (const gchar *url);
 
 gint mail_config_get_address_count (void);
 gint mail_config_get_message_limit (void);
 gboolean mail_config_get_enable_magic_spacebar (void);
 
-struct _EAccountService  *mail_config_get_default_transport (void);
+EAccountService  *mail_config_get_default_transport (void);
 
 /* uri's got changed by the store, etc */
 void mail_config_uri_renamed (GCompareFunc uri_cmp, const gchar *old, const gchar *new);
diff --git a/mail/mail-mt.c b/mail/mail-mt.c
index 4920ab9..ade31e5 100644
--- a/mail/mail-mt.c
+++ b/mail/mail-mt.c
@@ -51,7 +51,7 @@
 #define d(x)
 
 static void set_stop(gint sensitive);
-static void mail_operation_status(struct _CamelOperation *op, const gchar *what, gint pc, gpointer data);
+static void mail_operation_status(CamelOperation *op, const gchar *what, gint pc, gpointer data);
 
 #ifdef LOG_LOCKS
 #define MAIL_MT_LOCK(x) (log_locks?fprintf(log, "%" G_GINT64_MODIFIER "x: lock " # x "\n", e_util_pthread_id(pthread_self())):0, pthread_mutex_lock(&x))
@@ -932,7 +932,7 @@ void mail_disable_stop(void)
 struct _op_status_msg {
 	MailMsg base;
 
-	struct _CamelOperation *op;
+	CamelOperation *op;
 	gchar *what;
 	gint pc;
 	gpointer data;
@@ -1047,7 +1047,7 @@ static MailMsgInfo op_status_info = {
 };
 
 static void
-mail_operation_status (struct _CamelOperation *op, const gchar *what, gint pc, gpointer data)
+mail_operation_status (CamelOperation *op, const gchar *what, gint pc, gpointer data)
 {
 	struct _op_status_msg *m;
 
diff --git a/mail/mail-tools.h b/mail/mail-tools.h
index 11e7c87..ceb3ce8 100644
--- a/mail/mail-tools.h
+++ b/mail/mail-tools.h
@@ -24,39 +24,35 @@
 #define MAIL_TOOLS_H
 
 #include <glib.h>
-
-struct _CamelFolder;
-struct _CamelException;
-struct _CamelMimeMessage;
-struct _CamelMimePart;
-struct _camel_header_raw;
+#include <camel/camel-folder.h>
+#include <camel/camel-mime-message.h>
 
 /* Get the "inbox" for a url (uses global session) */
-struct _CamelFolder *mail_tool_get_inbox (const gchar *url, struct _CamelException *ex);
+CamelFolder *mail_tool_get_inbox (const gchar *url, CamelException *ex);
 
 /* Get the "trash" for a url (uses global session) */
-struct _CamelFolder *mail_tool_get_trash (const gchar *url, gint connect, struct _CamelException *ex);
+CamelFolder *mail_tool_get_trash (const gchar *url, gint connect, CamelException *ex);
 
 /* Does a camel_movemail into the local movemail folder
  * and returns the path to the new movemail folder that was created. which shoudl be freed later */
-gchar *mail_tool_do_movemail (const gchar *source_url, struct _CamelException *ex);
+gchar *mail_tool_do_movemail (const gchar *source_url, CamelException *ex);
 
-struct _camel_header_raw *mail_tool_remove_xevolution_headers (struct _CamelMimeMessage *message);
-void mail_tool_restore_xevolution_headers (struct _CamelMimeMessage *message, struct _camel_header_raw *);
+struct _camel_header_raw *mail_tool_remove_xevolution_headers (CamelMimeMessage *message);
+void mail_tool_restore_xevolution_headers (CamelMimeMessage *message, struct _camel_header_raw *);
 
 /* Generates the subject for a message forwarding @msg */
-gchar *mail_tool_generate_forward_subject (struct _CamelMimeMessage *msg);
+gchar *mail_tool_generate_forward_subject (CamelMimeMessage *msg);
 
 /* Make a message into an attachment */
-struct _CamelMimePart *mail_tool_make_message_attachment (struct _CamelMimeMessage *message);
+CamelMimePart *mail_tool_make_message_attachment (CamelMimeMessage *message);
 
-/* Parse the ui into a real struct _CamelFolder any way we know how. */
-struct _CamelFolder *mail_tool_uri_to_folder (const gchar *uri, guint32 flags, struct _CamelException *ex);
+/* Parse the ui into a real CamelFolder any way we know how. */
+CamelFolder *mail_tool_uri_to_folder (const gchar *uri, guint32 flags, CamelException *ex);
 
-GHashTable *mail_lookup_url_table (struct _CamelMimeMessage *mime_message);
+GHashTable *mail_lookup_url_table (CamelMimeMessage *mime_message);
 
-struct _CamelFolder *mail_tools_x_evolution_message_parse (gchar *in, guint inlen, GPtrArray **uids);
+CamelFolder *mail_tools_x_evolution_message_parse (gchar *in, guint inlen, GPtrArray **uids);
 
-gchar *mail_tools_folder_to_url (struct _CamelFolder *folder);
+gchar *mail_tools_folder_to_url (CamelFolder *folder);
 
 #endif
diff --git a/mail/mail-vfolder.h b/mail/mail-vfolder.h
index 6635127..b3299ab 100644
--- a/mail/mail-vfolder.h
+++ b/mail/mail-vfolder.h
@@ -22,37 +22,36 @@
 #ifndef _MAIL_VFOLDER_H
 #define _MAIL_VFOLDER_H
 
-#include <shell/e-shell-view.h>
+#include <camel/camel-internet-address.h>
+#include <camel/camel-mime-message.h>
 
-struct _CamelStore;
-struct _FilterPart;
-struct _FilterRule;
-struct _CamelMimeMessage;
-struct _EMVFolderRule;
-struct _CamelInternetAddress;
+#include <filter/filter-part.h>
+#include <filter/filter-rule.h>
+#include <mail/em-vfolder-rule.h>
+#include <shell/e-shell-view.h>
 
 void vfolder_load_storage(void);
 void vfolder_revert(void);
 
 void vfolder_edit (EShellView *shell_view);
 void vfolder_edit_rule(const gchar *name);
-struct _FilterPart *vfolder_create_part (const gchar *name);
-struct _FilterRule *vfolder_clone_rule (struct _FilterRule *in);
-void vfolder_gui_add_rule (struct _EMVFolderRule *rule);
-void vfolder_gui_add_from_message (struct _CamelMimeMessage *msg, gint flags, const gchar *source);
-void vfolder_gui_add_from_address (struct _CamelInternetAddress *addr, gint flags, const gchar *source);
+FilterPart *vfolder_create_part (const gchar *name);
+FilterRule *vfolder_clone_rule (FilterRule *in);
+void vfolder_gui_add_rule (EMVFolderRule *rule);
+void vfolder_gui_add_from_message (CamelMimeMessage *msg, gint flags, const gchar *source);
+void vfolder_gui_add_from_address (CamelInternetAddress *addr, gint flags, const gchar *source);
 
 GList * mail_vfolder_get_sources_local (void);
 GList * mail_vfolder_get_sources_remote (void);
 
 /* add a uri that is now (un)available to vfolders in a transient manner */
-void mail_vfolder_add_uri(struct _CamelStore *store, const gchar *uri, gint remove);
+void mail_vfolder_add_uri(CamelStore *store, const gchar *uri, gint remove);
 
 /* note that a folder has changed name (uri) */
-void mail_vfolder_rename_uri(struct _CamelStore *store, const gchar *from, const gchar *to);
+void mail_vfolder_rename_uri(CamelStore *store, const gchar *from, const gchar *to);
 
 /* remove a uri that should be removed from vfolders permanently */
-void mail_vfolder_delete_uri(struct _CamelStore *store, const gchar *uri);
+void mail_vfolder_delete_uri(CamelStore *store, const gchar *uri);
 
 /* close up, clean up */
 void mail_vfolder_shutdown (void);
diff --git a/mail/message-list.h b/mail/message-list.h
index 15ea286..075c20a 100644
--- a/mail/message-list.h
+++ b/mail/message-list.h
@@ -24,6 +24,7 @@
 #define _MESSAGE_LIST_H_
 
 #include <gtk/gtk.h>
+#include <camel/camel-folder-thread.h>
 
 #include <table/e-table-simple.h>
 #include <table/e-tree-scrolled.h>
@@ -161,7 +162,7 @@ struct _MessageList {
 	gchar *frozen_search;	/* to save search took place while we were frozen */
 
 	/* the current camel folder thread tree, if any */
-	struct _CamelFolderThread *thread_tree;
+	CamelFolderThread *thread_tree;
 
 	/* for message/folder chagned event handling */
 	struct _MailAsyncEvent *async_event;
diff --git a/mail/message-tag-followup.h b/mail/message-tag-followup.h
index bc8c793..c7ed55c 100644
--- a/mail/message-tag-followup.h
+++ b/mail/message-tag-followup.h
@@ -42,13 +42,13 @@ typedef struct _MessageTagFollowUpClass MessageTagFollowUpClass;
 struct _MessageTagFollowUp {
 	MessageTagEditor parent;
 
-	struct _GtkTreeView *message_list;
+	GtkTreeView *message_list;
 
-	struct _GtkComboBox *combo_entry;
+	GtkComboBox *combo_entry;
 
 	struct _EDateEdit *target_date;
-	struct _GtkToggleButton *completed;
-	struct _GtkButton *clear;
+	GtkToggleButton *completed;
+	GtkButton *clear;
 
 	time_t completed_date;
 };
diff --git a/plugins/addressbook-file/addressbook-file.c b/plugins/addressbook-file/addressbook-file.c
index d651ad4..960c844 100644
--- a/plugins/addressbook-file/addressbook-file.c
+++ b/plugins/addressbook-file/addressbook-file.c
@@ -25,9 +25,9 @@
 #include <libedataserver/e-source.h>
 #include <string.h>
 
-struct _GtkWidget *e_book_file_dummy (EPlugin *epl, EConfigHookItemFactoryData *data);
+GtkWidget *e_book_file_dummy (EPlugin *epl, EConfigHookItemFactoryData *data);
 
-struct _GtkWidget *
+GtkWidget *
 e_book_file_dummy (EPlugin *epl, EConfigHookItemFactoryData *data)
 {
 	EABConfigTargetSource *t = (EABConfigTargetSource *) data->target;
diff --git a/plugins/groupwise-account-setup/camel-gw-listener.h b/plugins/groupwise-account-setup/camel-gw-listener.h
index 9682a68..1c4cedb 100644
--- a/plugins/groupwise-account-setup/camel-gw-listener.h
+++ b/plugins/groupwise-account-setup/camel-gw-listener.h
@@ -40,6 +40,7 @@ G_BEGIN_DECLS
 typedef struct _CamelGwListener CamelGwListener;
 typedef struct _CamelGwListenerClass CamelGwListenerClass;
 typedef struct _CamelGwListenerPrivate CamelGwListenerPrivate;
+
 struct _CamelGwListener {
        GObject parent;
 
diff --git a/plugins/groupwise-features/junk-settings.h b/plugins/groupwise-features/junk-settings.h
index fd728cb..3216ed9 100644
--- a/plugins/groupwise-features/junk-settings.h
+++ b/plugins/groupwise-features/junk-settings.h
@@ -39,41 +39,27 @@ G_BEGIN_DECLS
 typedef struct _JunkSettings JunkSettings;
 typedef struct _JunkSettingsClass JunkSettingsClass;
 
-struct _GtkWidget;
-struct _GladeXML;
-struct _GtkButton;
-struct _GtkTreeView;
-struct _GtkLabel;
-struct _GtkEntry;
-struct _GtkWindow;
-struct _GtkRadioButton;
-struct _GtkListStore;
-struct _GtkCellRenderer;
-struct _GtkTreeViewColumn;
-struct _GtkFrame;
-struct _GtkVBox;
-
 struct _JunkSettings {
 	GtkVBox parent_object;
 
-	struct _GladeXML *xml;
+	GladeXML *xml;
 
 	/* General tab */
 
 	/* Default Behavior */
-	struct _GtkTreeView *entry_list;
-	struct _GtkButton *add_button;
-	struct _GtkButton *remove;
-	struct _GtkEntry *entry;
-	struct _GtkRadioButton *enable;
-	struct _GtkRadioButton *disable;
-	struct _GtkWidget *scrolled_window;
-	struct _GtkListStore *model;
-	struct _GtkCellRenderer *cell;
-	struct _GtkTreeViewColumn *column;
-	struct _GtkVBox  *vbox;
-	struct _GtkVBox  *table;
-	struct _GtkWidget *window;
+	GtkTreeView *entry_list;
+	GtkButton *add_button;
+	GtkButton *remove;
+	GtkEntry *entry;
+	GtkRadioButton *enable;
+	GtkRadioButton *disable;
+	GtkWidget *scrolled_window;
+	GtkListStore *model;
+	GtkCellRenderer *cell;
+	GtkTreeViewColumn *column;
+	GtkVBox  *vbox;
+	GtkVBox  *table;
+	GtkWidget *window;
 
 	GList *junk_list;
 	gint users;
@@ -89,7 +75,7 @@ struct _JunkSettingsClass {
 };
 
 GType junk_settings_get_type (void);
-struct _JunkSettings * junk_settings_new (EGwConnection *ccnc);
+JunkSettings * junk_settings_new (EGwConnection *ccnc);
 void commit_changes (JunkSettings *js);
 
 G_END_DECLS
diff --git a/plugins/groupwise-features/share-folder.h b/plugins/groupwise-features/share-folder.h
index d95d973..5108d02 100644
--- a/plugins/groupwise-features/share-folder.h
+++ b/plugins/groupwise-features/share-folder.h
@@ -40,45 +40,31 @@ G_BEGIN_DECLS
 typedef struct _ShareFolder ShareFolder;
 typedef struct _ShareFolderClass ShareFolderClass;
 
-struct _GtkWidget;
-struct _GladeXML;
-struct _GtkButton;
-struct _GtkTreeView;
-struct _GtkLabel;
-struct _GtkEntry;
-struct _GtkWindow;
-struct _GtkRadioButton;
-struct _GtkListStore;
-struct _GtkCellRenderer;
-struct _GtkTreeViewColumn;
-struct _GtkFrame;
-struct _GtkVBox;
-
 struct _ShareFolder {
 	GtkVBox parent_object;
 
-	struct _GladeXML *xml;
+	GladeXML *xml;
 
 	/* General tab */
 
 	/* Default Behavior */
-	struct _GtkTreeView *user_list;
-	struct _GtkTextView *message;
-	struct _GtkButton *add_button;
-	struct _GtkButton *remove;
-	struct _GtkButton *add_book;
-	struct _GtkButton *notification;
-	struct _GtkEntry *name;
-	struct _GtkEntry *subject;
-	struct _GtkRadioButton *shared;
-	struct _GtkRadioButton *not_shared;
-	struct _GtkWidget *scrolled_window;
-	struct _GtkListStore *model;
-	struct _GtkCellRenderer *cell;
-	struct _GtkTreeViewColumn *column;
-	struct _GtkVBox  *vbox;
-	struct _GtkVBox  *table;
-	struct _GtkWidget *window;
+	GtkTreeView *user_list;
+	GtkTextView *message;
+	GtkButton *add_button;
+	GtkButton *remove;
+	GtkButton *add_book;
+	GtkButton *notification;
+	GtkEntry *name;
+	GtkEntry *subject;
+	GtkRadioButton *shared;
+	GtkRadioButton *not_shared;
+	GtkWidget *scrolled_window;
+	GtkListStore *model;
+	GtkCellRenderer *cell;
+	GtkTreeViewColumn *column;
+	GtkVBox  *vbox;
+	GtkVBox  *table;
+	GtkWidget *window;
 
 	GList *users_list;
 	EGwContainer *gcontainer;
diff --git a/plugins/hula-account-setup/camel-hula-listener.h b/plugins/hula-account-setup/camel-hula-listener.h
index 9a0c364..97c1b33 100644
--- a/plugins/hula-account-setup/camel-hula-listener.h
+++ b/plugins/hula-account-setup/camel-hula-listener.h
@@ -40,6 +40,7 @@ G_BEGIN_DECLS
 typedef struct _CamelHulaListener CamelHulaListener;
 typedef struct _CamelHulaListenerClass CamelHulaListenerClass;
 typedef struct _CamelHulaListenerPrivate CamelHulaListenerPrivate;
+
 struct _CamelHulaListener {
        GObject parent;
 
diff --git a/plugins/mail-to-task/Makefile.am b/plugins/mail-to-task/Makefile.am
index 9a3749d..5261fbc 100644
--- a/plugins/mail-to-task/Makefile.am
+++ b/plugins/mail-to-task/Makefile.am
@@ -1,5 +1,6 @@
 INCLUDES =						\
 	-I$(top_srcdir)					\
+	-I$(top_srcdir)/widgets				\
 	$(EVOLUTION_CALENDAR_CFLAGS)			\
 	$(EVOLUTION_MAIL_CFLAGS)
 
diff --git a/plugins/mail-to-task/mail-to-task.c b/plugins/mail-to-task/mail-to-task.c
index 78fd37b..e7fa727 100644
--- a/plugins/mail-to-task/mail-to-task.c
+++ b/plugins/mail-to-task/mail-to-task.c
@@ -323,7 +323,7 @@ report_error_idle (const gchar *format, const gchar *param)
 
 typedef struct {
 	ECal *client;
-	struct _CamelFolder *folder;
+	CamelFolder *folder;
 	GPtrArray *uids;
 	gchar *selected_text;
 	gboolean with_attendees;
@@ -333,7 +333,7 @@ static gboolean
 do_mail_to_event (AsyncData *data)
 {
 	ECal *client = data->client;
-	struct _CamelFolder *folder = data->folder;
+	CamelFolder *folder = data->folder;
 	GPtrArray *uids = data->uids;
 	GError *err = NULL;
 	gboolean readonly = FALSE;
diff --git a/plugins/publish-calendar/Makefile.am b/plugins/publish-calendar/Makefile.am
index 3c79439..c8119f4 100644
--- a/plugins/publish-calendar/Makefile.am
+++ b/plugins/publish-calendar/Makefile.am
@@ -1,5 +1,6 @@
 INCLUDES =					\
 	-I$(top_srcdir)				\
+	-I$(top_srcdir)/widgets			\
 	-I$(top_builddir)/shell			\
 	$(EVOLUTION_CALENDAR_CFLAGS)		\
 	-DEVOLUTION_PLUGINDIR="\"$(plugindir)\"" \
diff --git a/plugins/save-calendar/Makefile.am b/plugins/save-calendar/Makefile.am
index 6894e6b..8336dd1 100644
--- a/plugins/save-calendar/Makefile.am
+++ b/plugins/save-calendar/Makefile.am
@@ -1,5 +1,6 @@
 INCLUDES =						\
 	-I$(top_srcdir)					\
+	-I$(top_srcdir)/widgets				\
 	$(EVOLUTION_CALENDAR_CFLAGS)
 
 @EVO_PLUGIN_RULE@
diff --git a/smime/gui/cert-trust-dialog.h b/smime/gui/cert-trust-dialog.h
index abdeb4d..c4852aa 100644
--- a/smime/gui/cert-trust-dialog.h
+++ b/smime/gui/cert-trust-dialog.h
@@ -24,9 +24,12 @@
 #ifndef _CERT_TRUST_DIALOG_H_
 #define _CERT_TRUST_DIALOG_H
 
-struct _GtkWidget;
-struct _ECert;
+#include <gtk/gtk.h>
 
-struct _GtkWidget* cert_trust_dialog_show (struct _ECert *cert);
+G_BEGIN_DECLS
+
+GtkWidget* cert_trust_dialog_show (ECert *cert);
+
+G_END_DECLS
 
 #endif /* _CERT_TRUST_DIALOG_H_ */
diff --git a/widgets/text/e-text-model.h b/widgets/text/e-text-model.h
index f16c061..0a9a738 100644
--- a/widgets/text/e-text-model.h
+++ b/widgets/text/e-text-model.h
@@ -36,15 +36,14 @@ G_BEGIN_DECLS
 
 typedef struct _ETextModel ETextModel;
 typedef struct _ETextModelClass ETextModelClass;
-
-struct _ETextModelPrivate;
+typedef struct _ETextModelPrivate ETextModelPrivate;
 
 typedef gint (*ETextModelReposFn) (gint, gpointer);
 
 struct _ETextModel {
 	GObject item;
 
-	struct _ETextModelPrivate *priv;
+	ETextModelPrivate *priv;
 };
 
 struct _ETextModelClass {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]