[evolution/kill-bonobo] Bug 583339 – Edit->Preferences->Mail Accounts inconsistent



commit 03ca12814b49f7f7999c635d7449dabce0b145b5
Author: Matthew Barnes <mbarnes redhat com>
Date:   Sat May 23 22:13:47 2009 -0400

    Bug 583339 â?? Edit->Preferences->Mail Accounts inconsistent
---
 mail/e-mail-shell-backend.c        |    4 +-
 mail/em-account-prefs.c            |  681 +++-------
 mail/em-account-prefs.h            |   30 +-
 mail/mail-config.glade             |  782 ++++++------
 mail/mail-dialogs.glade            | 2484 ++++++++++++++----------------------
 widgets/misc/Makefile.am           |    4 +
 widgets/misc/e-account-combo-box.c |    1 +
 widgets/misc/e-account-combo-box.h |    1 +
 widgets/misc/e-account-manager.c   |  461 +++++++
 widgets/misc/e-account-manager.h   |   82 ++
 widgets/misc/e-account-tree-view.c |  621 +++++++++
 widgets/misc/e-account-tree-view.h |   84 ++
 widgets/misc/e-signature-manager.c |   18 +-
 widgets/misc/e-signature-manager.h |    4 +-
 14 files changed, 2838 insertions(+), 2419 deletions(-)

diff --git a/mail/e-mail-shell-backend.c b/mail/e-mail-shell-backend.c
index 8b5f654..15d9e0d 100644
--- a/mail/e-mail-shell-backend.c
+++ b/mail/e-mail-shell-backend.c
@@ -501,8 +501,10 @@ static GtkActionEntry source_entries[] = {
 static void
 mail_shell_backend_init_preferences (EShell *shell)
 {
+	EAccountList *account_list;
 	GtkWidget *preferences_window;
 
+	account_list = e_get_account_list ();
 	preferences_window = e_shell_get_preferences_window (shell);
 
 	e_preferences_window_add_page (
@@ -510,7 +512,7 @@ mail_shell_backend_init_preferences (EShell *shell)
 		"mail-accounts",
 		"preferences-mail-accounts",
 		_("Mail Accounts"),
-		em_account_prefs_new (),
+		em_account_prefs_new (account_list),
 		100);
 
 	e_preferences_window_add_page (
diff --git a/mail/em-account-prefs.c b/mail/em-account-prefs.c
index bd72edd..5431a4d 100644
--- a/mail/em-account-prefs.c
+++ b/mail/em-account-prefs.c
@@ -1,4 +1,6 @@
 /*
+ * em-account-prefs.c
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
@@ -13,13 +15,17 @@
  * License along with the program; if not, see <http://www.gnu.org/licenses/>  
  *
  *
- * Authors:
- *		Jeffrey Stedfast <fejj ximian com>
- *
  * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
  *
  */
 
+/* XXX EAccountManager handles all the user interface stuff.  This subclass
+ *     applies policies using mailer resources that EAccountManager does not
+ *     have access to.  The desire is to someday move account management
+ *     completely out of the mailer, perhaps to evolution-data-server. */
+
+#include "em-account-prefs.h"
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
@@ -28,562 +34,295 @@
 
 #include <glib/gi18n.h>
 
-#include "mail-config.h"
-#include "mail-ops.h"
-#include "mail-send-recv.h"
-
-#include "e-util/e-account-utils.h"
 #include "e-util/e-error.h"
-#include "e-util/e-util-private.h"
 
-#include "em-account-prefs.h"
+#include "em-config.h"
 #include "em-account-editor.h"
 #include "e-mail-shell-backend.h"
+#include "mail-config.h"
 
-static void em_account_prefs_class_init (EMAccountPrefsClass *class);
-static void em_account_prefs_init       (EMAccountPrefs *prefs);
-static void em_account_prefs_finalise   (GObject *obj);
-static void em_account_prefs_destroy    (GtkObject *object);
-
-static void mail_accounts_load (EMAccountPrefs *prefs);
-
-
-static GtkVBoxClass *parent_class = NULL;
-
-
-#define PREFS_WINDOW(prefs) GTK_WINDOW (gtk_widget_get_ancestor (GTK_WIDGET (prefs), GTK_TYPE_WINDOW))
-
-
-GType
-em_account_prefs_get_type (void)
-{
-	static GType type = 0;
-
-	if (!type) {
-		GTypeInfo type_info = {
-			sizeof (EMAccountPrefsClass),
-			NULL, NULL,
-			(GClassInitFunc) em_account_prefs_class_init,
-			NULL, NULL,
-			sizeof (EMAccountPrefs),
-			0,
-			(GInstanceInitFunc) em_account_prefs_init,
-		};
-
-		type = g_type_register_static (gtk_vbox_get_type (), "EMAccountPrefs", &type_info, 0);
-	}
-
-	return type;
-}
-
-static void
-em_account_prefs_class_init (EMAccountPrefsClass *klass)
-{
-	GtkObjectClass *gtk_object_class = (GtkObjectClass *) klass;
-	GObjectClass *object_class = (GObjectClass *) klass;
-
-	parent_class = g_type_class_ref (gtk_vbox_get_type ());
-
-	gtk_object_class->destroy = em_account_prefs_destroy;
+#define EM_ACCOUNT_PREFS_GET_PRIVATE(obj) \
+	(G_TYPE_INSTANCE_GET_PRIVATE \
+	((obj), EM_TYPE_ACCOUNT_PREFS, EMAccountPrefsPrivate))
 
-	object_class->finalize = em_account_prefs_finalise;
-}
+struct _EMAccountPrefsPrivate {
+	gpointer druid;   /* weak pointer */
+	gpointer editor;  /* weak pointer */
+};
 
-static void
-em_account_prefs_init (EMAccountPrefs *prefs)
-{
-	prefs->druid = NULL;
-	prefs->editor = NULL;
-}
+static gpointer parent_class;
 
 static void
-em_account_prefs_destroy (GtkObject *obj)
+account_prefs_enable_account_cb (EAccountTreeView *tree_view)
 {
-	EMAccountPrefs *prefs = (EMAccountPrefs *) obj;
+	EAccount *account;
 
-	prefs->destroyed = TRUE;
+	account = e_account_tree_view_get_selected (tree_view);
+	g_return_if_fail (account != NULL);
 
-	GTK_OBJECT_CLASS (parent_class)->destroy (obj);
+	e_mail_shell_backend_load_store_by_uri (
+		global_mail_shell_backend,
+		account->source->url, account->name);
 }
 
 static void
-em_account_prefs_finalise (GObject *obj)
+account_prefs_disable_account_cb (EAccountTreeView *tree_view)
 {
-	EMAccountPrefs *prefs = (EMAccountPrefs *) obj;
-
-	g_object_unref (prefs->gui);
+	EAccountList *account_list;
+	EAccount *account;
+	gpointer parent;
+	gint response;
 
-        G_OBJECT_CLASS (parent_class)->finalize (obj);
-}
+	account = e_account_tree_view_get_selected (tree_view);
+	g_return_if_fail (account != NULL);
 
-static void
-account_add_finished (EMAccountPrefs *prefs, GObject *deadbeef)
-{
-	/* Either Cancel or Finished was clicked in the druid so reload the accounts */
-	prefs->druid = NULL;
+	account_list = e_account_tree_view_get_account_list (tree_view);
+	g_return_if_fail (account_list != NULL);
 
-	if (!prefs->destroyed)
-		mail_accounts_load (prefs);
+	if (!e_account_list_account_has_proxies (account_list, account))
+		return;
 
-	g_object_unref (prefs);
-}
+	parent = gtk_widget_get_toplevel (GTK_WIDGET (tree_view));
+	parent = GTK_WIDGET_TOPLEVEL (parent) ? parent : NULL;
 
-#include "em-config.h"
+	response = e_error_run (
+		parent, "mail:ask-delete-proxy-accounts", NULL);
 
-static void
-account_add_clicked (GtkButton *button, gpointer user_data)
-{
-	EMAccountPrefs *prefs = (EMAccountPrefs *) user_data;
-
-	if (prefs->druid == NULL) {
-		EMAccountEditor *emae;
-
-		/** @HookPoint-EMConfig: New Mail Account Druid
-		 * @Id: org.gnome.evolution.mail.config.accountDruid
-		 * @Type: E_CONFIG_DRUID
-		 * @Class: org.gnome.evolution.mail.config:1.0
-		 * @Target: EMConfigTargetAccount
-		 *
-		 * The new mail account druid.
-		 */
-		emae = em_account_editor_new(NULL, EMAE_DRUID, "org.gnome.evolution.mail.config.accountDruid");
-		prefs->druid = emae->editor;
-
-		gtk_window_set_transient_for((GtkWindow *)prefs->druid, (GtkWindow *)gtk_widget_get_toplevel((GtkWidget *)prefs));
-		g_object_ref(prefs);
-		/* rather nasty hack to reload the accounts, it should just listen to the e-account-list */
-		g_object_weak_ref((GObject *) prefs->druid, (GWeakNotify) account_add_finished, prefs);
-		gtk_widget_show(emae->editor);
-	} else {
-		gdk_window_raise (prefs->druid->window);
+	if (response != GTK_RESPONSE_YES) {
+		g_signal_stop_emission_by_name (tree_view, "disable-account");
+		return;
 	}
-}
 
-static void
-account_edit_finished (EMAccountPrefs *prefs, GObject *deadbeef)
-{
-	prefs->editor = NULL;
+	e_account_list_remove_account_proxies (account_list, account);
 
-	if (!prefs->destroyed)
-		mail_accounts_load (prefs);
-
-	g_object_unref (prefs);
+	e_mail_shell_backend_remove_store_by_uri (
+		global_mail_shell_backend, account->source->url);
 }
 
 static void
-account_edit_clicked (GtkButton *button, gpointer user_data)
+account_prefs_add_account (EAccountManager *manager)
 {
-	EMAccountPrefs *prefs = (EMAccountPrefs *) user_data;
-	EAccountList *account_list;
+	EMAccountPrefsPrivate *priv;
+	EMAccountEditor *emae;
+	gpointer parent;
 
-	account_list = e_get_account_list ();
-
-	if (prefs->editor == NULL) {
-		GtkTreeSelection *selection;
-		EAccount *account = NULL;
-		GtkTreeModel *model;
-		GtkTreeIter iter;
-
-		selection = gtk_tree_view_get_selection (prefs->table);
-		if (gtk_tree_selection_get_selected (selection, &model, &iter))
-			gtk_tree_model_get (model, &iter, 3, &account, -1);
-
-		if (account && !account->parent_uid && !e_account_list_account_has_proxies (account_list, account)) {
-			EMAccountEditor *emae;
-
-			/** @HookPoint-EMConfig: Mail Account Editor
-			 * @Id: org.gnome.evolution.mail.config.accountEditor
-			 * @Type: E_CONFIG_BOOK
-			 * @Class: org.gnome.evolution.mail.config:1.0
-			 * @Target: EMConfigTargetAccount
-			 *
-			 * The account editor window.
-			 */
-			emae = em_account_editor_new(account, EMAE_NOTEBOOK, "org.gnome.evolution.mail.config.accountEditor");
-			prefs->editor = emae->editor;
-
-			gtk_window_set_transient_for((GtkWindow *)prefs->editor, (GtkWindow *)gtk_widget_get_toplevel((GtkWidget *)prefs));
-			g_object_ref(prefs);
-			/* rather nasty hack to reload the accounts, it should just listen to the e-account-list */
-			g_object_weak_ref((GObject *)prefs->editor, (GWeakNotify) account_edit_finished, prefs);
-			gtk_widget_show(emae->editor);
-		}
-	} else {
-		gdk_window_raise (prefs->editor->window);
-	}
-}
+	priv = EM_ACCOUNT_PREFS_GET_PRIVATE (manager);
 
-static void
-account_delete_clicked (GtkButton *button, gpointer user_data)
-{
-	EMAccountPrefs *prefs = user_data;
-	GtkTreeSelection *selection;
-	EAccount *account = NULL;
-	EAccountList *accounts;
-	GtkTreeModel *model;
-	GtkTreeIter iter;
-	int ans;
-	gboolean has_proxies = FALSE;
-
-	accounts = e_get_account_list ();
-
-	selection = gtk_tree_view_get_selection (prefs->table);
-	if (gtk_tree_selection_get_selected (selection, &model, &iter))
-		gtk_tree_model_get (model, &iter, 3, &account, -1);
-
-	/* make sure we have a valid account selected and that we aren't editing anything... */
-	if (account == NULL || prefs->editor != NULL)
+	if (priv->druid != NULL) {
+		gtk_window_present (GTK_WINDOW (priv->druid));
 		return;
-
-	has_proxies = e_account_list_account_has_proxies (accounts, account);
-	ans = e_error_run(PREFS_WINDOW(prefs), has_proxies?"mail:ask-delete-account-with-proxies":"mail:ask-delete-account",NULL);
-
-	if (ans == GTK_RESPONSE_YES) {
-		int len;
-
-		/* remove it from the folder-tree in the shell */
-		if (account->enabled && account->source && account->source->url)
-			e_mail_shell_backend_remove_store_by_uri (
-				global_mail_shell_backend, account->source->url);
-
-		/* remove all the proxies account has created*/
-		if (has_proxies)
-			e_account_list_remove_account_proxies (accounts, account);
-
-		/* remove it from the config file */
-		e_account_list_remove (accounts, account);
-
-		mail_config_write ();
-
-		gtk_list_store_remove ((GtkListStore *) model, &iter);
-
-		len = e_list_length ((EList *) accounts);
-		if (len > 0) {
-			if ( !gtk_list_store_iter_is_valid ((GtkListStore *) model, &iter))
-				gtk_tree_model_get_iter_first (model, &iter);
-
-			gtk_tree_selection_select_iter (selection, &iter);
-		} else {
-			gtk_widget_set_sensitive (GTK_WIDGET (prefs->mail_edit), FALSE);
-			gtk_widget_set_sensitive (GTK_WIDGET (prefs->mail_delete), FALSE);
-			gtk_widget_set_sensitive (GTK_WIDGET (prefs->mail_default), FALSE);
-		}
 	}
+
+	parent = gtk_widget_get_toplevel (GTK_WIDGET (manager));
+	parent = GTK_WIDGET_TOPLEVEL (parent) ? parent : NULL;
+
+	/** @HookPoint-EMConfig: New Mail Account Druid
+	 * @Id: org.gnome.evolution.mail.config.accountDruid
+	 * @Type: E_CONFIG_DRUID
+	 * @Class: org.gnome.evolution.mail.config:1.0
+	 * @Target: EMConfigTargetAccount
+	 *
+	 * The new mail account druid.
+	 */
+	emae = em_account_editor_new (
+		NULL, EMAE_DRUID,
+		"org.gnome.evolution.mail.config.accountDruid");
+	priv->druid = emae->editor;
+
+	g_object_add_weak_pointer (G_OBJECT (priv->druid), &priv->druid);
+	gtk_window_set_transient_for (GTK_WINDOW (priv->druid), parent);
+	gtk_widget_show (priv->druid);
 }
 
 static void
-account_default_clicked (GtkButton *button, gpointer user_data)
+account_prefs_edit_account (EAccountManager *manager)
 {
-	EMAccountPrefs *prefs = user_data;
-	GtkTreeSelection *selection;
-	EAccount *account = NULL;
-	GtkTreeModel *model;
-	GtkTreeIter iter;
-
-	selection = gtk_tree_view_get_selection (prefs->table);
-	if (gtk_tree_selection_get_selected (selection, &model, &iter))
-		gtk_tree_model_get (model, &iter, 3, &account, -1);
-
-	if (account) {
-		e_set_default_account (account);
-
-		mail_config_write ();
+	EMAccountPrefsPrivate *priv;
+	EMAccountEditor *emae;
+	EAccountTreeView *tree_view;
+	EAccountList *account_list;
+	EAccount *account;
+	gpointer parent;
 
-		mail_accounts_load (prefs);
-	}
-}
+	priv = EM_ACCOUNT_PREFS_GET_PRIVATE (manager);
 
-static void
-account_able_changed(EAccount *account)
-{
-	/* FIXME: do this directly by listening to the mail accounts changed events in the relevant components */
-
-	if (account->source->url) {
-		if (account->enabled)
-			e_mail_shell_backend_load_store_by_uri (
-				global_mail_shell_backend,
-				account->source->url, account->name);
-		else
-			e_mail_shell_backend_remove_store_by_uri (
-				global_mail_shell_backend, account->source->url);
+	if (priv->editor != NULL) {
+		gtk_window_present (GTK_WINDOW (priv->editor));
+		return;
 	}
 
-	mail_config_write ();
+	account_list = e_account_manager_get_account_list (manager);
+	tree_view = e_account_manager_get_tree_view (manager);
+	account = e_account_tree_view_get_selected (tree_view);
+	g_return_if_fail (account != NULL);
+
+	parent = gtk_widget_get_toplevel (GTK_WIDGET (manager));
+	parent = GTK_WIDGET_TOPLEVEL (parent) ? parent : NULL;
+
+	/** @HookPoint-EMConfig: Mail Account Editor
+	 * @Id: org.gnome.evolution.mail.config.accountEditor
+	 * @Type: E_CONFIG_BOOK
+	 * @Class: org.gnome.evolution.mail.config:1.0
+	 * @Target: EMConfigTargetAccount
+	 *
+	 * The account editor window.
+	 */
+	emae = em_account_editor_new (
+		account, EMAE_NOTEBOOK,
+		"org.gnome.evolution.mail.config.accountEditor");
+	priv->editor = emae->editor;
+
+	g_object_add_weak_pointer (G_OBJECT (priv->editor), &priv->editor);
+	gtk_window_set_transient_for (GTK_WINDOW (priv->editor), parent);
+	gtk_widget_show (priv->editor);
 }
 
 static void
-account_able_toggled (GtkCellRendererToggle *renderer, char *arg1, gpointer user_data)
+account_prefs_delete_account (EAccountManager *manager)
 {
-	EMAccountPrefs *prefs = user_data;
-	GtkTreeSelection *selection;
+	EMAccountPrefsPrivate *priv;
+	EAccountTreeView *tree_view;
 	EAccountList *account_list;
-	EAccount *account = NULL;
-	GtkTreeModel *model;
-	GtkTreePath *path;
-	GtkTreeIter iter;
+	EAccount *account;
+	gboolean has_proxies;
+	gpointer parent;
+	gint response;
 
-	account_list = e_get_account_list ();
+	priv = EM_ACCOUNT_PREFS_GET_PRIVATE (manager);
 
-	path = gtk_tree_path_new_from_string (arg1);
-	model = gtk_tree_view_get_model (prefs->table);
-	selection = gtk_tree_view_get_selection (prefs->table);
+	account_list = e_account_manager_get_account_list (manager);
+	tree_view = e_account_manager_get_tree_view (manager);
+	account = e_account_tree_view_get_selected (tree_view);
+	g_return_if_fail (account != NULL);
 
-	if (gtk_tree_model_get_iter (model, &iter, path)) {
-		gtk_tree_model_get (model, &iter, 3, &account, -1);
+	/* Make sure we aren't editing anything... */
+	if (priv->editor != NULL)
+		return;
 
-		if (e_account_list_account_has_proxies (account_list, account)) {
-			int ans;
+	parent = gtk_widget_get_toplevel (GTK_WIDGET (manager));
+	parent = GTK_WIDGET_TOPLEVEL (parent) ? parent : NULL;
 
-			ans = e_error_run(PREFS_WINDOW(prefs), "mail:ask-delete-proxy-accounts",NULL);
+	has_proxies =
+		e_account_list_account_has_proxies (account_list, account);
 
-			if (ans == GTK_RESPONSE_NO) {
-				gtk_tree_path_free (path);
-				return;
-			}
+	response = e_error_run (
+		parent, has_proxies ?
+		"mail:ask-delete-account-with-proxies" :
+		"mail:ask-delete-account", NULL);
 
-			e_account_list_remove_account_proxies (account_list, account);
-			gtk_widget_set_sensitive (GTK_WIDGET (prefs->mail_edit), 1);
-		}
+	if (response != GTK_RESPONSE_YES) {
+		g_signal_stop_emission_by_name (manager, "delete-account");
+		return;
+	}
 
-		account->enabled = !account->enabled;
-		e_account_list_change(e_get_account_list (), account);
-		account_able_changed (account);
-		gtk_list_store_set ((GtkListStore *) model, &iter, 0, account->enabled, -1);
+	/* Remove the account from the folder tree. */
+	if (account->enabled && account->source && account->source->url)
+		e_mail_shell_backend_remove_store_by_uri (
+			global_mail_shell_backend, account->source->url);
 
-		/* let the rest of the application know it changed */
-	}
+	/* Remove all the proxies the account has created. */
+	if (has_proxies)
+		e_account_list_remove_account_proxies (account_list, account);
 
-	gtk_tree_path_free (path);
-}
+	/* Remove it from the config file. */
+	e_account_list_remove (account_list, account);
 
-static void
-account_double_click (GtkTreeView *treeview, GtkTreePath *path,
-		      GtkTreeViewColumn *column, EMAccountPrefs *prefs)
-{
-	account_edit_clicked (NULL, prefs);
+	mail_config_write ();
 }
 
 static void
-account_cursor_change (GtkTreeSelection *selection, EMAccountPrefs *prefs)
+account_prefs_dispose (GObject *object)
 {
-	EAccountList *account_list;
-	EAccount *account = NULL;
-	GtkTreeModel *model;
-	GtkTreeIter iter;
- 	const char *url = NULL;
-	int state;
-	EAccount *default_account;
-
-	account_list = e_get_account_list ();
-	default_account = e_get_default_account ();
-
-	state = gconf_client_key_is_writable(mail_config_get_gconf_client(), "/apps/evolution/mail/accounts", NULL);
-	if (state) {
-		state = gtk_tree_selection_get_selected (selection, &model, &iter);
-		if (state) {
-			gtk_tree_model_get (model, &iter, 3, &account, -1);
-			url = e_account_get_string (account, E_ACCOUNT_SOURCE_URL);
-		} else {
-			gtk_widget_grab_focus (GTK_WIDGET (prefs->mail_add));
-		}
-		gtk_widget_set_sensitive (GTK_WIDGET (prefs), TRUE);
-	} else {
-		gtk_widget_set_sensitive (GTK_WIDGET (prefs), FALSE);
-	}
+	EMAccountPrefsPrivate *priv;
 
-	if (url != NULL) {
-		gboolean has_proxies;
+	priv = EM_ACCOUNT_PREFS_GET_PRIVATE (object);
 
-		has_proxies = e_account_list_account_has_proxies (account_list, account);
-		gtk_widget_set_sensitive (GTK_WIDGET (prefs->mail_edit), !has_proxies);
+	if (priv->druid != NULL) {
+		g_object_remove_weak_pointer (
+			G_OBJECT (priv->druid), &priv->druid);
+		priv->druid = NULL;
 	}
 
-	gtk_widget_set_sensitive (GTK_WIDGET (prefs->mail_delete), state);
-
-	if(account == default_account)
-		gtk_widget_set_sensitive (GTK_WIDGET (prefs->mail_default), FALSE);
-	else
-		gtk_widget_set_sensitive (GTK_WIDGET (prefs->mail_default), state);
-}
-
-static void
-mail_accounts_load (EMAccountPrefs *prefs)
-{
-	EAccount *default_account;
-	EAccountList *accounts;
-	GtkListStore *model;
-	GtkTreeIter iter;
-	char *name, *val;
-	EIterator *node;
-	int row = 0;
-	GtkTreeSelection *selection;
-
-	model = (GtkListStore *) gtk_tree_view_get_model (prefs->table);
-	gtk_list_store_clear (model);
-
-	default_account = e_get_default_account ();
-
-	accounts = e_get_account_list ();
-	node = e_list_get_iterator ((EList *) accounts);
-	selection = gtk_tree_view_get_selection(prefs->table);
-
-	while (e_iterator_is_valid (node)) {
-		EAccount *account;
-		CamelURL *url;
-
-		account = (EAccount *) e_iterator_get (node);
-
-		if (!account->parent_uid) {
-			url = account->source && account->source->url ? camel_url_new (account->source->url, NULL) : NULL;
-
-			gtk_list_store_append (model, &iter);
-			if (account == default_account) {
-				/* translators: default account indicator */
-				name = val = g_strdup_printf ("%s %s", account->name, _("[Default]"));
-			} else {
-				val = account->name;
-				name = NULL;
-			}
-
-			gtk_list_store_set (model, &iter,
-					    0, account->enabled,
-					    1, val,
-					    2, url && url->protocol ? url->protocol : (char *) _("None"),
-					    3, account,
-					    -1);
-			g_free (name);
-
-			if (url)
-				camel_url_free (url);
-
-			/* select the first row by default */
-			if (row == 0 && !prefs->changed)
-				gtk_tree_selection_select_iter (selection, &iter);
-			row++;
-		}
-
-		e_iterator_next (node);
+	if (priv->editor != NULL) {
+		g_object_remove_weak_pointer (
+			G_OBJECT (priv->editor), &priv->editor);
+		priv->editor = NULL;
 	}
 
-	g_object_unref (node);
+	/* Chain up to parent's dispose() method. */
+	G_OBJECT_CLASS (parent_class)->dispose (object);
 }
 
-
-
-GtkWidget *em_account_prefs_treeview_new (char *widget_name, char *string1, char *string2,
-					  int int1, int int2);
-
-GtkWidget *
-em_account_prefs_treeview_new (char *widget_name, char *string1, char *string2, int int1, int int2)
+static void
+account_prefs_class_init (EMAccountPrefsClass *class)
 {
-	GtkWidget *table, *scrolled;
-	GtkTreeSelection *selection;
-	GtkCellRenderer *renderer;
-	GtkListStore *model;
-
-	scrolled = gtk_scrolled_window_new (NULL, NULL);
-	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled),
-					GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-	gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled), GTK_SHADOW_IN);
-
-	renderer = gtk_cell_renderer_toggle_new ();
-	g_object_set ((GObject *) renderer, "activatable", TRUE, NULL);
+	GObjectClass *object_class;
+	EAccountManagerClass *account_manager_class;
 
-	model = gtk_list_store_new (4, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER);
-	table = gtk_tree_view_new_with_model ((GtkTreeModel *) model);
-	g_object_unref (model);
-	gtk_tree_view_insert_column_with_attributes ((GtkTreeView *) table, -1, _("Enabled"),
-						     renderer, "active", 0, NULL);
+	parent_class = g_type_class_peek_parent (class);
+	g_type_class_add_private (class, sizeof (EMAccountPrefsPrivate));
 
-	g_object_set_data ((GObject *) scrolled, "renderer", renderer);
+	object_class = G_OBJECT_CLASS (class);
+	object_class->dispose = account_prefs_dispose;
 
-	renderer = gtk_cell_renderer_text_new ();
-	gtk_tree_view_insert_column_with_attributes ((GtkTreeView *) table, -1, _("Account name"),
-						     renderer, "text", 1, NULL);
-	gtk_tree_view_insert_column_with_attributes ((GtkTreeView *)table, -1, _("Protocol"),
-						     renderer, "text", 2, NULL);
-	selection = gtk_tree_view_get_selection ((GtkTreeView *) table);
-	gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
-	gtk_tree_view_set_headers_visible ((GtkTreeView *) table, TRUE);
-	atk_object_set_name (gtk_widget_get_accessible (table), _("Mail Accounts"));
-
-
-	/* FIXME: column auto-resize? */
-	/* Is this needed?
-	   gtk_tree_view_column_set_alignment (gtk_tree_view_get_column (prefs->table, 0), 1.0);*/
-
-	gtk_container_add (GTK_CONTAINER (scrolled), table);
-
-	g_object_set_data ((GObject *) scrolled, "table", table);
-
-	gtk_widget_show (scrolled);
-	gtk_widget_show (table);
-
-	return scrolled;
+	account_manager_class = E_ACCOUNT_MANAGER_CLASS (class);
+	account_manager_class->add_account = account_prefs_add_account;
+	account_manager_class->edit_account = account_prefs_edit_account;
+	account_manager_class->delete_account = account_prefs_delete_account;
 }
 
 static void
-em_account_prefs_construct (EMAccountPrefs *prefs)
+account_prefs_init (EMAccountPrefs *prefs)
 {
-	GtkWidget *toplevel, *widget;
-	GtkCellRenderer *renderer;
-	GladeXML *gui;
-	char *gladefile;
-
-	gladefile = g_build_filename (EVOLUTION_GLADEDIR,
-				      "mail-config.glade",
-				      NULL);
-	gui = glade_xml_new (gladefile, "accounts_tab", NULL);
-	g_free (gladefile);
-
-	prefs->gui = gui;
+	EAccountManager *manager;
+	EAccountTreeView *tree_view;
 
-	/* get our toplevel widget */
-	toplevel = glade_xml_get_widget (gui, "toplevel");
+	prefs->priv = EM_ACCOUNT_PREFS_GET_PRIVATE (prefs);
 
-	/* reparent */
-	g_object_ref (toplevel);
-	gtk_container_remove (GTK_CONTAINER (toplevel->parent), toplevel);
-	gtk_container_add (GTK_CONTAINER (prefs), toplevel);
-	g_object_unref (toplevel);
+	manager = E_ACCOUNT_MANAGER (prefs);
+	tree_view = e_account_manager_get_tree_view (manager);
 
-	widget = glade_xml_get_widget (gui, "etableMailAccounts");
+	g_signal_connect (
+		tree_view, "enable-account",
+		G_CALLBACK (account_prefs_enable_account_cb), NULL);
 
-	prefs->table = (GtkTreeView *) g_object_get_data ((GObject *) widget, "table");
-
-	renderer = g_object_get_data ((GObject *) widget, "renderer");
-	g_signal_connect (renderer, "toggled", G_CALLBACK (account_able_toggled), prefs);
-
-	prefs->changed = FALSE;
-	mail_accounts_load (prefs);
-	prefs->changed = TRUE;
-
-	prefs->mail_add = GTK_BUTTON (glade_xml_get_widget (gui, "cmdAccountAdd"));
-	g_signal_connect (prefs->mail_add, "clicked", G_CALLBACK (account_add_clicked), prefs);
-
-	prefs->mail_edit = GTK_BUTTON (glade_xml_get_widget (gui, "cmdAccountEdit"));
-	g_signal_connect (prefs->mail_edit, "clicked", G_CALLBACK (account_edit_clicked), prefs);
+	g_signal_connect (
+		tree_view, "disable-account",
+		G_CALLBACK (account_prefs_disable_account_cb), NULL);
+}
 
-	prefs->mail_delete = GTK_BUTTON (glade_xml_get_widget (gui, "cmdAccountDelete"));
-	g_signal_connect (prefs->mail_delete, "clicked", G_CALLBACK (account_delete_clicked), prefs);
+GType
+em_account_prefs_get_type (void)
+{
+	static GType type = 0;
 
-	prefs->mail_default = GTK_BUTTON (glade_xml_get_widget (gui, "cmdAccountDefault"));
-	g_signal_connect (prefs->mail_default, "clicked", G_CALLBACK (account_default_clicked), prefs);
+	if (G_UNLIKELY (type == 0)) {
+		static const GTypeInfo type_info = {
+			sizeof (EMAccountPrefsClass),
+			(GBaseInitFunc) NULL,
+			(GBaseFinalizeFunc) NULL,
+			(GClassInitFunc) account_prefs_class_init,
+			(GClassFinalizeFunc) NULL,
+			NULL,  /* class_data */
+			sizeof (EMAccountPrefs),
+			0,     /* n_preallocs */
+			(GInstanceInitFunc) account_prefs_init,
+			NULL   /* value_table */
+		};
 
-	g_signal_connect (gtk_tree_view_get_selection (prefs->table),
-			  "changed", G_CALLBACK (account_cursor_change), prefs);
-	g_signal_connect (prefs->table, "row-activated", G_CALLBACK (account_double_click), prefs);
+		type = g_type_register_static (
+			E_TYPE_ACCOUNT_MANAGER, "EMAccountPrefs",
+			&type_info, 0);
+	}
 
- 	account_cursor_change(gtk_tree_view_get_selection(prefs->table), prefs);
+	return type;
 }
 
 GtkWidget *
-em_account_prefs_new (void)
+em_account_prefs_new (EAccountList *account_list)
 {
-	EMAccountPrefs *new;
-
-	new = (EMAccountPrefs *) g_object_new (em_account_prefs_get_type (), NULL);
-	em_account_prefs_construct (new);
+	g_return_val_if_fail (E_IS_ACCOUNT_LIST (account_list), NULL);
 
-	return (GtkWidget *) new;
+	return g_object_new (
+		EM_TYPE_ACCOUNT_PREFS, "account-list", account_list, NULL);
 }
diff --git a/mail/em-account-prefs.h b/mail/em-account-prefs.h
index c3932ae..4c02d71 100644
--- a/mail/em-account-prefs.h
+++ b/mail/em-account-prefs.h
@@ -1,4 +1,5 @@
 /*
+ * em-account-prefs.h
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -14,9 +15,6 @@
  * License along with the program; if not, see <http://www.gnu.org/licenses/>  
  *
  *
- * Authors:
- *		Jeffrey Stedfast <fejj ximian com>
- *
  * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
  *
  */
@@ -25,8 +23,9 @@
 #define EM_ACCOUNT_PREFS_H
 
 #include <gtk/gtk.h>
-#include <glade/glade.h>
 #include <table/e-table.h>
+#include <libedataserver/e-account-list.h>
+#include <misc/e-account-manager.h>
 
 /* Standard GObject macros */
 #define EM_TYPE_ACCOUNT_PREFS \
@@ -51,32 +50,19 @@ G_BEGIN_DECLS
 
 typedef struct _EMAccountPrefs EMAccountPrefs;
 typedef struct _EMAccountPrefsClass EMAccountPrefsClass;
+typedef struct _EMAccountPrefsPrivate EMAccountPrefsPrivate;
 
 struct _EMAccountPrefs {
-	GtkVBox parent_object;
-
-	GladeXML *gui;
-
-	GtkWidget *druid;
-	GtkWidget *editor;
-
-	GtkTreeView *table;
-
-	GtkButton *mail_add;
-	GtkButton *mail_edit;
-	GtkButton *mail_delete;
-	GtkButton *mail_default;
-
-	guint destroyed : 1;
-	guint changed : 1;
+	EAccountManager parent;
+	EMAccountPrefsPrivate *priv;
 };
 
 struct _EMAccountPrefsClass {
-	GtkVBoxClass parent_class;
+	EAccountManagerClass parent_class;
 };
 
 GType		em_account_prefs_get_type	(void);
-GtkWidget *	em_account_prefs_new		(void);
+GtkWidget *	em_account_prefs_new		(EAccountList *account_list);
 
 G_END_DECLS
 
diff --git a/mail/mail-config.glade b/mail/mail-config.glade
index 42c691f..0124d08 100644
--- a/mail/mail-config.glade
+++ b/mail/mail-config.glade
@@ -1,8 +1,9 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--*- mode: xml -*-->
+<?xml version="1.0"?>
 <glade-interface>
   <requires lib="gnome"/>
+  <!-- interface-requires gnome 2301.3464 -->
+  <!-- interface-requires gtk+ 2.16 -->
+  <!-- interface-naming-policy toplevel-contextual -->
   <widget class="GtkWindow" id="account_druid">
     <property name="title" translatable="yes">Evolution Account Assistant</property>
     <child>
@@ -12,7 +13,7 @@
         <child>
           <widget class="GnomeDruidPageEdge" id="start_page">
             <property name="visible">True</property>
-            <property name="position">GNOME_EDGE_START</property>
+            <property name="position">Edge Start</property>
             <property name="title" translatable="yes">Mail Configuration</property>
             <property name="text" translatable="yes">Welcome to the Evolution Mail Configuration Assistant.
 
@@ -37,6 +38,7 @@ Click "Forward" to begin. </property>
                   </widget>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -64,6 +66,7 @@ Click "Forward" to begin. </property>
                   </widget>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -91,6 +94,7 @@ Click "Forward" to begin. </property>
                   </widget>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -119,6 +123,7 @@ This name will be used for display purposes only.</property>
                   </widget>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -131,7 +136,7 @@ This name will be used for display purposes only.</property>
         <child>
           <widget class="GnomeDruidPageEdge" id="finish_page">
             <property name="visible">True</property>
-            <property name="position">GNOME_EDGE_FINISH</property>
+            <property name="position">Edge Finish</property>
             <property name="title" translatable="yes">Done</property>
             <property name="text" translatable="yes">Congratulations, your mail configuration is complete.
 
@@ -170,6 +175,7 @@ Click "Apply" to save your settings.</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -183,6 +189,7 @@ Click "Apply" to save your settings.</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -204,6 +211,7 @@ For example: "Work" or "Personal"</property>
                               </widget>
                               <packing>
                                 <property name="expand">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
@@ -215,12 +223,13 @@ For example: "Work" or "Personal"</property>
                                     <property name="visible">True</property>
                                     <property name="label" translatable="yes">_Name:</property>
                                     <property name="use_underline">True</property>
-                                    <property name="justify">GTK_JUSTIFY_RIGHT</property>
+                                    <property name="justify">right</property>
                                     <property name="mnemonic_widget">management_name</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -228,7 +237,6 @@ For example: "Work" or "Personal"</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="has_focus">True</property>
-                                    <property name="invisible_char">*</property>
                                   </widget>
                                   <packing>
                                     <property name="position">1</property>
@@ -256,6 +264,7 @@ For example: "Work" or "Personal"</property>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
@@ -272,6 +281,7 @@ For example: "Work" or "Personal"</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -285,6 +295,7 @@ For example: "Work" or "Personal"</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -303,10 +314,9 @@ For example: "Work" or "Personal"</property>
                               <widget class="GtkEntry" id="identity_address">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="invisible_char">*</property>
                                 <accessibility>
-                                  <atkrelation target="label464" type="labelled-by"/>
-                                  <atkrelation target="identity_address_label" type="labelled-by"/>
+                                  <atkrelation type="labelled-by" target="identity_address_label"/>
+                                  <atkrelation type="labelled-by" target="label464"/>
                                 </accessibility>
                               </widget>
                               <packing>
@@ -349,10 +359,9 @@ For example: "Work" or "Personal"</property>
                               <widget class="GtkEntry" id="identity_full_name">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="invisible_char">*</property>
                                 <accessibility>
-                                  <atkrelation target="identity_full_name_label" type="labelled-by"/>
-                                  <atkrelation target="label464" type="labelled-by"/>
+                                  <atkrelation type="labelled-by" target="label464"/>
+                                  <atkrelation type="labelled-by" target="identity_full_name_label"/>
                                 </accessibility>
                               </widget>
                               <packing>
@@ -394,6 +403,7 @@ For example: "Work" or "Personal"</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -407,6 +417,7 @@ For example: "Work" or "Personal"</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -443,21 +454,22 @@ For example: "Work" or "Personal"</property>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
                               <widget class="GtkButton" id="sigAddNew">
+                                <property name="label" translatable="yes">Add Ne_w Signature...</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="label" translatable="yes">Add Ne_w Signature...</property>
+                                <property name="receives_default">False</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <signal name="clicked" handler="sigAddNewClicked"/>
                               </widget>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
-                                <property name="pack_type">GTK_PACK_END</property>
+                                <property name="pack_type">end</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
@@ -475,10 +487,9 @@ For example: "Work" or "Personal"</property>
                           <widget class="GtkEntry" id="identity_organization">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="invisible_char">*</property>
                             <accessibility>
-                              <atkrelation target="label466" type="labelled-by"/>
-                              <atkrelation target="identity_organization_label" type="labelled-by"/>
+                              <atkrelation type="labelled-by" target="identity_organization_label"/>
+                              <atkrelation type="labelled-by" target="label466"/>
                             </accessibility>
                           </widget>
                           <packing>
@@ -508,10 +519,9 @@ For example: "Work" or "Personal"</property>
                           <widget class="GtkEntry" id="identity_reply_to">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="invisible_char">*</property>
                             <accessibility>
-                              <atkrelation target="reply_to_label" type="labelled-by"/>
-                              <atkrelation target="label466" type="labelled-by"/>
+                              <atkrelation type="labelled-by" target="label466"/>
+                              <atkrelation type="labelled-by" target="reply_to_label"/>
                             </accessibility>
                           </widget>
                           <packing>
@@ -528,7 +538,7 @@ For example: "Work" or "Personal"</property>
                             <property name="xalign">0</property>
                             <property name="label" translatable="yes">Re_ply-To:</property>
                             <property name="use_underline">True</property>
-                            <property name="justify">GTK_JUSTIFY_CENTER</property>
+                            <property name="justify">center</property>
                             <property name="mnemonic_widget">identity_reply_to</property>
                           </widget>
                           <packing>
@@ -540,11 +550,11 @@ For example: "Work" or "Personal"</property>
                         </child>
                         <child>
                           <widget class="GtkCheckButton" id="management_default">
+                            <property name="label" translatable="yes">_Make this my default account</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="label" translatable="yes">_Make this my default account</property>
+                            <property name="receives_default">False</property>
                             <property name="use_underline">True</property>
-                            <property name="response_id">0</property>
                             <property name="draw_indicator">True</property>
                           </widget>
                           <packing>
@@ -577,11 +587,11 @@ For example: "Work" or "Personal"</property>
             <property name="visible">True</property>
             <property name="label" translatable="yes">Identity</property>
             <property name="use_underline">True</property>
-            <property name="justify">GTK_JUSTIFY_CENTER</property>
+            <property name="justify">center</property>
           </widget>
           <packing>
-            <property name="type">tab</property>
             <property name="tab_fill">False</property>
+            <property name="type">tab</property>
           </packing>
         </child>
         <child>
@@ -606,7 +616,7 @@ For example: "Work" or "Personal"</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">Server _Type: </property>
                         <property name="use_underline">True</property>
-                        <property name="justify">GTK_JUSTIFY_RIGHT</property>
+                        <property name="justify">right</property>
                         <property name="mnemonic_widget">source_type_dropdown</property>
                       </widget>
                       <packing>
@@ -620,7 +630,7 @@ For example: "Work" or "Personal"</property>
                         <property name="xalign">0</property>
                         <property name="yalign">0</property>
                         <property name="label" translatable="yes">Description:</property>
-                        <property name="justify">GTK_JUSTIFY_CENTER</property>
+                        <property name="justify">center</property>
                       </widget>
                       <packing>
                         <property name="top_attach">1</property>
@@ -662,6 +672,7 @@ For example: "Work" or "Personal"</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -688,6 +699,7 @@ For example: "Work" or "Personal"</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -701,6 +713,7 @@ For example: "Work" or "Personal"</property>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
@@ -747,7 +760,6 @@ For example: "Work" or "Personal"</property>
                                   <widget class="GtkEntry" id="source_host">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="invisible_char">*</property>
                                   </widget>
                                   <packing>
                                     <property name="left_attach">1</property>
@@ -759,7 +771,6 @@ For example: "Work" or "Personal"</property>
                                   <widget class="GtkEntry" id="source_user">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="invisible_char">*</property>
                                   </widget>
                                   <packing>
                                     <property name="left_attach">1</property>
@@ -830,6 +841,7 @@ For example: "Work" or "Personal"</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -843,6 +855,7 @@ For example: "Work" or "Personal"</property>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
@@ -858,12 +871,13 @@ For example: "Work" or "Personal"</property>
                                     <property name="visible">True</property>
                                     <property name="label" translatable="yes">_Use Secure Connection:</property>
                                     <property name="use_underline">True</property>
-                                    <property name="justify">GTK_JUSTIFY_CENTER</property>
+                                    <property name="justify">center</property>
                                     <property name="mnemonic_widget">source_use_ssl</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -881,6 +895,7 @@ For example: "Work" or "Personal"</property>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
@@ -895,6 +910,7 @@ For example: "Work" or "Personal"</property>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -903,7 +919,7 @@ For example: "Work" or "Personal"</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">&lt;b&gt;SSL is not supported in this build of Evolution&lt;/b&gt;</property>
                                     <property name="use_markup">True</property>
-                                    <property name="justify">GTK_JUSTIFY_CENTER</property>
+                                    <property name="justify">center</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
@@ -949,6 +965,7 @@ For example: "Work" or "Personal"</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -962,6 +979,7 @@ For example: "Work" or "Personal"</property>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
@@ -980,15 +998,16 @@ For example: "Work" or "Personal"</property>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
                                   <widget class="GtkButton" id="source_check_supported">
+                                    <property name="label" translatable="yes"> Ch_eck for Supported Types </property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="label" translatable="yes"> Ch_eck for Supported Types </property>
+                                    <property name="receives_default">False</property>
                                     <property name="use_underline">True</property>
-                                    <property name="response_id">0</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
@@ -997,15 +1016,18 @@ For example: "Work" or "Personal"</property>
                                   </packing>
                                 </child>
                               </widget>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
                             </child>
                             <child>
                               <widget class="GtkCheckButton" id="source_remember_password">
+                                <property name="label" translatable="yes">Re_member password</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
                                 <property name="tooltip" translatable="yes">Note: you will not be prompted for a password until you connect for the first time</property>
-                                <property name="label" translatable="yes">Re_member password</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
                               </widget>
                               <packing>
@@ -1032,6 +1054,9 @@ For example: "Work" or "Personal"</property>
                   </packing>
                 </child>
               </widget>
+              <packing>
+                <property name="position">0</property>
+              </packing>
             </child>
           </widget>
           <packing>
@@ -1043,12 +1068,12 @@ For example: "Work" or "Personal"</property>
             <property name="visible">True</property>
             <property name="label" translatable="yes">Receiving Email</property>
             <property name="use_underline">True</property>
-            <property name="justify">GTK_JUSTIFY_CENTER</property>
+            <property name="justify">center</property>
           </widget>
           <packing>
-            <property name="type">tab</property>
             <property name="position">1</property>
             <property name="tab_fill">False</property>
+            <property name="type">tab</property>
           </packing>
         </child>
         <child>
@@ -1074,7 +1099,7 @@ For example: "Work" or "Personal"</property>
                         <property name="yalign">0</property>
                         <property name="label" translatable="yes">Server _Type: </property>
                         <property name="use_underline">True</property>
-                        <property name="justify">GTK_JUSTIFY_RIGHT</property>
+                        <property name="justify">right</property>
                         <property name="mnemonic_widget">transport_type_dropdown</property>
                       </widget>
                       <packing>
@@ -1088,7 +1113,7 @@ For example: "Work" or "Personal"</property>
                         <property name="xalign">0</property>
                         <property name="yalign">0</property>
                         <property name="label" translatable="yes">Description:</property>
-                        <property name="justify">GTK_JUSTIFY_RIGHT</property>
+                        <property name="justify">right</property>
                       </widget>
                       <packing>
                         <property name="top_attach">1</property>
@@ -1126,6 +1151,9 @@ For example: "Work" or "Personal"</property>
                       </packing>
                     </child>
                   </widget>
+                  <packing>
+                    <property name="position">0</property>
+                  </packing>
                 </child>
                 <child>
                   <widget class="GtkHSeparator" id="hseparator3">
@@ -1154,6 +1182,7 @@ For example: "Work" or "Personal"</property>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
@@ -1167,6 +1196,7 @@ For example: "Work" or "Personal"</property>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
@@ -1190,7 +1220,7 @@ For example: "Work" or "Personal"</property>
                                             <property name="xalign">1</property>
                                             <property name="label" translatable="yes">_Server:</property>
                                             <property name="use_underline">True</property>
-                                            <property name="justify">GTK_JUSTIFY_RIGHT</property>
+                                            <property name="justify">right</property>
                                             <property name="mnemonic_widget">transport_host</property>
                                           </widget>
                                           <packing>
@@ -1202,7 +1232,6 @@ For example: "Work" or "Personal"</property>
                                           <widget class="GtkEntry" id="transport_host">
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
-                                            <property name="invisible_char">*</property>
                                           </widget>
                                           <packing>
                                             <property name="left_attach">1</property>
@@ -1213,15 +1242,16 @@ For example: "Work" or "Personal"</property>
                                       </widget>
                                       <packing>
                                         <property name="expand">False</property>
+                                        <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
                                       <widget class="GtkCheckButton" id="transport_needs_auth">
+                                        <property name="label" translatable="yes">Ser_ver requires authentication</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="label" translatable="yes">Ser_ver requires authentication</property>
+                                        <property name="receives_default">False</property>
                                         <property name="use_underline">True</property>
-                                        <property name="response_id">0</property>
                                         <property name="draw_indicator">True</property>
                                       </widget>
                                       <packing>
@@ -1243,6 +1273,9 @@ For example: "Work" or "Personal"</property>
                           </packing>
                         </child>
                       </widget>
+                      <packing>
+                        <property name="position">0</property>
+                      </packing>
                     </child>
                     <child>
                       <widget class="GtkVBox" id="transport_security_frame">
@@ -1258,6 +1291,7 @@ For example: "Work" or "Personal"</property>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
@@ -1271,6 +1305,7 @@ For example: "Work" or "Personal"</property>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
@@ -1286,12 +1321,13 @@ For example: "Work" or "Personal"</property>
                                         <property name="visible">True</property>
                                         <property name="label" translatable="yes">_Use Secure Connection:</property>
                                         <property name="use_underline">True</property>
-                                        <property name="justify">GTK_JUSTIFY_CENTER</property>
+                                        <property name="justify">center</property>
                                         <property name="mnemonic_widget">transport_use_ssl</property>
                                       </widget>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
+                                        <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
@@ -1306,6 +1342,9 @@ For example: "Work" or "Personal"</property>
                                       </packing>
                                     </child>
                                   </widget>
+                                  <packing>
+                                    <property name="position">0</property>
+                                  </packing>
                                 </child>
                                 <child>
                                   <widget class="GtkHBox" id="transport_ssl_disabled">
@@ -1319,6 +1358,7 @@ For example: "Work" or "Personal"</property>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
+                                        <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
@@ -1327,7 +1367,7 @@ For example: "Work" or "Personal"</property>
                                         <property name="xalign">0</property>
                                         <property name="label" translatable="yes">&lt;b&gt;SSL is not supported in this build of Evolution&lt;/b&gt;</property>
                                         <property name="use_markup">True</property>
-                                        <property name="justify">GTK_JUSTIFY_CENTER</property>
+                                        <property name="justify">center</property>
                                       </widget>
                                       <packing>
                                         <property name="expand">False</property>
@@ -1369,6 +1409,7 @@ For example: "Work" or "Personal"</property>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
@@ -1382,6 +1423,7 @@ For example: "Work" or "Personal"</property>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
@@ -1406,7 +1448,7 @@ For example: "Work" or "Personal"</property>
                                             <property name="xalign">0</property>
                                             <property name="label" translatable="yes">T_ype: </property>
                                             <property name="use_underline">True</property>
-                                            <property name="justify">GTK_JUSTIFY_CENTER</property>
+                                            <property name="justify">center</property>
                                             <property name="mnemonic_widget">transport_auth_dropdown</property>
                                           </widget>
                                           <packing>
@@ -1420,7 +1462,7 @@ For example: "Work" or "Personal"</property>
                                             <property name="xalign">0</property>
                                             <property name="label" translatable="yes">User_name:</property>
                                             <property name="use_underline">True</property>
-                                            <property name="justify">GTK_JUSTIFY_RIGHT</property>
+                                            <property name="justify">right</property>
                                             <property name="mnemonic_widget">transport_user</property>
                                           </widget>
                                           <packing>
@@ -1434,7 +1476,6 @@ For example: "Work" or "Personal"</property>
                                           <widget class="GtkEntry" id="transport_user">
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
-                                            <property name="invisible_char">*</property>
                                           </widget>
                                           <packing>
                                             <property name="left_attach">1</property>
@@ -1456,15 +1497,16 @@ For example: "Work" or "Personal"</property>
                                               <packing>
                                                 <property name="expand">False</property>
                                                 <property name="fill">False</property>
+                                                <property name="position">0</property>
                                               </packing>
                                             </child>
                                             <child>
                                               <widget class="GtkButton" id="transport_check_supported">
+                                                <property name="label" translatable="yes">Ch_eck for Supported Types </property>
                                                 <property name="visible">True</property>
                                                 <property name="can_focus">True</property>
-                                                <property name="label" translatable="yes">Ch_eck for Supported Types </property>
+                                                <property name="receives_default">False</property>
                                                 <property name="use_underline">True</property>
-                                                <property name="response_id">0</property>
                                               </widget>
                                               <packing>
                                                 <property name="expand">False</property>
@@ -1490,15 +1532,16 @@ For example: "Work" or "Personal"</property>
                                       </widget>
                                       <packing>
                                         <property name="expand">False</property>
+                                        <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
                                       <widget class="GtkCheckButton" id="transport_remember_password">
+                                        <property name="label" translatable="yes">Remember _password</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="label" translatable="yes">Remember _password</property>
+                                        <property name="receives_default">False</property>
                                         <property name="use_underline">True</property>
-                                        <property name="response_id">0</property>
                                         <property name="draw_indicator">True</property>
                                       </widget>
                                       <packing>
@@ -1533,6 +1576,7 @@ For example: "Work" or "Personal"</property>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
           </widget>
@@ -1545,12 +1589,12 @@ For example: "Work" or "Personal"</property>
             <property name="visible">True</property>
             <property name="label" translatable="yes">Sending Mail</property>
             <property name="use_underline">True</property>
-            <property name="justify">GTK_JUSTIFY_CENTER</property>
+            <property name="justify">center</property>
           </widget>
           <packing>
-            <property name="type">tab</property>
             <property name="position">2</property>
             <property name="tab_fill">False</property>
+            <property name="type">tab</property>
           </packing>
         </child>
         <child>
@@ -1572,6 +1616,7 @@ For example: "Work" or "Personal"</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -1585,6 +1630,7 @@ For example: "Work" or "Personal"</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -1604,9 +1650,6 @@ For example: "Work" or "Personal"</property>
                                 <property name="column_spacing">12</property>
                                 <property name="row_spacing">6</property>
                                 <child>
-                                  <placeholder/>
-                                </child>
-                                <child>
                                   <widget class="GtkLabel" id="drafts_label">
                                     <property name="visible">True</property>
                                     <property name="xalign">0</property>
@@ -1689,15 +1732,16 @@ For example: "Work" or "Personal"</property>
                                     <property name="visible">True</property>
                                     <child>
                                       <widget class="GtkButton" id="default_folders_button">
+                                        <property name="label">gtk-revert-to-saved</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="label">gtk-revert-to-saved</property>
+                                        <property name="receives_default">False</property>
                                         <property name="use_stock">True</property>
-                                        <property name="response_id">0</property>
                                       </widget>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
+                                        <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
@@ -1716,7 +1760,13 @@ For example: "Work" or "Personal"</property>
                                     <property name="bottom_attach">3</property>
                                   </packing>
                                 </child>
+                                <child>
+                                  <placeholder/>
+                                </child>
                               </widget>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
                             </child>
                           </widget>
                         </child>
@@ -1734,6 +1784,7 @@ For example: "Work" or "Personal"</property>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
@@ -1750,6 +1801,7 @@ For example: "Work" or "Personal"</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -1763,6 +1815,7 @@ For example: "Work" or "Personal"</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -1782,16 +1835,17 @@ For example: "Work" or "Personal"</property>
                                 <property name="spacing">6</property>
                                 <child>
                                   <widget class="GtkCheckButton" id="always_cc">
+                                    <property name="label" translatable="yes">Alway_s carbon-copy (cc) to:</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="label" translatable="yes">Alway_s carbon-copy (cc) to:</property>
+                                    <property name="receives_default">False</property>
                                     <property name="use_underline">True</property>
-                                    <property name="response_id">0</property>
                                     <property name="draw_indicator">True</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -1805,6 +1859,7 @@ For example: "Work" or "Personal"</property>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
+                                        <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
@@ -1820,8 +1875,10 @@ For example: "Work" or "Personal"</property>
                                               <widget class="GtkEntry" id="cc_addrs">
                                                 <property name="visible">True</property>
                                                 <property name="can_focus">True</property>
-                                                <property name="invisible_char">*</property>
                                               </widget>
+                                              <packing>
+                                                <property name="position">0</property>
+                                              </packing>
                                             </child>
                                           </widget>
                                         </child>
@@ -1843,16 +1900,17 @@ For example: "Work" or "Personal"</property>
                                 <property name="spacing">6</property>
                                 <child>
                                   <widget class="GtkCheckButton" id="always_bcc">
+                                    <property name="label" translatable="yes">Always _blind carbon-copy (bcc) to:</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="label" translatable="yes">Always _blind carbon-copy (bcc) to:</property>
+                                    <property name="receives_default">False</property>
                                     <property name="use_underline">True</property>
-                                    <property name="response_id">0</property>
                                     <property name="draw_indicator">True</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -1866,6 +1924,7 @@ For example: "Work" or "Personal"</property>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
+                                        <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
@@ -1881,8 +1940,10 @@ For example: "Work" or "Personal"</property>
                                               <widget class="GtkEntry" id="bcc_addrs">
                                                 <property name="visible">True</property>
                                                 <property name="can_focus">True</property>
-                                                <property name="invisible_char">*</property>
                                               </widget>
+                                              <packing>
+                                                <property name="position">0</property>
+                                              </packing>
                                             </child>
                                           </widget>
                                         </child>
@@ -1935,6 +1996,7 @@ For example: "Work" or "Personal"</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -1948,6 +2010,7 @@ For example: "Work" or "Personal"</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -1964,6 +2027,7 @@ For example: "Work" or "Personal"</property>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
@@ -2002,12 +2066,12 @@ For example: "Work" or "Personal"</property>
             <property name="visible">True</property>
             <property name="label" translatable="yes">Defaults</property>
             <property name="use_underline">True</property>
-            <property name="justify">GTK_JUSTIFY_CENTER</property>
+            <property name="justify">center</property>
           </widget>
           <packing>
-            <property name="type">tab</property>
             <property name="position">3</property>
             <property name="tab_fill">False</property>
+            <property name="type">tab</property>
           </packing>
         </child>
         <child>
@@ -2029,6 +2093,7 @@ For example: "Work" or "Personal"</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -2042,6 +2107,7 @@ For example: "Work" or "Personal"</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -2068,13 +2134,13 @@ For example: "Work" or "Personal"</property>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
                                   <widget class="GtkEntry" id="pgp_key">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="invisible_char">*</property>
                                   </widget>
                                   <packing>
                                     <property name="position">1</property>
@@ -2084,15 +2150,16 @@ For example: "Work" or "Personal"</property>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
                               <widget class="GtkCheckButton" id="pgp_always_sign">
+                                <property name="label" translatable="yes">Al_ways sign outgoing messages when using this account</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="label" translatable="yes">Al_ways sign outgoing messages when using this account</property>
+                                <property name="receives_default">False</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
                               </widget>
                               <packing>
@@ -2103,11 +2170,11 @@ For example: "Work" or "Personal"</property>
                             </child>
                             <child>
                               <widget class="GtkCheckButton" id="pgp_no_imip_sign">
+                                <property name="label" translatable="yes">_Do not sign meeting requests (for Outlook compatibility)</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="label" translatable="yes">_Do not sign meeting requests (for Outlook compatibility)</property>
+                                <property name="receives_default">False</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
                               </widget>
                               <packing>
@@ -2118,11 +2185,11 @@ For example: "Work" or "Personal"</property>
                             </child>
                             <child>
                               <widget class="GtkCheckButton" id="pgp_encrypt_to_self">
+                                <property name="label" translatable="yes">Always encrypt to _myself when sending encrypted messages</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="label" translatable="yes">Always encrypt to _myself when sending encrypted messages</property>
+                                <property name="receives_default">False</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="active">True</property>
                                 <property name="draw_indicator">True</property>
                               </widget>
@@ -2134,11 +2201,11 @@ For example: "Work" or "Personal"</property>
                             </child>
                             <child>
                               <widget class="GtkCheckButton" id="pgp_always_trust">
+                                <property name="label" translatable="yes">Always _trust keys in my keyring when encrypting</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="label" translatable="yes">Always _trust keys in my keyring when encrypting</property>
+                                <property name="receives_default">False</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
                               </widget>
                               <packing>
@@ -2163,6 +2230,7 @@ For example: "Work" or "Personal"</property>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
@@ -2179,6 +2247,7 @@ For example: "Work" or "Personal"</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -2192,6 +2261,7 @@ For example: "Work" or "Personal"</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -2205,7 +2275,6 @@ For example: "Work" or "Personal"</property>
                           <widget class="GtkEntry" id="smime_sign_key">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="invisible_char">*</property>
                           </widget>
                           <packing>
                             <property name="left_attach">1</property>
@@ -2219,7 +2288,6 @@ For example: "Work" or "Personal"</property>
                           <widget class="GtkEntry" id="smime_encrypt_key">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="invisible_char">*</property>
                           </widget>
                           <packing>
                             <property name="left_attach">1</property>
@@ -2231,11 +2299,11 @@ For example: "Work" or "Personal"</property>
                         </child>
                         <child>
                           <widget class="GtkCheckButton" id="smime_encrypt_to_self">
+                            <property name="label" translatable="yes">Also encrypt to sel_f when sending encrypted messages</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="label" translatable="yes">Also encrypt to sel_f when sending encrypted messages</property>
+                            <property name="receives_default">False</property>
                             <property name="use_underline">True</property>
-                            <property name="response_id">0</property>
                             <property name="draw_indicator">True</property>
                           </widget>
                           <packing>
@@ -2248,11 +2316,11 @@ For example: "Work" or "Personal"</property>
                         </child>
                         <child>
                           <widget class="GtkCheckButton" id="smime_encrypt_default">
+                            <property name="label" translatable="yes">Encrypt out_going messages (by default)</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="label" translatable="yes">Encrypt out_going messages (by default)</property>
+                            <property name="receives_default">False</property>
                             <property name="use_underline">True</property>
-                            <property name="response_id">0</property>
                             <property name="draw_indicator">True</property>
                           </widget>
                           <packing>
@@ -2265,11 +2333,11 @@ For example: "Work" or "Personal"</property>
                         </child>
                         <child>
                           <widget class="GtkCheckButton" id="smime_sign_default">
+                            <property name="label" translatable="yes">Digitally sign o_utgoing messages (by default)</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="label" translatable="yes">Digitally sign o_utgoing messages (by default)</property>
+                            <property name="receives_default">False</property>
                             <property name="use_underline">True</property>
-                            <property name="response_id">0</property>
                             <property name="draw_indicator">True</property>
                           </widget>
                           <packing>
@@ -2329,7 +2397,7 @@ For example: "Work" or "Personal"</property>
                               <widget class="GtkButton" id="smime_encrypt_key_select">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="response_id">0</property>
+                                <property name="receives_default">False</property>
                                 <child>
                                   <widget class="GtkAlignment" id="alignment28">
                                     <property name="visible">True</property>
@@ -2347,6 +2415,7 @@ For example: "Work" or "Personal"</property>
                                           <packing>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
+                                            <property name="position">0</property>
                                           </packing>
                                         </child>
                                         <child>
@@ -2369,13 +2438,14 @@ For example: "Work" or "Personal"</property>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
                               <widget class="GtkButton" id="smime_encrypt_key_clear">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="response_id">0</property>
+                                <property name="receives_default">False</property>
                                 <child>
                                   <widget class="GtkAlignment" id="alignment35">
                                     <property name="visible">True</property>
@@ -2393,6 +2463,7 @@ For example: "Work" or "Personal"</property>
                                           <packing>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
+                                            <property name="position">0</property>
                                           </packing>
                                         </child>
                                         <child>
@@ -2436,7 +2507,7 @@ For example: "Work" or "Personal"</property>
                               <widget class="GtkButton" id="smime_sign_key_select">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="response_id">0</property>
+                                <property name="receives_default">False</property>
                                 <child>
                                   <widget class="GtkAlignment" id="alignment29">
                                     <property name="visible">True</property>
@@ -2454,6 +2525,7 @@ For example: "Work" or "Personal"</property>
                                           <packing>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
+                                            <property name="position">0</property>
                                           </packing>
                                         </child>
                                         <child>
@@ -2476,13 +2548,14 @@ For example: "Work" or "Personal"</property>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
                               <widget class="GtkButton" id="smime_sign_key_clear">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="response_id">0</property>
+                                <property name="receives_default">False</property>
                                 <child>
                                   <widget class="GtkAlignment" id="alignment34">
                                     <property name="visible">True</property>
@@ -2500,6 +2573,7 @@ For example: "Work" or "Personal"</property>
                                           <packing>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
+                                            <property name="position">0</property>
                                           </packing>
                                         </child>
                                         <child>
@@ -2562,131 +2636,12 @@ For example: "Work" or "Personal"</property>
             <property name="visible">True</property>
             <property name="label" translatable="yes">Security</property>
             <property name="use_underline">True</property>
-            <property name="justify">GTK_JUSTIFY_CENTER</property>
+            <property name="justify">center</property>
           </widget>
           <packing>
-            <property name="type">tab</property>
             <property name="position">4</property>
             <property name="tab_fill">False</property>
-          </packing>
-        </child>
-      </widget>
-    </child>
-  </widget>
-  <widget class="GtkWindow" id="accounts_tab">
-    <property name="title" translatable="yes">Email Accounts</property>
-    <child>
-      <widget class="GtkHBox" id="toplevel">
-        <property name="visible">True</property>
-        <property name="spacing">6</property>
-        <child>
-          <widget class="Custom" id="etableMailAccounts">
-            <property name="visible">True</property>
-            <property name="creation_function">em_account_prefs_treeview_new</property>
-          </widget>
-        </child>
-        <child>
-          <widget class="GtkVBox" id="vboxMailFunctions">
-            <property name="visible">True</property>
-            <property name="spacing">6</property>
-            <child>
-              <widget class="GtkVButtonBox" id="vbuttonboxMailAccounts">
-                <property name="visible">True</property>
-                <property name="spacing">6</property>
-                <property name="layout_style">GTK_BUTTONBOX_START</property>
-                <child>
-                  <widget class="GtkButton" id="cmdAccountAdd">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="can_default">True</property>
-                    <property name="label">gtk-add</property>
-                    <property name="use_stock">True</property>
-                    <property name="response_id">0</property>
-                  </widget>
-                </child>
-                <child>
-                  <widget class="GtkButton" id="cmdAccountEdit">
-                    <property name="visible">True</property>
-                    <property name="sensitive">False</property>
-                    <property name="can_focus">True</property>
-                    <property name="can_default">True</property>
-                    <property name="response_id">0</property>
-                    <child>
-                      <widget class="GtkAlignment" id="alignment33">
-                        <property name="visible">True</property>
-                        <property name="xscale">0</property>
-                        <property name="yscale">0</property>
-                        <child>
-                          <widget class="GtkHBox" id="hbox224">
-                            <property name="visible">True</property>
-                            <property name="spacing">2</property>
-                            <child>
-                              <widget class="GtkImage" id="image8">
-                                <property name="visible">True</property>
-                                <property name="stock">gtk-properties</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkLabel" id="label557">
-                                <property name="visible">True</property>
-                                <property name="label" translatable="yes">_Edit</property>
-                                <property name="use_underline">True</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </widget>
-                        </child>
-                      </widget>
-                    </child>
-                  </widget>
-                  <packing>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkButton" id="cmdAccountDelete">
-                    <property name="visible">True</property>
-                    <property name="sensitive">False</property>
-                    <property name="can_focus">True</property>
-                    <property name="can_default">True</property>
-                    <property name="label">gtk-delete</property>
-                    <property name="use_stock">True</property>
-                    <property name="response_id">0</property>
-                  </widget>
-                  <packing>
-                    <property name="position">2</property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkButton" id="cmdAccountDefault">
-                    <property name="width_request">89</property>
-                    <property name="height_request">36</property>
-                    <property name="visible">True</property>
-                    <property name="sensitive">False</property>
-                    <property name="can_focus">True</property>
-                    <property name="can_default">True</property>
-                    <property name="label" translatable="yes">De_fault</property>
-                    <property name="use_underline">True</property>
-                    <property name="response_id">0</property>
-                  </widget>
-                  <packing>
-                    <property name="position">3</property>
-                  </packing>
-                </child>
-              </widget>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="position">1</property>
+            <property name="type">tab</property>
           </packing>
         </child>
       </widget>
@@ -2718,6 +2673,7 @@ For example: "Work" or "Personal"</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -2731,6 +2687,7 @@ For example: "Work" or "Personal"</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -2744,16 +2701,17 @@ For example: "Work" or "Personal"</property>
                             <property name="spacing">6</property>
                             <child>
                               <widget class="GtkCheckButton" id="radFontUseSame">
+                                <property name="label" translatable="yes">_Use the same fonts as other applications</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="label" translatable="yes">_Use the same fonts as other applications</property>
+                                <property name="receives_default">False</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
                               </widget>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
@@ -2769,7 +2727,7 @@ For example: "Work" or "Personal"</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">S_tandard Font:</property>
                                     <property name="use_underline">True</property>
-                                    <property name="justify">GTK_JUSTIFY_RIGHT</property>
+                                    <property name="justify">right</property>
                                     <property name="mnemonic_widget">FontVariable</property>
                                   </widget>
                                   <packing>
@@ -2781,7 +2739,7 @@ For example: "Work" or "Personal"</property>
                                   <widget class="GtkFontButton" id="FontFixed">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="response_id">0</property>
+                                    <property name="receives_default">False</property>
                                     <property name="title" translatable="yes">Select HTML fixed width font</property>
                                     <signal name="font_set" handler="changed"/>
                                   </widget>
@@ -2798,7 +2756,7 @@ For example: "Work" or "Personal"</property>
                                   <widget class="GtkFontButton" id="FontVariable">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="response_id">0</property>
+                                    <property name="receives_default">False</property>
                                     <property name="title" translatable="yes">Select HTML variable width font</property>
                                     <signal name="font_set" handler="changed"/>
                                   </widget>
@@ -2815,7 +2773,7 @@ For example: "Work" or "Personal"</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">Fix_ed width Font:</property>
                                     <property name="use_underline">True</property>
-                                    <property name="justify">GTK_JUSTIFY_RIGHT</property>
+                                    <property name="justify">right</property>
                                     <property name="mnemonic_widget">FontFixed</property>
                                   </widget>
                                   <packing>
@@ -2846,6 +2804,7 @@ For example: "Work" or "Personal"</property>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
@@ -2862,6 +2821,7 @@ For example: "Work" or "Personal"</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -2875,6 +2835,7 @@ For example: "Work" or "Personal"</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -2892,16 +2853,17 @@ For example: "Work" or "Personal"</property>
                                 <property name="spacing">6</property>
                                 <child>
                                   <widget class="GtkCheckButton" id="chkMarkTimeout">
+                                    <property name="label" translatable="yes">_Mark messages as read after</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="label" translatable="yes">_Mark messages as read after</property>
+                                    <property name="receives_default">False</property>
                                     <property name="use_underline">True</property>
-                                    <property name="response_id">0</property>
                                     <property name="draw_indicator">True</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -2912,7 +2874,7 @@ For example: "Work" or "Personal"</property>
                                     <property name="climb_rate">1</property>
                                     <property name="digits">1</property>
                                     <property name="numeric">True</property>
-                                    <property name="update_policy">GTK_UPDATE_IF_VALID</property>
+                                    <property name="update_policy">if-valid</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
@@ -2924,7 +2886,7 @@ For example: "Work" or "Personal"</property>
                                   <widget class="GtkLabel" id="lblSeconds">
                                     <property name="visible">True</property>
                                     <property name="label" translatable="yes">seconds</property>
-                                    <property name="justify">GTK_JUSTIFY_CENTER</property>
+                                    <property name="justify">center</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
@@ -2933,6 +2895,9 @@ For example: "Work" or "Personal"</property>
                                   </packing>
                                 </child>
                               </widget>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
                             </child>
                             <child>
                               <widget class="GtkHBox" id="hbox234">
@@ -2940,16 +2905,17 @@ For example: "Work" or "Personal"</property>
                                 <property name="spacing">4</property>
                                 <child>
                                   <widget class="GtkCheckButton" id="mlimit_checkbutton">
+                                    <property name="label" translatable="yes">Do not format messages when text si_ze exceeds</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="label" translatable="yes">Do not format messages when text si_ze exceeds</property>
+                                    <property name="receives_default">False</property>
                                     <property name="use_underline">True</property>
-                                    <property name="response_id">0</property>
                                     <property name="draw_indicator">True</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -2987,16 +2953,17 @@ For example: "Work" or "Personal"</property>
                                 <property name="visible">True</property>
                                 <child>
                                   <widget class="GtkCheckButton" id="address_checkbox">
+                                    <property name="label" translatable="yes">_Shrink To / Cc / Bcc headers to </property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="label" translatable="yes">_Shrink To / Cc / Bcc headers to </property>
+                                    <property name="receives_default">False</property>
                                     <property name="use_underline">True</property>
-                                    <property name="response_id">0</property>
                                     <property name="draw_indicator">True</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -3034,11 +3001,11 @@ For example: "Work" or "Personal"</property>
                             </child>
                             <child>
                               <widget class="GtkCheckButton" id="magic_spacebar_checkbox">
+                                <property name="label" translatable="yes">Enable Magic S_pacebar</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="label" translatable="yes">Enable Magic S_pacebar</property>
+                                <property name="receives_default">False</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
                               </widget>
                               <packing>
@@ -3053,24 +3020,25 @@ For example: "Work" or "Personal"</property>
                                 <property name="spacing">6</property>
                                 <child>
                                   <widget class="GtkCheckButton" id="chkHighlightCitations">
+                                    <property name="label" translatable="yes">Highlight _quotations with</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="label" translatable="yes">Highlight _quotations with</property>
+                                    <property name="receives_default">False</property>
                                     <property name="use_underline">True</property>
-                                    <property name="response_id">0</property>
                                     <property name="active">True</property>
                                     <property name="draw_indicator">True</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
                                   <widget class="GtkColorButton" id="colorButtonHighlightCitations">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="response_id">0</property>
+                                    <property name="receives_default">False</property>
                                     <property name="title" translatable="yes">Pick a color</property>
                                   </widget>
                                   <packing>
@@ -3083,7 +3051,7 @@ For example: "Work" or "Personal"</property>
                                   <widget class="GtkLabel" id="lblColor">
                                     <property name="visible">True</property>
                                     <property name="label" translatable="yes">color</property>
-                                    <property name="justify">GTK_JUSTIFY_CENTER</property>
+                                    <property name="justify">center</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
@@ -3105,19 +3073,20 @@ For example: "Work" or "Personal"</property>
                                     <property name="visible">True</property>
                                     <property name="label" translatable="yes">Default character e_ncoding:</property>
                                     <property name="use_underline">True</property>
-                                    <property name="justify">GTK_JUSTIFY_CENTER</property>
+                                    <property name="justify">center</property>
                                     <property name="mnemonic_widget">omenuCharset</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
                                   <widget class="GtkOptionMenu" id="omenuCharset">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="response_id">0</property>
+                                    <property name="receives_default">False</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
@@ -3136,24 +3105,25 @@ For example: "Work" or "Personal"</property>
                                 <property name="spacing">6</property>
                                 <child>
                                   <widget class="GtkCheckButton" id="chkEnableSearchFolders">
+                                    <property name="label" translatable="yes">Enable Sea_rch Folders</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="label" translatable="yes">Enable Sea_rch Folders</property>
+                                    <property name="receives_default">False</property>
                                     <property name="use_underline">True</property>
-                                    <property name="response_id">0</property>
                                     <property name="active">True</property>
                                     <property name="draw_indicator">True</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
                                   <widget class="GtkLabel" id="lblEnableSFRestart">
                                     <property name="visible">True</property>
                                     <property name="label" translatable="yes">(Note: Requires restart of the application)</property>
-                                    <property name="justify">GTK_JUSTIFY_CENTER</property>
+                                    <property name="justify">center</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
@@ -3199,6 +3169,7 @@ For example: "Work" or "Personal"</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -3212,6 +3183,7 @@ For example: "Work" or "Personal"</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -3229,23 +3201,24 @@ For example: "Work" or "Personal"</property>
                                 <property name="spacing">4</property>
                                 <child>
                                   <widget class="GtkCheckButton" id="chkEmptyTrashOnExit">
+                                    <property name="label" translatable="yes">Empty trash folders on e_xit</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="label" translatable="yes">Empty trash folders on e_xit</property>
+                                    <property name="receives_default">False</property>
                                     <property name="use_underline">True</property>
-                                    <property name="response_id">0</property>
                                     <property name="draw_indicator">True</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
                                   <widget class="GtkOptionMenu" id="omenuEmptyTrashDays">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="response_id">0</property>
+                                    <property name="receives_default">False</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
@@ -3254,14 +3227,17 @@ For example: "Work" or "Personal"</property>
                                   </packing>
                                 </child>
                               </widget>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
                             </child>
                             <child>
                               <widget class="GtkCheckButton" id="chkConfirmExpunge">
+                                <property name="label" translatable="yes">Confirm _when expunging a folder</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="label" translatable="yes">Confirm _when expunging a folder</property>
+                                <property name="receives_default">False</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
                               </widget>
                               <packing>
@@ -3296,11 +3272,11 @@ For example: "Work" or "Personal"</property>
             <property name="visible">True</property>
             <property name="label" translatable="yes">General</property>
             <property name="use_underline">True</property>
-            <property name="justify">GTK_JUSTIFY_CENTER</property>
+            <property name="justify">center</property>
           </widget>
           <packing>
-            <property name="type">tab</property>
             <property name="tab_fill">False</property>
+            <property name="type">tab</property>
           </packing>
         </child>
         <child>
@@ -3318,6 +3294,7 @@ For example: "Work" or "Personal"</property>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
@@ -3331,6 +3308,7 @@ For example: "Work" or "Personal"</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -3339,25 +3317,26 @@ For example: "Work" or "Personal"</property>
                     <property name="spacing">6</property>
                     <child>
                       <widget class="GtkCheckButton" id="chkShowAnimatedImages">
+                        <property name="label" translatable="yes" comments="If enabled, show animation; if disabled, only display a static image without any animation">_Show image animations</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="label" translatable="yes" comments="If enabled, show animation; if disabled, only display a static image without any animation">_Show image animations</property>
+                        <property name="receives_default">False</property>
                         <property name="use_underline">True</property>
-                        <property name="response_id">0</property>
                         <property name="draw_indicator">True</property>
                       </widget>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
                       <widget class="GtkCheckButton" id="chkPromptWantHTML">
+                        <property name="label" translatable="yes">_Prompt on sending HTML mail to contacts that do not want them</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="label" translatable="yes">_Prompt on sending HTML mail to contacts that do not want them</property>
+                        <property name="receives_default">False</property>
                         <property name="use_underline">True</property>
-                        <property name="response_id">0</property>
                         <property name="draw_indicator">True</property>
                       </widget>
                       <packing>
@@ -3394,6 +3373,7 @@ For example: "Work" or "Personal"</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -3407,6 +3387,7 @@ For example: "Work" or "Personal"</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -3415,25 +3396,26 @@ For example: "Work" or "Personal"</property>
                         <property name="spacing">6</property>
                         <child>
                           <widget class="GtkRadioButton" id="radImagesNever">
+                            <property name="label" translatable="yes">_Never load images from the Internet</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="label" translatable="yes">_Never load images from the Internet</property>
+                            <property name="receives_default">False</property>
                             <property name="use_underline">True</property>
-                            <property name="response_id">0</property>
                             <property name="draw_indicator">True</property>
                           </widget>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
                           <widget class="GtkRadioButton" id="radImagesSometimes">
+                            <property name="label" translatable="yes">_Load images in messages from contacts</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="label" translatable="yes">_Load images in messages from contacts</property>
+                            <property name="receives_default">False</property>
                             <property name="use_underline">True</property>
-                            <property name="response_id">0</property>
                             <property name="draw_indicator">True</property>
                             <property name="group">radImagesNever</property>
                           </widget>
@@ -3445,11 +3427,11 @@ For example: "Work" or "Personal"</property>
                         </child>
                         <child>
                           <widget class="GtkRadioButton" id="radImagesAlways">
+                            <property name="label" translatable="yes">_Always load images from the Internet</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="label" translatable="yes">_Always load images from the Internet</property>
+                            <property name="receives_default">False</property>
                             <property name="use_underline">True</property>
-                            <property name="response_id">0</property>
                             <property name="draw_indicator">True</property>
                             <property name="group">radImagesNever</property>
                           </widget>
@@ -3490,12 +3472,12 @@ For example: "Work" or "Personal"</property>
             <property name="visible">True</property>
             <property name="label" translatable="yes">HTML Messages</property>
             <property name="use_underline">True</property>
-            <property name="justify">GTK_JUSTIFY_CENTER</property>
+            <property name="justify">center</property>
           </widget>
           <packing>
-            <property name="type">tab</property>
             <property name="position">1</property>
             <property name="tab_fill">False</property>
+            <property name="type">tab</property>
           </packing>
         </child>
         <child>
@@ -3513,6 +3495,7 @@ For example: "Work" or "Personal"</property>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
@@ -3537,12 +3520,12 @@ For example: "Work" or "Personal"</property>
             <property name="visible">True</property>
             <property name="label" translatable="yes">Labels</property>
             <property name="use_underline">True</property>
-            <property name="justify">GTK_JUSTIFY_CENTER</property>
+            <property name="justify">center</property>
           </widget>
           <packing>
-            <property name="type">tab</property>
             <property name="position">2</property>
             <property name="tab_fill">False</property>
+            <property name="type">tab</property>
           </packing>
         </child>
         <child>
@@ -3566,39 +3549,43 @@ For example: "Work" or "Personal"</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                   </widget>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox206">
+                  <widget class="GtkVBox" id="vbox1">
                     <property name="visible">True</property>
                     <child>
                       <widget class="GtkHBox" id="hbox239">
                         <property name="visible">True</property>
                         <child>
                           <widget class="GtkCheckButton" id="photo_show">
+                            <property name="label" translatable="yes">_Show the photograph of sender in the message preview</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="label" translatable="yes">_Show the photograph of sender in the message preview</property>
+                            <property name="receives_default">False</property>
                             <property name="use_underline">True</property>
-                            <property name="response_id">0</property>
                             <property name="draw_indicator">True</property>
                           </widget>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
                             <property name="padding">10</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                       </widget>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -3606,17 +3593,18 @@ For example: "Work" or "Personal"</property>
                         <property name="visible">True</property>
                         <child>
                           <widget class="GtkCheckButton" id="photo_local">
+                            <property name="label" translatable="yes">S_earch for sender photograph only in local address books</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="label" translatable="yes">S_earch for sender photograph only in local address books</property>
+                            <property name="receives_default">False</property>
                             <property name="use_underline">True</property>
-                            <property name="response_id">0</property>
                             <property name="draw_indicator">True</property>
                           </widget>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
                             <property name="padding">10</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                       </widget>
@@ -3637,6 +3625,7 @@ For example: "Work" or "Personal"</property>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
@@ -3665,6 +3654,7 @@ For example: "Work" or "Personal"</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -3675,27 +3665,27 @@ For example: "Work" or "Personal"</property>
                       <widget class="GtkEntry" id="txtHeaders">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="invisible_char">*</property>
                       </widget>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
                       <widget class="GtkScrolledWindow" id="scrolledwindow49">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                        <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                        <property name="shadow_type">GTK_SHADOW_IN</property>
+                        <property name="hscrollbar_policy">automatic</property>
+                        <property name="vscrollbar_policy">automatic</property>
+                        <property name="shadow_type">in</property>
                         <child>
                           <widget class="GtkTreeView" id="treeHeaders">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="headers_visible">False</property>
                             <accessibility>
-                              <atkproperty name="AtkObject::accessible_name" translatable="yes">Mail Headers Table</atkproperty>
+                              <atkproperty name="AtkObject::accessible-name" translatable="yes">Mail Headers Table</atkproperty>
                             </accessibility>
                           </widget>
                         </child>
@@ -3715,25 +3705,26 @@ For example: "Work" or "Personal"</property>
                     <property name="spacing">6</property>
                     <child>
                       <widget class="GtkButton" id="cmdHeadersAdd">
+                        <property name="label">gtk-add</property>
                         <property name="visible">True</property>
                         <property name="sensitive">False</property>
                         <property name="can_focus">True</property>
-                        <property name="label">gtk-add</property>
+                        <property name="receives_default">False</property>
                         <property name="use_stock">True</property>
-                        <property name="response_id">0</property>
                       </widget>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
                       <widget class="GtkButton" id="cmdHeadersRemove">
+                        <property name="label">gtk-remove</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="label">gtk-remove</property>
+                        <property name="receives_default">False</property>
                         <property name="use_stock">True</property>
-                        <property name="response_id">0</property>
                       </widget>
                       <packing>
                         <property name="expand">False</property>
@@ -3765,9 +3756,9 @@ For example: "Work" or "Personal"</property>
             <property name="use_underline">True</property>
           </widget>
           <packing>
-            <property name="type">tab</property>
             <property name="position">3</property>
             <property name="tab_fill">False</property>
+            <property name="type">tab</property>
           </packing>
         </child>
         <child>
@@ -3788,6 +3779,7 @@ For example: "Work" or "Personal"</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -3811,6 +3803,7 @@ For example: "Work" or "Personal"</property>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
                             <property name="padding">6</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
@@ -3833,12 +3826,12 @@ For example: "Work" or "Personal"</property>
                     </child>
                     <child>
                       <widget class="GtkCheckButton" id="chkCheckIncomingMail">
+                        <property name="label" translatable="yes">Check incoming _messages for junk</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
                         <property name="tooltip" translatable="yes">Checks incoming mail messages to be Junk</property>
-                        <property name="label" translatable="yes">Check incoming _messages for junk</property>
                         <property name="use_underline">True</property>
-                        <property name="response_id">0</property>
                         <property name="draw_indicator">True</property>
                       </widget>
                       <packing>
@@ -3859,6 +3852,7 @@ For example: "Work" or "Personal"</property>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
@@ -3886,23 +3880,24 @@ For example: "Work" or "Personal"</property>
                         <property name="spacing">4</property>
                         <child>
                           <widget class="GtkCheckButton" id="junk_empty_check">
+                            <property name="label" translatable="yes">Delete junk messages on e_xit</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="label" translatable="yes">Delete junk messages on e_xit</property>
+                            <property name="receives_default">False</property>
                             <property name="use_underline">True</property>
-                            <property name="response_id">0</property>
                             <property name="draw_indicator">True</property>
                           </widget>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
                           <widget class="GtkOptionMenu" id="junk_empty_combo">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="response_id">0</property>
+                            <property name="receives_default">False</property>
                           </widget>
                           <packing>
                             <property name="expand">False</property>
@@ -3920,11 +3915,11 @@ For example: "Work" or "Personal"</property>
                     </child>
                     <child>
                       <widget class="GtkCheckButton" id="junk_header_check">
+                        <property name="label" translatable="yes">Check cu_stom headers for junk</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="label" translatable="yes">Check cu_stom headers for junk</property>
+                        <property name="receives_default">False</property>
                         <property name="use_underline">True</property>
-                        <property name="response_id">0</property>
                         <property name="draw_indicator">True</property>
                       </widget>
                       <packing>
@@ -3943,9 +3938,9 @@ For example: "Work" or "Personal"</property>
                           <widget class="GtkScrolledWindow" id="scrolledwindow51">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                            <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                            <property name="shadow_type">GTK_SHADOW_IN</property>
+                            <property name="hscrollbar_policy">automatic</property>
+                            <property name="vscrollbar_policy">automatic</property>
+                            <property name="shadow_type">in</property>
                             <child>
                               <widget class="GtkTreeView" id="junk_header_tree">
                                 <property name="visible">True</property>
@@ -3953,31 +3948,41 @@ For example: "Work" or "Personal"</property>
                               </widget>
                             </child>
                           </widget>
+                          <packing>
+                            <property name="position">0</property>
+                          </packing>
                         </child>
                         <child>
                           <widget class="GtkVButtonBox" id="vbuttonbox26">
                             <property name="visible">True</property>
-                            <property name="layout_style">GTK_BUTTONBOX_SPREAD</property>
+                            <property name="layout_style">spread</property>
                             <child>
                               <widget class="GtkButton" id="junk_header_add">
+                                <property name="label">gtk-add</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="can_default">True</property>
-                                <property name="label">gtk-add</property>
+                                <property name="receives_default">False</property>
                                 <property name="use_stock">True</property>
-                                <property name="response_id">0</property>
                               </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">0</property>
+                              </packing>
                             </child>
                             <child>
                               <widget class="GtkButton" id="junk_header_remove">
+                                <property name="label">gtk-remove</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="can_default">True</property>
-                                <property name="label">gtk-remove</property>
+                                <property name="receives_default">False</property>
                                 <property name="use_stock">True</property>
-                                <property name="response_id">0</property>
                               </widget>
                               <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
@@ -3996,11 +4001,11 @@ For example: "Work" or "Personal"</property>
                     </child>
                     <child>
                       <widget class="GtkCheckButton" id="lookup_book">
+                        <property name="label" translatable="yes">Do not mar_k messages as junk if sender is in my address book</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="label" translatable="yes">Do not mar_k messages as junk if sender is in my address book</property>
+                        <property name="receives_default">False</property>
                         <property name="use_underline">True</property>
-                        <property name="response_id">0</property>
                         <property name="draw_indicator">True</property>
                       </widget>
                       <packing>
@@ -4013,11 +4018,11 @@ For example: "Work" or "Personal"</property>
                     </child>
                     <child>
                       <widget class="GtkCheckButton" id="junk_lookup_local_only">
+                        <property name="label" translatable="yes">_Lookup in local address book only</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="label" translatable="yes">_Lookup in local address book only</property>
+                        <property name="receives_default">False</property>
                         <property name="use_underline">True</property>
-                        <property name="response_id">0</property>
                         <property name="draw_indicator">True</property>
                       </widget>
                       <packing>
@@ -4039,6 +4044,7 @@ For example: "Work" or "Personal"</property>
                           </widget>
                           <packing>
                             <property name="expand">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
@@ -4068,6 +4074,7 @@ For example: "Work" or "Personal"</property>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
@@ -4092,9 +4099,9 @@ For example: "Work" or "Personal"</property>
             <property name="use_underline">True</property>
           </widget>
           <packing>
-            <property name="type">tab</property>
             <property name="position">4</property>
             <property name="tab_fill">False</property>
+            <property name="type">tab</property>
           </packing>
         </child>
       </widget>
@@ -4125,6 +4132,7 @@ For example: "Work" or "Personal"</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -4138,6 +4146,7 @@ For example: "Work" or "Personal"</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -4151,25 +4160,26 @@ For example: "Work" or "Personal"</property>
                             <property name="spacing">8</property>
                             <child>
                               <widget class="GtkCheckButton" id="chkSendHTML">
+                                <property name="label" translatable="yes">Format messages in _HTML</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="label" translatable="yes">Format messages in _HTML</property>
+                                <property name="receives_default">False</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
                               </widget>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
                               <widget class="GtkCheckButton" id="chkAutoSmileys">
+                                <property name="label" translatable="yes">Automatically insert _emoticon images</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="label" translatable="yes">Automatically insert _emoticon images</property>
+                                <property name="receives_default">False</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
                               </widget>
                               <packing>
@@ -4180,11 +4190,11 @@ For example: "Work" or "Personal"</property>
                             </child>
                             <child>
                               <widget class="GtkCheckButton" id="chkRequestReceipt">
+                                <property name="label" translatable="yes">Always request rea_d receipt</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="label" translatable="yes">Always request rea_d receipt</property>
+                                <property name="receives_default">False</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
                               </widget>
                               <packing>
@@ -4195,11 +4205,11 @@ For example: "Work" or "Personal"</property>
                             </child>
                             <child>
                               <widget class="GtkCheckButton" id="chkReplyStartBottom">
+                                <property name="label" translatable="yes">Start _typing at the bottom on replying</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="label" translatable="yes">Start _typing at the bottom on replying</property>
+                                <property name="receives_default">False</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
                               </widget>
                               <packing>
@@ -4210,11 +4220,11 @@ For example: "Work" or "Personal"</property>
                             </child>
                             <child>
                               <widget class="GtkCheckButton" id="chkOutlookFilenames">
+                                <property name="label" translatable="yes">Encode file names in an Outlook/GMail way</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="label" translatable="yes">Encode file names in an Outlook/GMail way</property>
+                                <property name="receives_default">False</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
                               </widget>
                               <packing>
@@ -4236,7 +4246,7 @@ For example: "Work" or "Personal"</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">_Reply style:</property>
                                     <property name="use_underline">True</property>
-                                    <property name="justify">GTK_JUSTIFY_CENTER</property>
+                                    <property name="justify">center</property>
                                   </widget>
                                   <packing>
                                     <property name="top_attach">1</property>
@@ -4249,7 +4259,7 @@ For example: "Work" or "Personal"</property>
                                   <widget class="GtkOptionMenu" id="omenuCharset1">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="response_id">0</property>
+                                    <property name="receives_default">False</property>
                                   </widget>
                                   <packing>
                                     <property name="left_attach">1</property>
@@ -4266,7 +4276,7 @@ For example: "Work" or "Personal"</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">_Forward style:</property>
                                     <property name="use_underline">True</property>
-                                    <property name="justify">GTK_JUSTIFY_CENTER</property>
+                                    <property name="justify">center</property>
                                   </widget>
                                   <packing>
                                     <property name="x_options">GTK_FILL</property>
@@ -4338,15 +4348,16 @@ Do Not Quote</property>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
+                                        <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
                                       <widget class="GtkCheckButton" id="chkTopSignature">
+                                        <property name="label" translatable="yes">_Keep Signature above the original message on replying</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="label" translatable="yes">_Keep Signature above the original message on replying</property>
+                                        <property name="receives_default">False</property>
                                         <property name="use_underline">True</property>
-                                        <property name="response_id">0</property>
                                         <property name="draw_indicator">True</property>
                                       </widget>
                                       <packing>
@@ -4359,6 +4370,9 @@ Do Not Quote</property>
                                       <placeholder/>
                                     </child>
                                   </widget>
+                                  <packing>
+                                    <property name="position">0</property>
+                                  </packing>
                                 </child>
                               </widget>
                               <packing>
@@ -4401,6 +4415,7 @@ Do Not Quote</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -4414,25 +4429,26 @@ Do Not Quote</property>
                             <property name="spacing">6</property>
                             <child>
                               <widget class="GtkCheckButton" id="chkPromptEmptySubject">
+                                <property name="label" translatable="yes">_Prompt when sending messages with an empty subject line</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="label" translatable="yes">_Prompt when sending messages with an empty subject line</property>
+                                <property name="receives_default">False</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
                               </widget>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
                               <widget class="GtkCheckButton" id="chkPromptBccOnly">
+                                <property name="label" translatable="yes">Pr_ompt when sending messages with only Bcc recipients defined</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="label" translatable="yes">Pr_ompt when sending messages with only Bcc recipients defined</property>
+                                <property name="receives_default">False</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
                               </widget>
                               <packing>
@@ -4459,6 +4475,7 @@ Do Not Quote</property>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
           </widget>
@@ -4468,11 +4485,11 @@ Do Not Quote</property>
             <property name="visible">True</property>
             <property name="label" translatable="yes">General</property>
             <property name="use_underline">True</property>
-            <property name="justify">GTK_JUSTIFY_CENTER</property>
+            <property name="justify">center</property>
           </widget>
           <packing>
-            <property name="type">tab</property>
             <property name="tab_fill">False</property>
+            <property name="type">tab</property>
           </packing>
         </child>
         <child>
@@ -4491,11 +4508,11 @@ Do Not Quote</property>
                     <property name="label" translatable="yes">&lt;b&gt;Sig_natures&lt;/b&gt;</property>
                     <property name="use_markup">True</property>
                     <property name="use_underline">True</property>
-                    <property name="mnemonic_widget">listSignatures</property>
                   </widget>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -4511,6 +4528,9 @@ Do Not Quote</property>
                   </packing>
                 </child>
               </widget>
+              <packing>
+                <property name="position">0</property>
+              </packing>
             </child>
             <child>
               <widget class="GtkVBox" id="vbox202">
@@ -4526,6 +4546,7 @@ Do Not Quote</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -4539,15 +4560,16 @@ Do Not Quote</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
                       <widget class="GtkScrolledWindow" id="scrolled-sig">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                        <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                        <property name="shadow_type">GTK_SHADOW_IN</property>
+                        <property name="hscrollbar_policy">automatic</property>
+                        <property name="vscrollbar_policy">automatic</property>
+                        <property name="shadow_type">in</property>
                         <child>
                           <placeholder/>
                         </child>
@@ -4580,12 +4602,12 @@ Do Not Quote</property>
             <property name="visible">True</property>
             <property name="label" translatable="yes">Signatures</property>
             <property name="use_underline">True</property>
-            <property name="justify">GTK_JUSTIFY_CENTER</property>
+            <property name="justify">center</property>
           </widget>
           <packing>
-            <property name="type">tab</property>
             <property name="position">1</property>
             <property name="tab_fill">False</property>
+            <property name="type">tab</property>
           </packing>
         </child>
         <child>
@@ -4609,6 +4631,7 @@ Do Not Quote</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -4622,6 +4645,7 @@ Do Not Quote</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -4643,24 +4667,33 @@ Do Not Quote</property>
                                       <widget class="GtkScrolledWindow" id="scrolledwindow48">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
-                                        <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                                        <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                                        <property name="shadow_type">GTK_SHADOW_IN</property>
+                                        <property name="hscrollbar_policy">automatic</property>
+                                        <property name="vscrollbar_policy">automatic</property>
+                                        <property name="shadow_type">in</property>
                                         <child>
                                           <widget class="GtkTreeView" id="listSpellCheckLanguage">
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
                                             <property name="headers_visible">False</property>
                                             <accessibility>
-                                              <atkproperty name="AtkObject::accessible_name" translatable="yes">Languages Table</atkproperty>
+                                              <atkproperty name="AtkObject::accessible-name" translatable="yes">Languages Table</atkproperty>
                                             </accessibility>
                                           </widget>
                                         </child>
                                       </widget>
+                                      <packing>
+                                        <property name="position">0</property>
+                                      </packing>
                                     </child>
                                   </widget>
+                                  <packing>
+                                    <property name="position">0</property>
+                                  </packing>
                                 </child>
                               </widget>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
                             </child>
                             <child>
                               <widget class="GtkHBox" id="hboxImageAndHelp">
@@ -4674,6 +4707,7 @@ Do Not Quote</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -4694,6 +4728,9 @@ Do Not Quote</property>
                               </packing>
                             </child>
                           </widget>
+                          <packing>
+                            <property name="position">0</property>
+                          </packing>
                         </child>
                       </widget>
                       <packing>
@@ -4706,6 +4743,9 @@ Do Not Quote</property>
                   </packing>
                 </child>
               </widget>
+              <packing>
+                <property name="position">0</property>
+              </packing>
             </child>
             <child>
               <widget class="GtkVBox" id="frameSpellChecking">
@@ -4721,6 +4761,7 @@ Do Not Quote</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -4734,6 +4775,7 @@ Do Not Quote</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -4742,16 +4784,17 @@ Do Not Quote</property>
                         <property name="spacing">6</property>
                         <child>
                           <widget class="GtkCheckButton" id="chkEnableSpellChecking">
+                            <property name="label" translatable="yes">Check spelling while I _type</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="label" translatable="yes">Check spelling while I _type</property>
+                            <property name="receives_default">False</property>
                             <property name="use_underline">True</property>
-                            <property name="response_id">0</property>
                             <property name="draw_indicator">True</property>
                           </widget>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
@@ -4763,19 +4806,20 @@ Do Not Quote</property>
                                 <property name="visible">True</property>
                                 <property name="label" translatable="yes">Color for _misspelled words:</property>
                                 <property name="use_underline">True</property>
-                                <property name="justify">GTK_JUSTIFY_CENTER</property>
+                                <property name="justify">center</property>
                                 <property name="mnemonic_widget">colorButtonSpellCheckColor</property>
                               </widget>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
                               <widget class="GtkColorButton" id="colorButtonSpellCheckColor">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="response_id">0</property>
+                                <property name="receives_default">False</property>
                                 <property name="title" translatable="yes">Pick a color</property>
                               </widget>
                               <packing>
@@ -4816,12 +4860,12 @@ Do Not Quote</property>
             <property name="visible">True</property>
             <property name="label" translatable="yes">Spell Checking</property>
             <property name="use_underline">True</property>
-            <property name="justify">GTK_JUSTIFY_CENTER</property>
+            <property name="justify">center</property>
           </widget>
           <packing>
-            <property name="type">tab</property>
             <property name="position">2</property>
             <property name="tab_fill">False</property>
+            <property name="type">tab</property>
           </packing>
         </child>
       </widget>
@@ -4850,6 +4894,7 @@ Do Not Quote</property>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
@@ -4863,6 +4908,7 @@ Do Not Quote</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -4878,7 +4924,7 @@ Do Not Quote</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">V_ariable-width:</property>
                         <property name="use_underline">True</property>
-                        <property name="justify">GTK_JUSTIFY_CENTER</property>
+                        <property name="justify">center</property>
                         <property name="mnemonic_widget">print_variable</property>
                       </widget>
                       <packing>
@@ -4892,7 +4938,7 @@ Do Not Quote</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">Fi_xed-width:</property>
                         <property name="use_underline">True</property>
-                        <property name="justify">GTK_JUSTIFY_CENTER</property>
+                        <property name="justify">center</property>
                         <property name="mnemonic_widget">print_fixed</property>
                       </widget>
                       <packing>
@@ -4906,7 +4952,7 @@ Do Not Quote</property>
                       <widget class="GtkFontButton" id="print_fixed">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="response_id">0</property>
+                        <property name="receives_default">False</property>
                         <property name="title" translatable="yes">Select HTML fixed width font for printing</property>
                         <signal name="font_set" handler="changed"/>
                       </widget>
@@ -4923,7 +4969,7 @@ Do Not Quote</property>
                       <widget class="GtkFontButton" id="print_variable">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="response_id">0</property>
+                        <property name="receives_default">False</property>
                         <property name="title" translatable="yes">Select HTML variable width font for printing</property>
                         <signal name="font_set" handler="changed"/>
                       </widget>
@@ -4955,7 +5001,7 @@ Do Not Quote</property>
     </child>
   </widget>
   <widget class="GtkDialog" id="add_script_signature">
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+    <property name="type_hint">normal</property>
     <property name="has_separator">False</property>
     <child internal-child="vbox">
       <widget class="GtkVBox" id="dialog-vbox1">
@@ -4978,8 +5024,11 @@ Do Not Quote</property>
                         <property name="visible">True</property>
                         <property name="yalign">0</property>
                         <property name="stock">gtk-dialog-info</property>
-                        <property name="icon_size">6</property>
+                        <property name="icon-size">6</property>
                       </widget>
+                      <packing>
+                        <property name="position">0</property>
+                      </packing>
                     </child>
                     <child>
                       <widget class="GtkLabel" id="label456">
@@ -5000,6 +5049,7 @@ for display purposes only. </property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -5015,7 +5065,7 @@ for display purposes only. </property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">_Name:</property>
                         <property name="use_underline">True</property>
-                        <property name="justify">GTK_JUSTIFY_CENTER</property>
+                        <property name="justify">center</property>
                         <property name="mnemonic_widget">entry_add_script_name</property>
                       </widget>
                       <packing>
@@ -5029,7 +5079,7 @@ for display purposes only. </property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">_Script:</property>
                         <property name="use_underline">True</property>
-                        <property name="justify">GTK_JUSTIFY_CENTER</property>
+                        <property name="justify">center</property>
                         <property name="mnemonic_widget">filechooserbutton_add_script</property>
                       </widget>
                       <packing>
@@ -5043,7 +5093,6 @@ for display purposes only. </property>
                       <widget class="GtkEntry" id="entry_add_script_name">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="invisible_char">*</property>
                       </widget>
                       <packing>
                         <property name="left_attach">1</property>
@@ -5074,6 +5123,7 @@ for display purposes only. </property>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
           </widget>
@@ -5084,13 +5134,13 @@ for display purposes only. </property>
         <child internal-child="action_area">
           <widget class="GtkHButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <property name="layout_style">end</property>
             <child>
               <widget class="GtkButton" id="button_add_script_add">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
-                <property name="response_id">0</property>
+                <property name="receives_default">False</property>
                 <child>
                   <widget class="GtkAlignment" id="alignment30">
                     <property name="visible">True</property>
@@ -5108,6 +5158,7 @@ for display purposes only. </property>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
@@ -5127,24 +5178,32 @@ for display purposes only. </property>
                   </widget>
                 </child>
               </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
             </child>
             <child>
               <widget class="GtkButton" id="button_add_script_cancel">
+                <property name="label">gtk-cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
-                <property name="label">gtk-cancel</property>
+                <property name="receives_default">False</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
           </widget>
           <packing>
             <property name="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
       </widget>
@@ -5173,6 +5232,9 @@ for display purposes only. </property>
                     <property name="label" translatable="yes">&lt;span weight="bold"&gt;Proxy Settings&lt;/span&gt;</property>
                     <property name="use_markup">True</property>
                   </widget>
+                  <packing>
+                    <property name="position">0</property>
+                  </packing>
                 </child>
                 <child>
                   <widget class="GtkVBox" id="vboxProxy">
@@ -5181,21 +5243,24 @@ for display purposes only. </property>
                     <property name="spacing">8</property>
                     <child>
                       <widget class="GtkRadioButton" id="rdoSysSettings">
+                        <property name="label" translatable="yes">_Use system defaults</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="label" translatable="yes">_Use system defaults</property>
+                        <property name="receives_default">False</property>
                         <property name="use_underline">True</property>
-                        <property name="response_id">0</property>
                         <property name="draw_indicator">True</property>
                       </widget>
+                      <packing>
+                        <property name="position">0</property>
+                      </packing>
                     </child>
                     <child>
                       <widget class="GtkRadioButton" id="rdoNoProxy">
+                        <property name="label" translatable="yes">_Direct connection to the Internet</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="label" translatable="yes">_Direct connection to the Internet</property>
+                        <property name="receives_default">False</property>
                         <property name="use_underline">True</property>
-                        <property name="response_id">0</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">rdoSysSettings</property>
                       </widget>
@@ -5205,11 +5270,11 @@ for display purposes only. </property>
                     </child>
                     <child>
                       <widget class="GtkRadioButton" id="rdoManualProxy">
+                        <property name="label" translatable="yes">_Manual proxy configuration:</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="label" translatable="yes">_Manual proxy configuration:</property>
+                        <property name="receives_default">False</property>
                         <property name="use_underline">True</property>
-                        <property name="response_id">0</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">rdoSysSettings</property>
                       </widget>
@@ -5294,7 +5359,6 @@ for display purposes only. </property>
                                   <widget class="GtkEntry" id="txtHttpHost">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="invisible_char">*</property>
                                   </widget>
                                   <packing>
                                     <property name="left_attach">1</property>
@@ -5306,7 +5370,6 @@ for display purposes only. </property>
                                   <widget class="GtkEntry" id="txtHttpsHost">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="invisible_char">*</property>
                                   </widget>
                                   <packing>
                                     <property name="left_attach">1</property>
@@ -5320,7 +5383,6 @@ for display purposes only. </property>
                                   <widget class="GtkEntry" id="txtSocksHost">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="invisible_char">*</property>
                                   </widget>
                                   <packing>
                                     <property name="left_attach">1</property>
@@ -5420,7 +5482,6 @@ for display purposes only. </property>
                                   <widget class="GtkEntry" id="txtIgnoreHosts">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="invisible_char">*</property>
                                   </widget>
                                   <packing>
                                     <property name="left_attach">1</property>
@@ -5433,15 +5494,16 @@ for display purposes only. </property>
                               </widget>
                               <packing>
                                 <property name="expand">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
                               <widget class="GtkCheckButton" id="chkUseAuth">
+                                <property name="label" translatable="yes">Use Authe_ntication</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="label" translatable="yes">Use Authe_ntication</property>
+                                <property name="receives_default">False</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
                               </widget>
                               <packing>
@@ -5492,7 +5554,6 @@ for display purposes only. </property>
                                       <widget class="GtkEntry" id="txtAuthUser">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="invisible_char">*</property>
                                       </widget>
                                       <packing>
                                         <property name="left_attach">1</property>
@@ -5504,7 +5565,6 @@ for display purposes only. </property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="visibility">False</property>
-                                        <property name="invisible_char">*</property>
                                       </widget>
                                       <packing>
                                         <property name="left_attach">1</property>
@@ -5531,11 +5591,11 @@ for display purposes only. </property>
                     </child>
                     <child>
                       <widget class="GtkRadioButton" id="rdoAutoConfig">
+                        <property name="label" translatable="yes">_Automatic proxy configuration URL:</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="label" translatable="yes">_Automatic proxy configuration URL:</property>
+                        <property name="receives_default">False</property>
                         <property name="use_underline">True</property>
-                        <property name="response_id">0</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">rdoSysSettings</property>
                       </widget>
@@ -5551,7 +5611,6 @@ for display purposes only. </property>
                           <widget class="GtkEntry" id="txtAutoConfigUrl">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="invisible_char">*</property>
                           </widget>
                         </child>
                       </widget>
@@ -5569,6 +5628,7 @@ for display purposes only. </property>
               </widget>
               <packing>
                 <property name="expand">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
           </widget>
@@ -5579,8 +5639,8 @@ for display purposes only. </property>
             <property name="label" translatable="yes">General</property>
           </widget>
           <packing>
-            <property name="type">tab</property>
             <property name="tab_fill">False</property>
+            <property name="type">tab</property>
           </packing>
         </child>
       </widget>
diff --git a/mail/mail-dialogs.glade b/mail/mail-dialogs.glade
index 1ecf410..19a20fe 100644
--- a/mail/mail-dialogs.glade
+++ b/mail/mail-dialogs.glade
@@ -1,1555 +1,933 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd";>
-
+<?xml version="1.0"?>
 <glade-interface>
-<requires lib="gnome"/>
-
-<widget class="GtkDialog" id="search_message_dialog">
-  <property name="border_width">6</property>
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">Find in Message</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_CENTER</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="has_separator">False</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox1">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">12</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area1">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="button1">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-6</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="button2">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-find</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-3</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkVBox" id="vbox1">
-	  <property name="border_width">6</property>
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">6</property>
-
-	  <child>
-	    <widget class="GtkHBox" id="hbox1">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">12</property>
-
-	      <child>
-		<widget class="GtkLabel" id="label2">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">F_ind:</property>
-		  <property name="use_underline">True</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="mnemonic_widget">search_entry</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkEntry" id="search_entry">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="editable">True</property>
-		  <property name="visibility">True</property>
-		  <property name="max_length">0</property>
-		  <property name="text" translatable="yes"></property>
-		  <property name="has_frame">True</property>
-		  <property name="invisible_char">*</property>
-		  <property name="activates_default">False</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkCheckButton" id="search_case_check">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label" translatable="yes">Case _sensitive</property>
-	      <property name="use_underline">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="active">False</property>
-	      <property name="inconsistent">False</property>
-	      <property name="draw_indicator">True</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="search_matches_label">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes"></property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_CENTER</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">1</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkDialog" id="message_security_dialog">
-  <property name="border_width">6</property>
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">Security Information</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="has_separator">False</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox2">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">6</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area2">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="okbutton1">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-5</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-	  <child>
-	    <widget class="GtkVBox" id="vbox161">
-	      <property name="border_width">12</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">18</property>
-
-	      <child>
-		<widget class="GtkVBox" id="frame5">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">6</property>
-
-		  <child>
-		    <widget class="GtkLabel" id="label464">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;span weight=&quot;bold&quot;&gt;Digital Signature&lt;/span&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox170">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
-
-		      <child>
-			<widget class="GtkLabel" id="label465">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes"></property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">12</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkTable" id="table10">
-			  <property name="visible">True</property>
-			  <property name="n_rows">1</property>
-			  <property name="n_columns">1</property>
-			  <property name="homogeneous">False</property>
-			  <property name="row_spacing">2</property>
-			  <property name="column_spacing">6</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="signature_vbox">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<placeholder/>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">0</property>
-			      <property name="bottom_attach">1</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkVBox" id="frame6">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">6</property>
-
-		  <child>
-		    <widget class="GtkLabel" id="label477">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;span weight=&quot;bold&quot;&gt;Encryption&lt;/span&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox171">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
-
-		      <child>
-			<widget class="GtkLabel" id="label478">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes"></property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">12</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkTable" id="table11">
-			  <property name="visible">True</property>
-			  <property name="n_rows">1</property>
-			  <property name="n_columns">1</property>
-			  <property name="homogeneous">False</property>
-			  <property name="row_spacing">2</property>
-			  <property name="column_spacing">6</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="encryption_vbox">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<placeholder/>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">0</property>
-			      <property name="bottom_attach">1</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-	    </widget>
-	  </child>
-
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkDialog" id="subscribe_dialog">
-  <property name="title" translatable="yes">Folder Subscriptions</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="default_width">600</property>
-  <property name="default_height">400</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="has_separator">False</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox1">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area1">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="refresh_button">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-refresh</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">0</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="close_button">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-close</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-7</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkVBox" id="vbox2">
-	  <property name="border_width">12</property>
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">12</property>
-
-	  <child>
-	    <widget class="GtkHBox" id="hbox1">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">12</property>
-
-	      <child>
-		<widget class="GtkLabel" id="label1">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">S_erver:</property>
-		  <property name="use_underline">True</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="mnemonic_widget">store_menu</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkOptionMenu" id="store_menu">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="history">0</property>
-
-		  <child>
-		    <widget class="GtkMenu" id="menu1">
-
-		      <child>
-			<widget class="GtkMenuItem" id="no_imap_server_selected1">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">None Selected</property>
-			  <property name="use_underline">True</property>
-			  <signal name="activate" handler="on_no_imap_server_selected1_activate" last_modification_time="Mon, 14 Apr 2003 17:08:20 GMT"/>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkProgressBar" id="progress_bar">
-		  <property name="visible">True</property>
-		  <property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property>
-		  <property name="fraction">0</property>
-		  <property name="pulse_step">0.10000000149</property>
-		  <property name="text" translatable="yes"></property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		  <property name="pack_type">GTK_PACK_END</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkHBox" id="tree_box">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">6</property>
-
-	      <child>
-		<placeholder/>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkDialog" id="license_dialog">
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">License Agreement</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="has_separator">True</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog_vbox">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area1">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="lic_no_button">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-no</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-6</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="lic_yes_button">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-3</property>
-
-	      <child>
-		<widget class="GtkAlignment" id="alignment1">
-		  <property name="visible">True</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xscale">0</property>
-		  <property name="yscale">0</property>
-		  <property name="top_padding">0</property>
-		  <property name="bottom_padding">0</property>
-		  <property name="left_padding">0</property>
-		  <property name="right_padding">0</property>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox1">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">2</property>
-
-		      <child>
-			<widget class="GtkImage" id="image1">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-yes</property>
-			  <property name="icon_size">4</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="label1">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">_Accept License</property>
-			  <property name="use_underline">True</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkVBox" id="vbox1">
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">0</property>
-
-	  <child>
-	    <widget class="GtkLabel" id="license_top_label">
-	      <property name="visible">True</property>
-	      <property name="label"></property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkScrolledWindow" id="lic_scrolledwindow">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
-	      <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
-	      <property name="shadow_type">GTK_SHADOW_NONE</property>
-	      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-	      <child>
-		<widget class="GtkTextView" id="license_textview">
-		  <property name="width_request">500</property>
-		  <property name="height_request">400</property>
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="editable">True</property>
-		  <property name="overwrite">False</property>
-		  <property name="accepts_tab">True</property>
-		  <property name="justification">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap_mode">GTK_WRAP_NONE</property>
-		  <property name="cursor_visible">True</property>
-		  <property name="pixels_above_lines">0</property>
-		  <property name="pixels_below_lines">0</property>
-		  <property name="pixels_inside_wrap">0</property>
-		  <property name="left_margin">0</property>
-		  <property name="right_margin">0</property>
-		  <property name="indent">0</property>
-		  <property name="text" translatable="yes"></property>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkCheckButton" id="license_checkbutton">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label" translatable="yes">_Tick this to accept the license agreement</property>
-	      <property name="use_underline">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="active">False</property>
-	      <property name="inconsistent">False</property>
-	      <property name="draw_indicator">True</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkDialog" id="followup_editor">
-  <property name="border_width">6</property>
-  <property name="title" translatable="yes">Flag to Follow Up</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="has_separator">False</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="vbox3">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">12</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="hbuttonbox1">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="button4">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">0</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="button5">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">0</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkVBox" id="toplevel">
-	  <property name="border_width">6</property>
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">12</property>
-
-	  <child>
-	    <widget class="GtkHBox" id="hbox2">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">6</property>
-
-	      <child>
-		<widget class="Custom" id="pixmap">
-		  <property name="visible">True</property>
-		  <property name="creation_function">e_create_image_widget</property>
-		  <property name="string1">stock_mail-flag-for-followup</property>
-		  <property name="int1">0</property>
-		  <property name="int2">0</property>
-		  <property name="last_modification_time">Wed, 08 Dec 2004 02:35:27 GMT</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="lblDirections">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">The messages you have selected for follow up are listed below.
-Please select a follow up action from the &quot;Flag&quot; menu.</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkScrolledWindow" id="scrolledwindow1">
-	      <property name="visible">True</property>
-	      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-	      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-	      <property name="shadow_type">GTK_SHADOW_IN</property>
-	      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-	      <child>
-		<widget class="GtkTreeView" id="message_list">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="headers_visible">True</property>
-		  <property name="rules_hint">False</property>
-		  <property name="reorderable">False</property>
-		  <property name="enable_search">True</property>
-		  <property name="fixed_height_mode">False</property>
-		  <property name="hover_selection">False</property>
-		  <property name="hover_expand">False</property>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkTable" id="table2">
-	      <property name="visible">True</property>
-	      <property name="n_rows">3</property>
-	      <property name="n_columns">3</property>
-	      <property name="homogeneous">False</property>
-	      <property name="row_spacing">6</property>
-	      <property name="column_spacing">6</property>
-
-	      <child>
-		<widget class="GtkLabel" id="label3">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">_Flag:</property>
-		  <property name="use_underline">True</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_CENTER</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="mnemonic_widget">combo-entry</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">0</property>
-		  <property name="right_attach">1</property>
-		  <property name="top_attach">0</property>
-		  <property name="bottom_attach">1</property>
-		  <property name="x_options">fill</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="label4">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">_Due By:</property>
-		  <property name="use_underline">True</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_CENTER</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">0</property>
-		  <property name="right_attach">1</property>
-		  <property name="top_attach">1</property>
-		  <property name="bottom_attach">2</property>
-		  <property name="x_options">fill</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkButton" id="clear">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label">gtk-clear</property>
-		  <property name="use_stock">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">2</property>
-		  <property name="right_attach">3</property>
-		  <property name="top_attach">0</property>
-		  <property name="bottom_attach">1</property>
-		  <property name="x_options">fill</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkCombo" id="combo">
-		  <property name="visible">True</property>
-		  <property name="value_in_list">False</property>
-		  <property name="allow_empty">True</property>
-		  <property name="case_sensitive">False</property>
-		  <property name="enable_arrow_keys">True</property>
-		  <property name="enable_arrows_always">False</property>
-
-		  <child internal-child="entry">
-		    <widget class="GtkEntry" id="combo-entry">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="editable">True</property>
-		      <property name="visibility">True</property>
-		      <property name="max_length">0</property>
-		      <property name="text" translatable="yes"></property>
-		      <property name="has_frame">True</property>
-		      <property name="invisible_char">*</property>
-		      <property name="activates_default">False</property>
-		    </widget>
-		  </child>
-
-		  <child internal-child="list">
-		    <widget class="GtkList" id="convertwidget3">
-		      <property name="visible">True</property>
-		      <property name="selection_mode">GTK_SELECTION_BROWSE</property>
-
-		      <child>
-			<widget class="GtkListItem" id="convertwidget4">
-			  <property name="visible">True</property>
-
-			  <child>
-			    <widget class="GtkLabel" id="convertwidget5">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes"></property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
-			    </widget>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">0</property>
-		  <property name="bottom_attach">1</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="Custom" id="target_date">
-		  <property name="visible">True</property>
-		  <property name="creation_function">target_date_new</property>
-		  <property name="int1">0</property>
-		  <property name="int2">0</property>
-		  <property name="last_modification_time">Sat, 09 Feb 2002 00:20:24 GMT</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">3</property>
-		  <property name="top_attach">1</property>
-		  <property name="bottom_attach">2</property>
-		  <property name="y_options">fill</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkCheckButton" id="completed">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">Co_mpleted</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">3</property>
-		  <property name="top_attach">2</property>
-		  <property name="bottom_attach">3</property>
-		  <property name="x_options">fill</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkDialog" id="vfolder-source">
-  <property name="border_width">6</property>
-  <property name="visible">True</property>
-  <property name="title" translatable="yes"></property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="has_separator">False</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox3">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">6</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area3">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="cancel_button">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-6</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="apply_button">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-apply</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">0</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="ok_button">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-5</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkVBox" id="vfolder_source_frame">
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">6</property>
-
-	  <child>
-	    <widget class="GtkLabel" id="label13">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">&lt;b&gt;Search Folder Sources&lt;/b&gt;</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkHBox" id="hbox9">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">0</property>
-
-	      <child>
-		<widget class="GtkLabel" id="label14">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">    </property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkVBox" id="vbox3">
-		  <property name="border_width">6</property>
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">6</property>
-
-		  <child>
-		    <widget class="GtkRadioButton" id="local_rb">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">All local folders</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <property name="active">False</property>
-		      <property name="inconsistent">False</property>
-		      <property name="draw_indicator">True</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkRadioButton" id="remote_rb">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">All active remote folders</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <property name="active">False</property>
-		      <property name="inconsistent">False</property>
-		      <property name="draw_indicator">True</property>
-		      <property name="group">local_rb</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkRadioButton" id="local_and_remote_rb">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">All local and active remote folders</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <property name="active">False</property>
-		      <property name="inconsistent">False</property>
-		      <property name="draw_indicator">True</property>
-		      <property name="group">local_rb</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkRadioButton" id="specific_rb">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">Specific folders</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <property name="active">False</property>
-		      <property name="inconsistent">False</property>
-		      <property name="draw_indicator">True</property>
-		      <property name="group">local_rb</property>
-
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="source_selector">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">6</property>
-
-		      <child>
-			<widget class="Custom" id="source_list">
-			  <property name="visible">True</property>
-			  <property name="creation_function">em_vfolder_editor_sourcelist_new</property>
-			  <property name="int1">0</property>
-			  <property name="int2">0</property>
-			  <property name="last_modification_time">Fri, 13 Dec 2002 00:22:39 GMT</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkVBox" id="vbox3">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">1</property>
-
-			  <child>
-			    <widget class="GtkVButtonBox" id="vbuttonbox3">
-			      <property name="visible">True</property>
-			      <property name="layout_style">GTK_BUTTONBOX_DEFAULT_STYLE</property>
-			      <property name="spacing">6</property>
-
-			      <child>
-				<widget class="GtkButton" id="source_add">
-				  <property name="visible">True</property>
-				  <property name="can_default">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label">gtk-add</property>
-				  <property name="use_stock">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				</widget>
-			      </child>
-
-			      <child>
-				<widget class="GtkButton" id="source_remove">
-				  <property name="visible">True</property>
-				  <property name="can_default">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label">gtk-remove</property>
-				  <property name="use_stock">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">3</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
+  <!-- interface-requires gtk+ 2.16 -->
+  <!-- interface-naming-policy toplevel-contextual -->
+  <widget class="GtkDialog" id="message_security_dialog">
+    <property name="visible">True</property>
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">Security Information</property>
+    <property name="type_hint">dialog</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox2">
+        <property name="visible">True</property>
+        <property name="spacing">6</property>
+        <child>
+          <widget class="GtkVBox" id="vbox161">
+            <property name="visible">True</property>
+            <property name="border_width">12</property>
+            <property name="spacing">18</property>
+            <child>
+              <widget class="GtkVBox" id="frame5">
+                <property name="visible">True</property>
+                <property name="spacing">6</property>
+                <child>
+                  <widget class="GtkLabel" id="label464">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;span weight="bold"&gt;Digital Signature&lt;/span&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkHBox" id="hbox170">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkLabel" id="label465">
+                        <property name="visible">True</property>
+                        <property name="xpad">12</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkTable" id="table10">
+                        <property name="visible">True</property>
+                        <property name="column_spacing">6</property>
+                        <property name="row_spacing">2</property>
+                        <child>
+                          <widget class="GtkVBox" id="signature_vbox">
+                            <property name="visible">True</property>
+                            <child>
+                              <placeholder/>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkVBox" id="frame6">
+                <property name="visible">True</property>
+                <property name="spacing">6</property>
+                <child>
+                  <widget class="GtkLabel" id="label477">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;span weight="bold"&gt;Encryption&lt;/span&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkHBox" id="hbox171">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkLabel" id="label478">
+                        <property name="visible">True</property>
+                        <property name="xpad">12</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkTable" id="table11">
+                        <property name="visible">True</property>
+                        <property name="column_spacing">6</property>
+                        <property name="row_spacing">2</property>
+                        <child>
+                          <widget class="GtkVBox" id="encryption_vbox">
+                            <property name="visible">True</property>
+                            <child>
+                              <placeholder/>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area2">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <widget class="GtkButton" id="okbutton1">
+                <property name="label">gtk-ok</property>
+                <property name="response_id">-5</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkDialog" id="subscribe_dialog">
+    <property name="title" translatable="yes">Folder Subscriptions</property>
+    <property name="default_width">600</property>
+    <property name="default_height">400</property>
+    <property name="type_hint">dialog</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox1">
+        <property name="visible">True</property>
+        <child>
+          <widget class="GtkVBox" id="vbox2">
+            <property name="visible">True</property>
+            <property name="border_width">12</property>
+            <property name="spacing">12</property>
+            <child>
+              <widget class="GtkHBox" id="hbox1">
+                <property name="visible">True</property>
+                <property name="spacing">12</property>
+                <child>
+                  <widget class="GtkLabel" id="label1">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">S_erver:</property>
+                    <property name="use_underline">True</property>
+                    <property name="mnemonic_widget">store_menu</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkOptionMenu" id="store_menu">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkProgressBar" id="progress_bar">
+                    <property name="visible">True</property>
+                    <property name="pulse_step">0.10000000149</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="pack_type">end</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkHBox" id="tree_box">
+                <property name="visible">True</property>
+                <property name="spacing">6</property>
+                <child>
+                  <placeholder/>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area1">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <widget class="GtkButton" id="refresh_button">
+                <property name="label">gtk-refresh</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="close_button">
+                <property name="label">gtk-close</property>
+                <property name="response_id">-7</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkDialog" id="license_dialog">
+    <property name="visible">True</property>
+    <property name="title" translatable="yes">License Agreement</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog_vbox">
+        <property name="visible">True</property>
+        <child>
+          <widget class="GtkVBox" id="vbox1">
+            <property name="visible">True</property>
+            <child>
+              <widget class="GtkLabel" id="license_top_label">
+                <property name="visible">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkScrolledWindow" id="lic_scrolledwindow">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <child>
+                  <widget class="GtkTextView" id="license_textview">
+                    <property name="width_request">500</property>
+                    <property name="height_request">400</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                  </widget>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkCheckButton" id="license_checkbutton">
+                <property name="label" translatable="yes">_Tick this to accept the license agreement</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+                <property name="draw_indicator">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area1">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <widget class="GtkButton" id="lic_no_button">
+                <property name="label">gtk-no</property>
+                <property name="response_id">-6</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="lic_yes_button">
+                <property name="response_id">-3</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <child>
+                  <widget class="GtkAlignment" id="alignment1">
+                    <property name="visible">True</property>
+                    <property name="xscale">0</property>
+                    <property name="yscale">0</property>
+                    <child>
+                      <widget class="GtkHBox" id="hbox1">
+                        <property name="visible">True</property>
+                        <property name="spacing">2</property>
+                        <child>
+                          <widget class="GtkImage" id="image1">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-yes</property>
+                            <property name="icon-size">4</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="label1">
+                            <property name="visible">True</property>
+                            <property name="label" translatable="yes">_Accept License</property>
+                            <property name="use_underline">True</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkDialog" id="followup_editor">
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">Flag to Follow Up</property>
+    <property name="type_hint">dialog</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="vbox3">
+        <property name="visible">True</property>
+        <property name="spacing">12</property>
+        <child>
+          <widget class="GtkVBox" id="toplevel">
+            <property name="visible">True</property>
+            <property name="border_width">6</property>
+            <property name="spacing">12</property>
+            <child>
+              <widget class="GtkHBox" id="hbox2">
+                <property name="visible">True</property>
+                <property name="spacing">6</property>
+                <child>
+                  <widget class="Custom" id="pixmap">
+                    <property name="visible">True</property>
+                    <property name="creation_function">e_create_image_widget</property>
+                    <property name="string1">stock_mail-flag-for-followup</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="lblDirections">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">The messages you have selected for follow up are listed below.
+Please select a follow up action from the "Flag" menu.</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkScrolledWindow" id="scrolledwindow1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="hscrollbar_policy">automatic</property>
+                <property name="vscrollbar_policy">automatic</property>
+                <property name="shadow_type">in</property>
+                <child>
+                  <widget class="GtkTreeView" id="message_list">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                  </widget>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkTable" id="table2">
+                <property name="visible">True</property>
+                <property name="n_rows">3</property>
+                <property name="n_columns">3</property>
+                <property name="column_spacing">6</property>
+                <property name="row_spacing">6</property>
+                <child>
+                  <widget class="GtkLabel" id="label3">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">_Flag:</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">center</property>
+                    <property name="mnemonic_widget">combo-entry</property>
+                  </widget>
+                  <packing>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="label4">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">_Due By:</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">center</property>
+                  </widget>
+                  <packing>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkButton" id="clear">
+                    <property name="label">gtk-clear</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_stock">True</property>
+                  </widget>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkCombo" id="combo">
+                    <property name="visible">True</property>
+                    <property name="enable_arrows_always">False</property>
+                    <child internal-child="entry">
+                      <widget class="GtkEntry" id="combo-entry">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                      </widget>
+                      <packing>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child internal-child="list">
+                      <widget class="GtkList" id="convertwidget3">
+                        <property name="visible">True</property>
+                        <property name="selection_mode">browse</property>
+                        <child>
+                          <widget class="GtkListItem" id="convertwidget4">
+                            <property name="visible">True</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="Custom" id="target_date">
+                    <property name="visible">True</property>
+                    <property name="creation_function">target_date_new</property>
+                  </widget>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="y_options">GTK_FILL</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkCheckButton" id="completed">
+                    <property name="label" translatable="yes">Co_mpleted</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                  </widget>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">2</property>
+                    <property name="bottom_attach">3</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="hbuttonbox1">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <widget class="GtkButton" id="button4">
+                <property name="label">gtk-ok</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="button5">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkDialog" id="vfolder-source">
+    <property name="visible">True</property>
+    <property name="border_width">6</property>
+    <property name="type_hint">dialog</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox3">
+        <property name="visible">True</property>
+        <property name="spacing">6</property>
+        <child>
+          <widget class="GtkVBox" id="vfolder_source_frame">
+            <property name="visible">True</property>
+            <property name="spacing">6</property>
+            <child>
+              <widget class="GtkLabel" id="label13">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">&lt;b&gt;Search Folder Sources&lt;/b&gt;</property>
+                <property name="use_markup">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkHBox" id="hbox9">
+                <property name="visible">True</property>
+                <child>
+                  <widget class="GtkLabel" id="label14">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">    </property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkVBox" id="vbox3">
+                    <property name="visible">True</property>
+                    <property name="border_width">6</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <widget class="GtkRadioButton" id="local_rb">
+                        <property name="label" translatable="yes">All local folders</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <property name="draw_indicator">True</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkRadioButton" id="remote_rb">
+                        <property name="label" translatable="yes">All active remote folders</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <property name="draw_indicator">True</property>
+                        <property name="group">local_rb</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkRadioButton" id="local_and_remote_rb">
+                        <property name="label" translatable="yes">All local and active remote folders</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <property name="draw_indicator">True</property>
+                        <property name="group">local_rb</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkRadioButton" id="specific_rb">
+                        <property name="label" translatable="yes">Specific folders</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <property name="draw_indicator">True</property>
+                        <property name="group">local_rb</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">3</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="source_selector">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="Custom" id="source_list">
+                            <property name="visible">True</property>
+                            <property name="creation_function">em_vfolder_editor_sourcelist_new</property>
+                          </widget>
+                          <packing>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkVBox" id="vbox1">
+                            <property name="visible">True</property>
+                            <property name="spacing">1</property>
+                            <child>
+                              <widget class="GtkVButtonBox" id="vbuttonbox3">
+                                <property name="visible">True</property>
+                                <property name="spacing">6</property>
+                                <child>
+                                  <widget class="GtkButton" id="source_add">
+                                    <property name="label">gtk-add</property>
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="can_default">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="use_stock">True</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkButton" id="source_remove">
+                                    <property name="label">gtk-remove</property>
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="can_default">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="use_stock">True</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="position">4</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="padding">3</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area3">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <widget class="GtkButton" id="cancel_button">
+                <property name="label">gtk-cancel</property>
+                <property name="response_id">-6</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="apply_button">
+                <property name="label">gtk-apply</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="ok_button">
+                <property name="label">gtk-ok</property>
+                <property name="response_id">-5</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
 </glade-interface>
diff --git a/widgets/misc/Makefile.am b/widgets/misc/Makefile.am
index bd2c9f9..6067149 100644
--- a/widgets/misc/Makefile.am
+++ b/widgets/misc/Makefile.am
@@ -28,6 +28,8 @@ glade_DATA = e-send-options.glade
 widgetsinclude_HEADERS =			\
 	$(pilot_headers)			\
 	e-account-combo-box.h			\
+	e-account-manager.h			\
+	e-account-tree-view.h			\
 	e-action-combo-box.h			\
 	e-activity.h				\
 	e-activity-proxy.h			\
@@ -90,6 +92,8 @@ libemiscwidgets_la_SOURCES =			\
 	$(widgetsinclude_HEADERS)		\
 	$(pilot_sources)			\
 	e-account-combo-box.c			\
+	e-account-manager.c			\
+	e-account-tree-view.c			\
 	e-action-combo-box.c			\
 	e-activity.c				\
 	e-activity-proxy.c			\
diff --git a/widgets/misc/e-account-combo-box.c b/widgets/misc/e-account-combo-box.c
index 21f30b6..f9dd390 100644
--- a/widgets/misc/e-account-combo-box.c
+++ b/widgets/misc/e-account-combo-box.c
@@ -1,4 +1,5 @@
 /*
+ * e-account-combo-box.c
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
diff --git a/widgets/misc/e-account-combo-box.h b/widgets/misc/e-account-combo-box.h
index 87f7eb9..57f2ebe 100644
--- a/widgets/misc/e-account-combo-box.h
+++ b/widgets/misc/e-account-combo-box.h
@@ -1,4 +1,5 @@
 /*
+ * e-account-combo-box.h
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
diff --git a/widgets/misc/e-account-manager.c b/widgets/misc/e-account-manager.c
new file mode 100644
index 0000000..04e050b
--- /dev/null
+++ b/widgets/misc/e-account-manager.c
@@ -0,0 +1,461 @@
+/*
+ * e-account-manager.c
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>  
+ *
+ *
+ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
+ *
+ */
+
+#include "e-account-manager.h"
+
+#include <glib/gi18n.h>
+#include <gdk/gdkkeysyms.h>
+#include "e-util/e-binding.h"
+#include "e-account-tree-view.h"
+
+#define E_ACCOUNT_MANAGER_GET_PRIVATE(obj) \
+	(G_TYPE_INSTANCE_GET_PRIVATE \
+	((obj), E_TYPE_ACCOUNT_MANAGER, EAccountManagerPrivate))
+
+struct _EAccountManagerPrivate {
+	EAccountList *account_list;
+
+	GtkWidget *tree_view;
+	GtkWidget *add_button;
+	GtkWidget *edit_button;
+	GtkWidget *delete_button;
+	GtkWidget *default_button;
+};
+
+enum {
+	PROP_0,
+	PROP_ACCOUNT_LIST
+};
+
+enum {
+	ADD_ACCOUNT,
+	EDIT_ACCOUNT,
+	DELETE_ACCOUNT,
+	LAST_SIGNAL
+};
+
+static gpointer parent_class;
+static guint signals[LAST_SIGNAL];
+
+static void
+account_manager_default_clicked_cb (EAccountManager *manager)
+{
+	EAccountTreeView *tree_view;
+	EAccountList *account_list;
+	EAccount *account;
+
+	tree_view = e_account_manager_get_tree_view (manager);
+	account_list = e_account_manager_get_account_list (manager);
+	account = e_account_tree_view_get_selected (tree_view);
+	g_return_if_fail (account != NULL);
+
+	e_account_list_set_default (account_list, account);
+
+	/* This signals the tree view to refresh. */
+	e_account_list_change (account_list, account);
+}
+
+static gboolean
+account_manager_key_press_event_cb (EAccountManager *manager,
+                                    GdkEventKey *event)
+{
+	if (event->keyval == GDK_Delete) {
+		e_account_manager_delete_account (manager);
+		return TRUE;
+	}
+
+	return FALSE;
+}
+
+static void
+account_manager_selection_changed_cb (EAccountManager *manager,
+                                      GtkTreeSelection *selection)
+{
+	EAccountTreeView *tree_view;
+	EAccountList *account_list;
+	EAccount *default_account;
+	EAccount *account;
+	GtkWidget *add_button;
+	GtkWidget *edit_button;
+	GtkWidget *delete_button;
+	GtkWidget *default_button;
+	const gchar *url = NULL;
+	gboolean has_proxies;
+	gboolean sensitive;
+
+	add_button = manager->priv->add_button;
+	edit_button = manager->priv->edit_button;
+	delete_button = manager->priv->delete_button;
+	default_button = manager->priv->default_button;
+
+	tree_view = e_account_manager_get_tree_view (manager);
+	account = e_account_tree_view_get_selected (tree_view);
+	account_list = e_account_tree_view_get_account_list (tree_view);
+
+	if (account != NULL)
+		url = e_account_get_string (account, E_ACCOUNT_SOURCE_URL);
+	else
+		gtk_widget_grab_focus (add_button);
+
+	has_proxies = (url != NULL) &&
+		e_account_list_account_has_proxies (account_list, account);
+
+	/* XXX EAccountList misuses const */
+	default_account = (EAccount *)
+		e_account_list_get_default (account_list);
+
+	sensitive = (account != NULL) && !has_proxies;
+	gtk_widget_set_sensitive (edit_button, sensitive);
+
+	sensitive = (account != NULL);
+	gtk_widget_set_sensitive (delete_button, sensitive);
+
+	sensitive = (account != NULL && account != default_account);
+	gtk_widget_set_sensitive (default_button, sensitive);
+}
+
+static void
+account_manager_set_property (GObject *object,
+                              guint property_id,
+                              const GValue *value,
+                              GParamSpec *pspec)
+{
+	switch (property_id) {
+		case PROP_ACCOUNT_LIST:
+			e_account_manager_set_account_list (
+				E_ACCOUNT_MANAGER (object),
+				g_value_get_object (value));
+			return;
+	}
+
+	G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+}
+
+static void
+account_manager_get_property (GObject *object,
+                              guint property_id,
+                              GValue *value,
+                              GParamSpec *pspec)
+{
+	switch (property_id) {
+		case PROP_ACCOUNT_LIST:
+			g_value_set_object (
+				value,
+				e_account_manager_get_account_list (
+				E_ACCOUNT_MANAGER (object)));
+			return;
+	}
+
+	G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+}
+
+static void
+account_manager_dispose (GObject *object)
+{
+	EAccountManagerPrivate *priv;
+
+	priv = E_ACCOUNT_MANAGER_GET_PRIVATE (object);
+
+	if (priv->account_list != NULL) {
+		g_object_unref (priv->account_list);
+		priv->account_list = NULL;
+	}
+
+	if (priv->tree_view != NULL) {
+		g_object_unref (priv->tree_view);
+		priv->tree_view = NULL;
+	}
+
+	if (priv->add_button != NULL) {
+		g_object_unref (priv->add_button);
+		priv->add_button = NULL;
+	}
+
+	if (priv->edit_button != NULL) {
+		g_object_unref (priv->edit_button);
+		priv->edit_button = NULL;
+	}
+
+	if (priv->delete_button != NULL) {
+		g_object_unref (priv->delete_button);
+		priv->delete_button = NULL;
+	}
+
+	/* Chain up to parent's dispose() method. */
+	G_OBJECT_CLASS (parent_class)->dispose (object);
+}
+
+static void
+account_manager_class_init (EAccountManagerClass *class)
+{
+	GObjectClass *object_class;
+
+	parent_class = g_type_class_peek_parent (class);
+	g_type_class_add_private (class, sizeof (EAccountManagerPrivate));
+
+	object_class = G_OBJECT_CLASS (class);
+	object_class->set_property = account_manager_set_property;
+	object_class->get_property = account_manager_get_property;
+	object_class->dispose = account_manager_dispose;
+
+	/* XXX If we moved the account editor to /widgets/misc we
+	 *     could handle adding and editing accounts directly. */
+
+	g_object_class_install_property (
+		object_class,
+		PROP_ACCOUNT_LIST,
+		g_param_spec_object (
+			"account-list",
+			"Account List",
+			NULL,
+			E_TYPE_ACCOUNT_LIST,
+			G_PARAM_READWRITE |
+			G_PARAM_CONSTRUCT));
+
+	signals[ADD_ACCOUNT] = g_signal_new (
+		"add-account",
+		G_OBJECT_CLASS_TYPE (class),
+		G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+		G_STRUCT_OFFSET (EAccountManagerClass, add_account),
+		NULL, NULL,
+		g_cclosure_marshal_VOID__VOID,
+		G_TYPE_NONE, 0);
+
+	signals[EDIT_ACCOUNT] = g_signal_new (
+		"edit-account",
+		G_OBJECT_CLASS_TYPE (class),
+		G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+		G_STRUCT_OFFSET (EAccountManagerClass, edit_account),
+		NULL, NULL,
+		g_cclosure_marshal_VOID__VOID,
+		G_TYPE_NONE, 0);
+
+	signals[DELETE_ACCOUNT] = g_signal_new (
+		"delete-account",
+		G_OBJECT_CLASS_TYPE (class),
+		G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+		G_STRUCT_OFFSET (EAccountManagerClass, delete_account),
+		NULL, NULL,
+		g_cclosure_marshal_VOID__VOID,
+		G_TYPE_NONE, 0);
+}
+
+static void
+account_manager_init (EAccountManager *manager)
+{
+	GtkTreeSelection *selection;
+	GtkWidget *container;
+	GtkWidget *widget;
+
+	manager->priv = E_ACCOUNT_MANAGER_GET_PRIVATE (manager);
+
+	gtk_table_resize (GTK_TABLE (manager), 1, 2);
+	gtk_table_set_col_spacings (GTK_TABLE (manager), 6);
+	gtk_table_set_row_spacings (GTK_TABLE (manager), 12);
+
+	container = GTK_WIDGET (manager);
+
+	widget = gtk_scrolled_window_new (NULL, NULL);
+	gtk_scrolled_window_set_policy (
+		GTK_SCROLLED_WINDOW (widget),
+		GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+	gtk_scrolled_window_set_shadow_type (
+		GTK_SCROLLED_WINDOW (widget), GTK_SHADOW_IN);
+	gtk_table_attach (
+		GTK_TABLE (container), widget, 0, 1, 0, 1,
+		GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
+	gtk_widget_show (widget);
+
+	container = widget;
+
+	widget = e_account_tree_view_new ();
+	gtk_container_add (GTK_CONTAINER (container), widget);
+	manager->priv->tree_view = g_object_ref (widget);
+	gtk_widget_show (widget);
+
+	e_mutual_binding_new (
+		G_OBJECT (manager), "account-list",
+		G_OBJECT (widget), "account-list");
+
+	g_signal_connect_swapped (
+		widget, "key-press-event",
+		G_CALLBACK (account_manager_key_press_event_cb),
+		manager);
+
+	g_signal_connect_swapped (
+		widget, "row-activated",
+		G_CALLBACK (e_account_manager_edit_account),
+		manager);
+
+	selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget));
+
+	g_signal_connect_swapped (
+		selection, "changed",
+		G_CALLBACK (account_manager_selection_changed_cb),
+		manager);
+
+	container = GTK_WIDGET (manager);
+
+	widget = gtk_vbutton_box_new ();
+	gtk_button_box_set_layout (
+		GTK_BUTTON_BOX (widget), GTK_BUTTONBOX_START);
+	gtk_box_set_spacing (GTK_BOX (widget), 6);
+	gtk_table_attach (
+		GTK_TABLE (container), widget,
+		1, 2, 0, 2, 0, GTK_FILL, 0, 0);
+	gtk_widget_show (widget);
+
+	container = widget;
+
+	widget = gtk_button_new_from_stock (GTK_STOCK_ADD);
+	gtk_box_pack_start (GTK_BOX (container), widget, TRUE, TRUE, 0);
+	manager->priv->add_button = g_object_ref (widget);
+	gtk_widget_show (widget);
+
+	g_signal_connect_swapped (
+		widget, "clicked",
+		G_CALLBACK (e_account_manager_add_account), manager);
+
+	widget = gtk_button_new_from_stock (GTK_STOCK_EDIT);
+	gtk_box_pack_start (GTK_BOX (container), widget, TRUE, TRUE, 0);
+	manager->priv->edit_button = g_object_ref (widget);
+	gtk_widget_show (widget);
+
+	g_signal_connect_swapped (
+		widget, "clicked",
+		G_CALLBACK (e_account_manager_edit_account), manager);
+
+	widget = gtk_button_new_from_stock (GTK_STOCK_DELETE);
+	gtk_box_pack_start (GTK_BOX (container), widget, TRUE, TRUE, 0);
+	manager->priv->delete_button = g_object_ref (widget);
+	gtk_widget_show (widget);
+
+	g_signal_connect_swapped (
+		widget, "clicked",
+		G_CALLBACK (e_account_manager_delete_account), manager);
+
+	widget = gtk_button_new_with_mnemonic (_("De_fault"));
+	gtk_button_set_image (
+		GTK_BUTTON (widget), gtk_image_new_from_icon_name (
+		"emblem-default", GTK_ICON_SIZE_BUTTON));
+	gtk_box_pack_start (GTK_BOX (container), widget, TRUE, TRUE, 0);
+	manager->priv->default_button = g_object_ref (widget);
+	gtk_widget_show (widget);
+
+	g_signal_connect_swapped (
+		widget, "clicked",
+		G_CALLBACK (account_manager_default_clicked_cb), manager);
+}
+
+GType
+e_account_manager_get_type (void)
+{
+	static GType type = 0;
+
+	if (G_UNLIKELY (type == 0)) {
+		static const GTypeInfo type_info = {
+			sizeof (EAccountManagerClass),
+			(GBaseInitFunc) NULL,
+			(GBaseFinalizeFunc) NULL,
+			(GClassInitFunc) account_manager_class_init,
+			(GClassFinalizeFunc) NULL,
+			NULL,  /* class_init */
+			sizeof (EAccountManager),
+			0,     /* n_preallocs */
+			(GInstanceInitFunc) account_manager_init,
+			NULL   /* value_table */
+		};
+
+		type = g_type_register_static (
+			GTK_TYPE_TABLE, "EAccountManager", &type_info, 0);
+	}
+
+	return type;
+}
+
+GtkWidget *
+e_account_manager_new (EAccountList *account_list)
+{
+	g_return_val_if_fail (E_IS_ACCOUNT_LIST (account_list), NULL);
+
+	return g_object_new (
+		E_TYPE_ACCOUNT_MANAGER,
+		"account-list", account_list, NULL);
+}
+
+void
+e_account_manager_add_account (EAccountManager *manager)
+{
+	g_return_if_fail (E_IS_ACCOUNT_MANAGER (manager));
+
+	g_signal_emit (manager, signals[ADD_ACCOUNT], 0);
+}
+
+void
+e_account_manager_edit_account (EAccountManager *manager)
+{
+	g_return_if_fail (E_IS_ACCOUNT_MANAGER (manager));
+
+	g_signal_emit (manager, signals[EDIT_ACCOUNT], 0);
+}
+
+void
+e_account_manager_delete_account (EAccountManager *manager)
+{
+	g_return_if_fail (E_IS_ACCOUNT_MANAGER (manager));
+
+	g_signal_emit (manager, signals[DELETE_ACCOUNT], 0);
+}
+
+EAccountList *
+e_account_manager_get_account_list (EAccountManager *manager)
+{
+	g_return_val_if_fail (E_IS_ACCOUNT_MANAGER (manager), NULL);
+
+	return manager->priv->account_list;
+}
+
+void
+e_account_manager_set_account_list (EAccountManager *manager,
+                                    EAccountList *account_list)
+{
+	g_return_if_fail (E_IS_ACCOUNT_MANAGER (manager));
+
+	if (account_list != NULL) {
+		g_return_if_fail (E_IS_ACCOUNT_LIST (account_list));
+		g_object_ref (account_list);
+	}
+
+	if (manager->priv->account_list != NULL)
+		g_object_unref (manager->priv->account_list);
+
+	manager->priv->account_list = account_list;
+
+	g_object_notify (G_OBJECT (manager), "account-list");
+}
+
+EAccountTreeView *
+e_account_manager_get_tree_view (EAccountManager *manager)
+{
+	g_return_val_if_fail (E_IS_ACCOUNT_MANAGER (manager), NULL);
+
+	return E_ACCOUNT_TREE_VIEW (manager->priv->tree_view);
+}
diff --git a/widgets/misc/e-account-manager.h b/widgets/misc/e-account-manager.h
new file mode 100644
index 0000000..c714576
--- /dev/null
+++ b/widgets/misc/e-account-manager.h
@@ -0,0 +1,82 @@
+/*
+ * e-account-manager.h
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>  
+ *
+ *
+ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
+ *
+ */
+
+#ifndef E_ACCOUNT_MANAGER_H
+#define E_ACCOUNT_MANAGER_H
+
+#include <gtk/gtk.h>
+#include <libedataserver/e-account-list.h>
+#include <misc/e-account-tree-view.h>
+
+/* Standard GObject macros */
+#define E_TYPE_ACCOUNT_MANAGER \
+	(e_account_manager_get_type ())
+#define E_ACCOUNT_MANAGER(obj) \
+	(G_TYPE_CHECK_INSTANCE_CAST \
+	((obj), E_TYPE_ACCOUNT_MANAGER, EAccountManager))
+#define E_ACCOUNT_MANAGER_CLASS(cls) \
+	(G_TYPE_CHECK_CLASS_CAST \
+	((cls), E_TYPE_ACCOUNT_MANAGER, EAccountManagerClass))
+#define E_IS_ACCOUNT_MANAGER(obj) \
+	(G_TYPE_CHECK_INSTANCE_TYPE \
+	((obj), E_TYPE_ACCOUNT_MANAGER))
+#define E_IS_ACCOUNT_MANAGER_CLASS(cls) \
+	(G_TYPE_CHECK_CLASS_TYPE \
+	((cls), E_TYPE_ACCOUNT_MANAGER))
+#define E_ACCOUNT_MANAGER_GET_CLASS(obj) \
+	(G_TYPE_INSTANCE_GET_CLASS \
+	((obj), E_TYPE_ACCOUNT_MANAGER, EAccountManagerClass))
+
+G_BEGIN_DECLS
+
+typedef struct _EAccountManager EAccountManager;
+typedef struct _EAccountManagerClass EAccountManagerClass;
+typedef struct _EAccountManagerPrivate EAccountManagerPrivate;
+
+struct _EAccountManager {
+	GtkTable parent;
+	EAccountManagerPrivate *priv;
+};
+
+struct _EAccountManagerClass {
+	GtkTableClass parent_class;
+
+	void		(*add_account)		(EAccountManager *manager);
+	void		(*edit_account)		(EAccountManager *manager);
+	void		(*delete_account)	(EAccountManager *manager);
+};
+
+GType		e_account_manager_get_type	(void);
+GtkWidget *	e_account_manager_new		(EAccountList *account_list);
+void		e_account_manager_add_account	(EAccountManager *manager);
+void		e_account_manager_edit_account	(EAccountManager *manager);
+void		e_account_manager_delete_account(EAccountManager *manager);
+EAccountList *	e_account_manager_get_account_list
+						(EAccountManager *manager);
+void		e_account_manager_set_account_list
+						(EAccountManager *manager,
+						 EAccountList *account_list);
+EAccountTreeView *
+		e_account_manager_get_tree_view	(EAccountManager *manager);
+
+G_END_DECLS
+
+#endif /* E_ACCOUNT_MANAGER_H */
diff --git a/widgets/misc/e-account-tree-view.c b/widgets/misc/e-account-tree-view.c
new file mode 100644
index 0000000..9f2d33a
--- /dev/null
+++ b/widgets/misc/e-account-tree-view.c
@@ -0,0 +1,621 @@
+/*
+ * e-account-tree-view.c
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>  
+ *
+ *
+ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
+ *
+ */
+
+#include "e-account-tree-view.h"
+
+#include <glib/gi18n.h>
+#include <camel/camel-url.h>
+
+#define E_ACCOUNT_TREE_VIEW_GET_PRIVATE(obj) \
+	(G_TYPE_INSTANCE_GET_PRIVATE \
+	((obj), E_TYPE_ACCOUNT_TREE_VIEW, EAccountTreeViewPrivate))
+
+enum {
+	COLUMN_ACCOUNT,
+	COLUMN_DEFAULT,
+	COLUMN_ENABLED,
+	COLUMN_NAME,
+	COLUMN_PROTOCOL
+};
+
+enum {
+	PROP_0,
+	PROP_ACCOUNT_LIST,
+	PROP_SELECTED
+};
+
+enum {
+	ENABLE_ACCOUNT,
+	DISABLE_ACCOUNT,
+	REFRESHED,
+	LAST_SIGNAL
+};
+
+struct _EAccountTreeViewPrivate {
+	EAccountList *account_list;
+	GHashTable *index;
+};
+
+static gpointer parent_class;
+static guint signals[LAST_SIGNAL];
+
+static void
+account_tree_view_refresh_cb (EAccountList *account_list,
+                              EAccount *account,
+                              EAccountTreeView *tree_view)
+{
+	GtkListStore *store;
+	GtkTreeModel *model;
+	GtkTreeIter tree_iter;
+	EIterator *account_iter;
+	EAccount *default_account;
+	GHashTable *index;
+	GList *list = NULL;
+	GList *iter;
+
+	store = gtk_list_store_new (
+		5, E_TYPE_ACCOUNT, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN,
+		G_TYPE_STRING, G_TYPE_STRING);
+	model = GTK_TREE_MODEL (store);
+	index = tree_view->priv->index;
+
+	g_hash_table_remove_all (index);
+
+	if (account_list == NULL)
+		goto skip;
+
+	/* XXX EAccountList misuses const. */
+	default_account = (EAccount *)
+		e_account_list_get_default (account_list);
+
+	/* Build a list of EAccounts to display. */
+	account_iter = e_list_get_iterator (E_LIST (account_list));
+	while (e_iterator_is_valid (account_iter)) {
+
+		/* XXX EIterator misuses const. */
+		account = (EAccount *) e_iterator_get (account_iter);
+		list = g_list_prepend (list, account);
+		e_iterator_next (account_iter);
+	}
+	g_object_unref (account_iter);
+
+	list = g_list_reverse (list);
+
+	/* Populate the list store and index. */
+	for (iter = list; iter != NULL; iter = iter->next) {
+		GtkTreeRowReference *reference;
+		GtkTreePath *path;
+		CamelURL *url = NULL;
+		gboolean is_default;
+		const gchar *protocol;
+
+		account = iter->data;
+
+		/* Skip proxy accounts. */
+		if (account->parent_uid != NULL)
+			continue;
+
+		is_default = (account == default_account);
+
+		if (account->source != NULL && account->source->url != NULL)
+			url = camel_url_new (account->source->url, NULL);
+
+		if (url != NULL && url->protocol != NULL)
+			protocol = url->protocol;
+		else
+			protocol = _("None");
+
+		gtk_list_store_append (store, &tree_iter);
+		gtk_list_store_set (
+			store, &tree_iter,
+			COLUMN_ACCOUNT, account,
+			COLUMN_DEFAULT, is_default,
+			COLUMN_ENABLED, account->enabled,
+			COLUMN_NAME, account->name,
+			COLUMN_PROTOCOL, protocol, -1);
+
+		path = gtk_tree_model_get_path (model, &tree_iter);
+		reference = gtk_tree_row_reference_new (model, path);
+		g_hash_table_insert (index, account, reference);
+		gtk_tree_path_free (path);
+
+		if (url != NULL)
+			camel_url_free (url);
+	}
+
+skip:
+	/* Restore the previously selected account. */
+	account = e_account_tree_view_get_selected (tree_view);
+	if (account != NULL)
+		g_object_ref (account);
+	gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), model);
+	e_account_tree_view_set_selected (tree_view, account);
+	if (account != NULL)
+		g_object_unref (account);
+
+	g_signal_emit (tree_view, signals[REFRESHED], 0);
+}
+
+static void
+account_tree_view_enabled_toggled_cb (EAccountTreeView *tree_view,
+                                      gchar *path_string,
+                                      GtkCellRendererToggle *renderer)
+{
+	/* Change the selection first so we enable or disable the
+	 * correct account. */
+
+	if (gtk_cell_renderer_toggle_get_active (renderer))
+		e_account_tree_view_disable_account (tree_view);
+	else
+		e_account_tree_view_enable_account (tree_view);
+}
+
+static void
+account_tree_view_selection_changed_cb (EAccountTreeView *tree_view)
+{
+	g_object_notify (G_OBJECT (tree_view), "selected");
+}
+
+static GObject *
+account_tree_view_constructor (GType type,
+                               guint n_construct_properties,
+                               GObjectConstructParam *construct_properties)
+{
+	GObject *object;
+	GtkTreeView *tree_view;
+	GtkTreeViewColumn *column;
+	GtkCellRenderer *renderer;
+
+	/* Chain up to parent's constructor() method. */
+	object = G_OBJECT_CLASS (parent_class)->constructor (
+		type, n_construct_properties, construct_properties);
+
+	tree_view = GTK_TREE_VIEW (object);
+	gtk_tree_view_set_headers_visible (tree_view, TRUE);
+
+	/* Column: Enabled */
+
+	column = gtk_tree_view_column_new ();
+	gtk_tree_view_column_set_expand (column, FALSE);
+	gtk_tree_view_column_set_title (column, _("Enabled"));
+
+	renderer = gtk_cell_renderer_toggle_new ();
+	gtk_tree_view_column_pack_start (column, renderer, TRUE);
+
+	g_signal_connect_swapped (
+		renderer, "toggled",
+		G_CALLBACK (account_tree_view_enabled_toggled_cb),
+		tree_view);
+
+	gtk_tree_view_column_add_attribute (
+		column, renderer, "active", COLUMN_ENABLED);
+
+	gtk_tree_view_append_column (tree_view, column);
+
+	/* Column: Account Name */
+
+	column = gtk_tree_view_column_new ();
+	gtk_tree_view_column_set_expand (column, TRUE);
+	gtk_tree_view_column_set_title (column, _("Account Name"));
+
+	renderer = gtk_cell_renderer_text_new ();
+	g_object_set (renderer, "ellipsize", PANGO_ELLIPSIZE_END, NULL);
+	gtk_tree_view_column_pack_start (column, renderer, TRUE);
+
+	gtk_tree_view_column_add_attribute (
+		column, renderer, "text", COLUMN_NAME);
+
+	renderer = gtk_cell_renderer_text_new ();
+	g_object_set (renderer, "text", _("Default"), NULL);
+	gtk_tree_view_column_pack_end (column, renderer, FALSE);
+
+	gtk_tree_view_column_add_attribute (
+		column, renderer, "visible", COLUMN_DEFAULT);
+
+	renderer = gtk_cell_renderer_pixbuf_new ();
+	g_object_set (
+		renderer, "icon-name", "emblem-default",
+		"stock-size", GTK_ICON_SIZE_MENU, NULL);
+	gtk_tree_view_column_pack_end (column, renderer, FALSE);
+
+	gtk_tree_view_column_add_attribute (
+		column, renderer, "visible", COLUMN_DEFAULT);
+
+	gtk_tree_view_append_column (tree_view, column);
+
+	/* Column: Protocol */
+
+	column = gtk_tree_view_column_new ();
+	gtk_tree_view_column_set_expand (column, FALSE);
+	gtk_tree_view_column_set_title (column, _("Protocol"));
+
+	renderer = gtk_cell_renderer_text_new ();
+	gtk_tree_view_column_pack_start (column, renderer, TRUE);
+
+	gtk_tree_view_column_add_attribute (
+		column, renderer, "text", COLUMN_PROTOCOL);
+
+	gtk_tree_view_append_column (tree_view, column);
+
+	return object;
+}
+
+static void
+account_tree_view_set_property (GObject *object,
+                                guint property_id,
+                                const GValue *value,
+                                GParamSpec *pspec)
+{
+	switch (property_id) {
+		case PROP_ACCOUNT_LIST:
+			e_account_tree_view_set_account_list (
+				E_ACCOUNT_TREE_VIEW (object),
+				g_value_get_object (value));
+			return;
+
+		case PROP_SELECTED:
+			e_account_tree_view_set_selected (
+				E_ACCOUNT_TREE_VIEW (object),
+				g_value_get_object (value));
+			return;
+	}
+
+	G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+}
+
+static void
+account_tree_view_get_property (GObject *object,
+                                guint property_id,
+                                GValue *value,
+                                GParamSpec *pspec)
+{
+	switch (property_id) {
+		case PROP_ACCOUNT_LIST:
+			g_value_set_object (
+				value,
+				e_account_tree_view_get_account_list (
+				E_ACCOUNT_TREE_VIEW (object)));
+			return;
+
+		case PROP_SELECTED:
+			g_value_set_object (
+				value,
+				e_account_tree_view_get_selected (
+				E_ACCOUNT_TREE_VIEW (object)));
+			return;
+	}
+
+	G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+}
+
+static void
+account_tree_view_dispose (GObject *object)
+{
+	EAccountTreeViewPrivate *priv;
+
+	priv = E_ACCOUNT_TREE_VIEW_GET_PRIVATE (object);
+
+	if (priv->account_list != NULL) {
+		g_signal_handlers_disconnect_by_func (
+			priv->account_list,
+			account_tree_view_refresh_cb, object);
+		g_object_unref (priv->account_list);
+		priv->account_list = NULL;
+	}
+
+	g_hash_table_remove_all (priv->index);
+
+	/* Chain up to parent's dispose() method. */
+	G_OBJECT_CLASS (parent_class)->dispose (object);
+}
+
+static void
+account_tree_view_finalize (GObject *object)
+{
+	EAccountTreeViewPrivate *priv;
+
+	priv = E_ACCOUNT_TREE_VIEW_GET_PRIVATE (object);
+
+	g_hash_table_destroy (priv->index);
+
+	/* Chain up to parent's finalize() method. */
+	G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static void
+account_tree_view_enable_account (EAccountTreeView *tree_view)
+{
+	EAccountList *account_list;
+	EAccount *account;
+
+	account = e_account_tree_view_get_selected (tree_view);
+	if (account == NULL || account->enabled)
+		return;
+
+	account_list = e_account_tree_view_get_account_list (tree_view);
+	g_return_if_fail (account_list != NULL);
+
+	account->enabled = TRUE;
+	e_account_list_change (account_list, account);
+}
+
+static void
+account_tree_view_disable_account (EAccountTreeView *tree_view)
+{
+	EAccountList *account_list;
+	EAccount *account;
+
+	account = e_account_tree_view_get_selected (tree_view);
+	if (account == NULL || !account->enabled)
+		return;
+
+	account_list = e_account_tree_view_get_account_list (tree_view);
+	g_return_if_fail (account_list != NULL);
+
+	account->enabled = FALSE;
+	e_account_list_change (account_list, account);
+}
+
+static void
+account_tree_view_class_init (EAccountTreeViewClass *class)
+{
+	GObjectClass *object_class;
+
+	parent_class = g_type_class_peek_parent (class);
+	g_type_class_add_private (class, sizeof (EAccountTreeViewPrivate));
+
+	object_class = G_OBJECT_CLASS (class);
+	object_class->constructor = account_tree_view_constructor;
+	object_class->set_property = account_tree_view_set_property;
+	object_class->get_property = account_tree_view_get_property;
+	object_class->dispose = account_tree_view_dispose;
+	object_class->finalize = account_tree_view_finalize;
+
+	class->enable_account = account_tree_view_enable_account;
+	class->disable_account = account_tree_view_disable_account;
+
+	g_object_class_install_property (
+		object_class,
+		PROP_SELECTED,
+		g_param_spec_object (
+			"selected",
+			"Selected Account",
+			NULL,
+			E_TYPE_ACCOUNT,
+			G_PARAM_READWRITE));
+
+	g_object_class_install_property (
+		object_class,
+		PROP_ACCOUNT_LIST,
+		g_param_spec_object (
+			"account-list",
+			"Account List",
+			NULL,
+			E_TYPE_ACCOUNT_LIST,
+			G_PARAM_READWRITE |
+			G_PARAM_CONSTRUCT));
+
+	signals[ENABLE_ACCOUNT] = g_signal_new (
+		"enable-account",
+		G_TYPE_FROM_CLASS (class),
+		G_SIGNAL_RUN_LAST,
+		G_STRUCT_OFFSET (EAccountTreeViewClass, enable_account),
+		NULL, NULL,
+		g_cclosure_marshal_VOID__VOID,
+		G_TYPE_NONE, 0);
+
+	signals[DISABLE_ACCOUNT] = g_signal_new (
+		"disable-account",
+		G_TYPE_FROM_CLASS (class),
+		G_SIGNAL_RUN_LAST,
+		G_STRUCT_OFFSET (EAccountTreeViewClass, disable_account),
+		NULL, NULL,
+		g_cclosure_marshal_VOID__VOID,
+		G_TYPE_NONE, 0);
+
+	signals[REFRESHED] = g_signal_new (
+		"refreshed",
+		G_TYPE_FROM_CLASS (class),
+		G_SIGNAL_RUN_LAST,
+		G_STRUCT_OFFSET (EAccountTreeViewClass, refreshed),
+		NULL, NULL,
+		g_cclosure_marshal_VOID__VOID,
+		G_TYPE_NONE, 0);
+}
+
+static void
+account_tree_view_init (EAccountTreeView *tree_view)
+{
+	GHashTable *index;
+	GtkTreeSelection *selection;
+
+	/* Reverse-lookup index */
+	index = g_hash_table_new_full (
+		g_direct_hash, g_direct_equal,
+		(GDestroyNotify) g_object_unref,
+		(GDestroyNotify) gtk_tree_row_reference_free);
+
+	tree_view->priv = E_ACCOUNT_TREE_VIEW_GET_PRIVATE (tree_view);
+	tree_view->priv->index = index;
+
+	selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
+
+	g_signal_connect_swapped (
+		selection, "changed",
+		G_CALLBACK (account_tree_view_selection_changed_cb),
+		tree_view);
+}
+
+GType
+e_account_tree_view_get_type (void)
+{
+	static GType type = 0;
+
+	if (G_UNLIKELY (type == 0)) {
+		static const GTypeInfo type_info = {
+			sizeof (EAccountTreeViewClass),
+			(GBaseInitFunc) NULL,
+			(GBaseFinalizeFunc) NULL,
+			(GClassInitFunc) account_tree_view_class_init,
+			(GClassFinalizeFunc) NULL,
+			NULL,  /* class_data */
+			sizeof (EAccountTreeView),
+			0,     /* n_preallocs */
+			(GInstanceInitFunc) account_tree_view_init,
+			NULL   /* value_table */
+		};
+
+		type = g_type_register_static (
+			GTK_TYPE_TREE_VIEW, "EAccountTreeView",
+			&type_info, 0);
+	}
+
+	return type;
+}
+
+GtkWidget *
+e_account_tree_view_new (void)
+{
+	return g_object_new (E_TYPE_ACCOUNT_TREE_VIEW, NULL);
+}
+
+void
+e_account_tree_view_enable_account (EAccountTreeView *tree_view)
+{
+	g_return_if_fail (E_IS_ACCOUNT_TREE_VIEW (tree_view));
+
+	g_signal_emit (tree_view, signals[ENABLE_ACCOUNT], 0);
+}
+
+void
+e_account_tree_view_disable_account (EAccountTreeView *tree_view)
+{
+	g_return_if_fail (E_IS_ACCOUNT_TREE_VIEW (tree_view));
+
+	g_signal_emit (tree_view, signals[DISABLE_ACCOUNT], 0);
+}
+
+EAccountList *
+e_account_tree_view_get_account_list (EAccountTreeView *tree_view)
+{
+	g_return_val_if_fail (E_IS_ACCOUNT_TREE_VIEW (tree_view), NULL);
+
+	return tree_view->priv->account_list;
+}
+
+void
+e_account_tree_view_set_account_list (EAccountTreeView *tree_view,
+                                      EAccountList *account_list)
+{
+	EAccountTreeViewPrivate *priv;
+
+	g_return_if_fail (E_IS_ACCOUNT_TREE_VIEW (tree_view));
+
+	if (account_list != NULL)
+		g_return_if_fail (E_IS_ACCOUNT_LIST (account_list));
+
+	priv = E_ACCOUNT_TREE_VIEW_GET_PRIVATE (tree_view);
+
+	if (priv->account_list != NULL) {
+		g_signal_handlers_disconnect_by_func (
+			priv->account_list,
+			account_tree_view_refresh_cb, tree_view);
+		g_object_unref (priv->account_list);
+		priv->account_list = NULL;
+	}
+
+	if (account_list != NULL) {
+		priv->account_list = g_object_ref (account_list);
+
+		/* Listen for changes to the account list. */
+		g_signal_connect (
+			priv->account_list, "account-added",
+			G_CALLBACK (account_tree_view_refresh_cb),
+			tree_view);
+		g_signal_connect (
+			priv->account_list, "account-changed",
+			G_CALLBACK (account_tree_view_refresh_cb),
+			tree_view);
+		g_signal_connect (
+			priv->account_list, "account-removed",
+			G_CALLBACK (account_tree_view_refresh_cb),
+			tree_view);
+	}
+
+	account_tree_view_refresh_cb (account_list, NULL, tree_view);
+
+	g_object_notify (G_OBJECT (tree_view), "account-list");
+}
+
+EAccount *
+e_account_tree_view_get_selected (EAccountTreeView *tree_view)
+{
+	EAccount *account;
+	GtkTreeSelection *selection;
+	GtkTreeModel *model;
+	GtkTreeIter iter;
+
+	g_return_val_if_fail (E_IS_ACCOUNT_TREE_VIEW (tree_view), NULL);
+
+	selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
+	if (!gtk_tree_selection_get_selected (selection, &model, &iter))
+		return NULL;
+
+	gtk_tree_model_get (model, &iter, COLUMN_ACCOUNT, &account, -1);
+
+	return account;
+}
+
+gboolean
+e_account_tree_view_set_selected (EAccountTreeView *tree_view,
+                                  EAccount *account)
+{
+	GtkTreeRowReference *reference;
+	GtkTreeSelection *selection;
+	GtkTreePath *path;
+
+	g_return_val_if_fail (E_IS_ACCOUNT_TREE_VIEW (tree_view), FALSE);
+
+	if (account != NULL)
+		g_return_val_if_fail (E_IS_ACCOUNT (account), FALSE);
+
+	selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
+
+	/* NULL means clear the selection. */
+	if (account == NULL) {
+		gtk_tree_selection_unselect_all (selection);
+		return TRUE;
+	}
+
+	/* Lookup the tree row reference for the account. */
+	reference = g_hash_table_lookup (tree_view->priv->index, account);
+	if (reference == NULL)
+		return FALSE;
+
+	/* Select the referenced path. */
+	path = gtk_tree_row_reference_get_path (reference);
+	gtk_tree_selection_select_path (selection, path);
+	gtk_tree_path_free (path);
+
+	g_object_notify (G_OBJECT (tree_view), "selected");
+
+	return TRUE;
+}
diff --git a/widgets/misc/e-account-tree-view.h b/widgets/misc/e-account-tree-view.h
new file mode 100644
index 0000000..9d86a8f
--- /dev/null
+++ b/widgets/misc/e-account-tree-view.h
@@ -0,0 +1,84 @@
+/*
+ * e-account-tree-view.h
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>  
+ *
+ *
+ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
+ *
+ */
+
+#ifndef E_ACCOUNT_TREE_VIEW_H
+#define E_ACCOUNT_TREE_VIEW_H
+
+#include <gtk/gtk.h>
+#include <libedataserver/e-account.h>
+#include <libedataserver/e-account-list.h>
+
+/* Standard GObject macros */
+#define E_TYPE_ACCOUNT_TREE_VIEW \
+	(e_account_tree_view_get_type ())
+#define E_ACCOUNT_TREE_VIEW(obj) \
+	(G_TYPE_CHECK_INSTANCE_CAST \
+	((obj), E_TYPE_ACCOUNT_TREE_VIEW, EAccountTreeView))
+#define E_ACCOUNT_TREE_VIEW_CLASS(cls) \
+	(G_TYPE_CHECK_CLASS_CAST \
+	((cls), E_TYPE_ACCOUNT_TREE_VIEW, EAccountTreeViewClass))
+#define E_IS_ACCOUNT_TREE_VIEW(obj) \
+	(G_TYPE_CHECK_INSTANCE_TYPE \
+	((obj), E_TYPE_ACCOUNT_TREE_VIEW))
+#define E_IS_ACCOUNT_TREE_VIEW_CLASS(cls) \
+	(G_TYPE_CHECK_CLASS_TYPE \
+	((cls), E_TYPE_ACCOUNT_TREE_VIEW))
+#define E_ACCOUNT_TREE_VIEW_GET_CLASS(obj) \
+	(G_TYPE_INSTANCE_GET_CLASS \
+	((obj), E_TYPE_ACCOUNT_TREE_VIEW, EAccountTreeViewClass))
+
+G_BEGIN_DECLS
+
+typedef struct _EAccountTreeView EAccountTreeView;
+typedef struct _EAccountTreeViewClass EAccountTreeViewClass;
+typedef struct _EAccountTreeViewPrivate EAccountTreeViewPrivate;
+
+struct _EAccountTreeView {
+	GtkTreeView parent;
+	EAccountTreeViewPrivate *priv;
+};
+
+struct _EAccountTreeViewClass {
+	GtkTreeViewClass parent_class;
+
+	void		(*enable_account)	(EAccountTreeView *tree_view);
+	void		(*disable_account)	(EAccountTreeView *tree_view);
+	void		(*refreshed)		(EAccountTreeView *tree_view);
+};
+
+GType		e_account_tree_view_get_type	(void);
+GtkWidget *	e_account_tree_view_new		(void);
+void		e_account_tree_view_enable_account
+						(EAccountTreeView *tree_view);
+void		e_account_tree_view_disable_account
+						(EAccountTreeView *tree_view);
+EAccountList *	e_account_tree_view_get_account_list
+						(EAccountTreeView *tree_view);
+void		e_account_tree_view_set_account_list
+						(EAccountTreeView *tree_view,
+						 EAccountList *account_list);
+EAccount *	e_account_tree_view_get_selected(EAccountTreeView *tree_view);
+gboolean	e_account_tree_view_set_selected(EAccountTreeView *tree_view,
+						 EAccount *account);
+
+G_END_DECLS
+
+#endif /* E_ACCOUNT_TREE_VIEW_H */
diff --git a/widgets/misc/e-signature-manager.c b/widgets/misc/e-signature-manager.c
index 0c145e9..a602710 100644
--- a/widgets/misc/e-signature-manager.c
+++ b/widgets/misc/e-signature-manager.c
@@ -143,21 +143,21 @@ static void
 signature_manager_selection_changed_cb (ESignatureManager *manager,
                                         GtkTreeSelection *selection)
 {
+	ESignatureTreeView *tree_view;
+	ESignature *signature;
 	GtkWidget *edit_button;
 	GtkWidget *remove_button;
-	GtkTreeModel *model;
-	GtkTreeIter iter;
+	gboolean sensitive;
 
 	edit_button = manager->priv->edit_button;
 	remove_button = manager->priv->remove_button;
 
-	if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
-		gtk_widget_set_sensitive (edit_button, TRUE);
-		gtk_widget_set_sensitive (remove_button, TRUE);
-	} else {
-		gtk_widget_set_sensitive (edit_button, FALSE);
-		gtk_widget_set_sensitive (remove_button, FALSE);
-	}
+	tree_view = e_signature_manager_get_tree_view (manager);
+	signature = e_signature_tree_view_get_selected (tree_view);
+	sensitive = (signature != NULL);
+
+	gtk_widget_set_sensitive (edit_button, sensitive);
+	gtk_widget_set_sensitive (remove_button, sensitive);
 }
 
 static void
diff --git a/widgets/misc/e-signature-manager.h b/widgets/misc/e-signature-manager.h
index 6c182ba..f00ad14 100644
--- a/widgets/misc/e-signature-manager.h
+++ b/widgets/misc/e-signature-manager.h
@@ -24,8 +24,8 @@
 
 #include <gtk/gtk.h>
 #include <e-util/e-signature-list.h>
-#include <widgets/misc/e-signature-editor.h>
-#include <widgets/misc/e-signature-tree-view.h>
+#include <misc/e-signature-editor.h>
+#include <misc/e-signature-tree-view.h>
 
 /* Standard GObject macros */
 #define E_TYPE_SIGNATURE_MANAGER \



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