diff --git a/configure.ac b/configure.ac
index 90f8388..032e9b4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1688,9 +1688,6 @@ AC_SUBST(serverdir)
 extensiondir='${libdir}'/evolution-data-server-$API_VERSION/extensions
 AC_SUBST(extensiondir)
 
-uidir="$privdatadir/ui"
-AC_SUBST(uidir)
-
 if test $use_gweather = yes; then
 	weatherdatadir="$privdatadir/weather"
 	AC_SUBST(weatherdatadir)
diff --git a/libedataserverui/Makefile.am b/libedataserverui/Makefile.am
index 2d2852b..5e813b6 100644
--- a/libedataserverui/Makefile.am
+++ b/libedataserverui/Makefile.am
@@ -3,7 +3,6 @@ AM_CPPFLAGS =								\
 	-I$(top_srcdir)/addressbook					\
 	-I$(top_builddir)/addressbook					\
 	-DG_LOG_DOMAIN=\"e-data-server-ui\"				\
-	-DE_DATA_SERVER_UI_UIDIR=\""$(uidir)"\"			\
 	$(E_DATA_SERVER_UI_CFLAGS)
 
 # The marshallers
@@ -104,10 +103,7 @@ test_name_selector_LDADD =					\
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = libedataserverui-$(API_VERSION).pc
 
-ui_DATA = e-categories-dialog.ui e-name-selector-dialog.ui
-
 EXTRA_DIST = 						\
-	$(ui_DATA)					\
 	$(pkgconfig_DATA:-$(API_VERSION).pc=.pc.in)
 
 DISTCLEANFILES = $(pkgconfig_DATA)
diff --git a/libedataserverui/e-categories-dialog.c b/libedataserverui/e-categories-dialog.c
index c49656a..db33727 100644
--- a/libedataserverui/e-categories-dialog.c
+++ b/libedataserverui/e-categories-dialog.c
@@ -35,7 +35,6 @@
 	((obj), E_TYPE_CATEGORIES_DIALOG, ECategoriesDialogPrivate))
 
 struct _ECategoriesDialogPrivate {
-	GtkBuilder *gui;
 	GtkWidget *categories_entry;
 	GtkWidget *categories_list;
 	GtkWidget *new_button;
@@ -60,7 +59,6 @@ static gpointer parent_class;
 
 typedef struct {
 	ECategoriesDialog *parent;
-	GtkBuilder *gui;
 	GtkWidget *the_dialog;
 	GtkWidget *category_name;
 	GtkWidget *category_icon;
@@ -86,43 +84,77 @@ update_preview (GtkFileChooser *chooser, gpointer user_data)
 }
 
 static CategoryPropertiesDialog *
-load_properties_dialog (ECategoriesDialog *parent)
+create_properties_dialog (ECategoriesDialog *parent)
 {
 	CategoryPropertiesDialog *prop_dialog;
-	gchar *ui_to_load[] = { "properties-dialog", NULL };
-	gchar *uifile;
-	GError *error = NULL;
+	GtkWidget *properties_dialog;
+	GtkWidget *dialog_content;
+	GtkWidget *dialog_action_area;
+	GtkWidget *table_category_properties;
+	GtkWidget *label4;
+	GtkWidget *label6;
+	GtkWidget *category_name;
+	GtkWidget *category_icon;
+	GtkWidget *cancelbutton1;
+	GtkWidget *okbutton1;
 
-	prop_dialog = g_new0 (CategoryPropertiesDialog, 1);
+	properties_dialog = gtk_dialog_new ();
+	gtk_window_set_title (GTK_WINDOW (properties_dialog), _("Category Properties"));
+	gtk_window_set_type_hint (GTK_WINDOW (properties_dialog), GDK_WINDOW_TYPE_HINT_DIALOG);
 
-	uifile = g_build_filename (E_DATA_SERVER_UI_UIDIR,
-				      "e-categories-dialog.ui",
-				      NULL);
-	prop_dialog->gui = gtk_builder_new ();
-	gtk_builder_set_translation_domain (prop_dialog->gui, GETTEXT_PACKAGE);
-	
-	if (!gtk_builder_add_objects_from_file (prop_dialog->gui, uifile, ui_to_load, &error)) {
-		g_object_unref (prop_dialog->gui);
-		g_free (prop_dialog);
-		g_free (uifile);
+	dialog_content = gtk_dialog_get_content_area (GTK_DIALOG (properties_dialog));
 
-		g_warning ("%s: Failed to load e-categories-dialog.ui, %s", G_STRFUNC, error ? error->message : "Unknown error");
+	table_category_properties = gtk_table_new (3, 2, FALSE);
+	gtk_box_pack_start (GTK_BOX (dialog_content), table_category_properties, TRUE, TRUE, 0);
+	gtk_container_set_border_width (GTK_CONTAINER (table_category_properties), 12);
+	gtk_table_set_row_spacings (GTK_TABLE (table_category_properties), 6);
+	gtk_table_set_col_spacings (GTK_TABLE (table_category_properties), 6);
 
-		if (error)
-			g_error_free (error);
+	label4 = gtk_label_new_with_mnemonic (_("Category _Name"));
+	gtk_table_attach (GTK_TABLE (table_category_properties), label4, 0, 1, 0, 1,
+			  (GtkAttachOptions) (GTK_FILL),
+			  (GtkAttachOptions) (0), 0, 0);
+	gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5);
 
-		return NULL;
-	}
+	label6 = gtk_label_new_with_mnemonic (_("Category _Icon"));
+	gtk_table_attach (GTK_TABLE (table_category_properties), label6, 0, 1, 2, 3,
+			  (GtkAttachOptions) (GTK_FILL),
+			  (GtkAttachOptions) (0), 0, 0);
+	gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5);
+
+	category_name = gtk_entry_new ();
+	gtk_table_attach (GTK_TABLE (table_category_properties), category_name, 1, 2, 0, 1,
+			  (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL),
+			  (GtkAttachOptions) (0), 0, 0);
+
+	category_icon = gtk_file_chooser_button_new (_("Category Icon"), GTK_FILE_CHOOSER_ACTION_OPEN);
+	gtk_table_attach (GTK_TABLE (table_category_properties), category_icon, 1, 2, 2, 3,
+			  (GtkAttachOptions) (GTK_FILL),
+			  (GtkAttachOptions) (GTK_FILL), 0, 0);
+
+	dialog_action_area = gtk_dialog_get_action_area (GTK_DIALOG (properties_dialog));
+	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area), GTK_BUTTONBOX_END);
 
-	g_free (uifile);
+	cancelbutton1 = gtk_button_new_from_stock ("gtk-cancel");
+	gtk_dialog_add_action_widget (GTK_DIALOG (properties_dialog), cancelbutton1, GTK_RESPONSE_CANCEL);
+	GTK_WIDGET_SET_FLAGS (cancelbutton1, GTK_CAN_DEFAULT);
 
+	okbutton1 = gtk_button_new_from_stock ("gtk-ok");
+	gtk_dialog_add_action_widget (GTK_DIALOG (properties_dialog), okbutton1, GTK_RESPONSE_OK);
+	GTK_WIDGET_SET_FLAGS (okbutton1, GTK_CAN_DEFAULT);
+
+	gtk_label_set_mnemonic_widget (GTK_LABEL (label4), category_name);
+
+	gtk_widget_show_all (dialog_content);
+
+	prop_dialog = g_new0 (CategoryPropertiesDialog, 1);
 	prop_dialog->parent = parent;
 
-	prop_dialog->the_dialog = GTK_WIDGET (gtk_builder_get_object (prop_dialog->gui, "properties-dialog"));
+	prop_dialog->the_dialog = properties_dialog;
 	gtk_window_set_transient_for (GTK_WINDOW (prop_dialog->the_dialog), GTK_WINDOW (parent));
 
-	prop_dialog->category_name = GTK_WIDGET (gtk_builder_get_object (prop_dialog->gui, "category-name"));
-	prop_dialog->category_icon = GTK_WIDGET (gtk_builder_get_object (prop_dialog->gui, "category-icon"));
+	prop_dialog->category_name = category_name;
+	prop_dialog->category_icon = category_icon;
 
 	if (prop_dialog->category_icon) {
 		GtkFileChooser *chooser = GTK_FILE_CHOOSER (prop_dialog->category_icon);
@@ -150,11 +182,6 @@ free_properties_dialog (CategoryPropertiesDialog *prop_dialog)
 		prop_dialog->the_dialog = NULL;
 	}
 
-	if (prop_dialog->gui) {
-		g_object_unref (prop_dialog->gui);
-		prop_dialog->gui = NULL;
-	}
-
 	g_free (prop_dialog);
 }
 
@@ -317,7 +344,7 @@ new_button_clicked_cb (GtkButton *button, gpointer user_data)
 
 	dialog = user_data;
 
-	prop_dialog = load_properties_dialog (dialog);
+	prop_dialog = create_properties_dialog (dialog);
 	if (!prop_dialog)
 		return;
 
@@ -383,7 +410,7 @@ edit_button_clicked_cb (GtkButton *button, gpointer user_data)
 	g_return_if_fail (g_list_length (selected) == 1);
 
 	/* load the properties dialog */
-	prop_dialog = load_properties_dialog (dialog);
+	prop_dialog = create_properties_dialog (dialog);
 	if (!prop_dialog)
 		return;
 
@@ -513,11 +540,6 @@ categories_dialog_dispose (GObject *object)
 
 	priv = E_CATEGORIES_DIALOG_GET_PRIVATE (object);
 
-	if (priv->gui != NULL) {
-		g_object_unref (priv->gui);
-		priv->gui = NULL;
-	}
-
 	g_hash_table_remove_all (priv->selected_categories);
 
 	/* Chain up to parent's dispose() method. */
@@ -561,44 +583,99 @@ categories_dialog_init (ECategoriesDialog *dialog)
 	GtkTreeViewColumn *column;
 	GtkTreeSelection *selection;
 	GtkTreeView *tree_view;
-	GtkWidget *main_widget;
-	GtkWidget *content_area;
-	gchar *uifile;
-	gchar *ui_to_load[] = {"table-categories", NULL};
-	GError *error = NULL;
+	GtkWidget *dialog_content;
+	GtkWidget *table_categories;
+	GtkWidget *entry_categories;
+	GtkWidget *label_header;
+	GtkWidget *label2;
+	GtkWidget *scrolledwindow1;
+	GtkWidget *categories_list;
+	GtkWidget *hbuttonbox1;
+	GtkWidget *button_new;
+	GtkWidget *button_edit;
+	GtkWidget *alignment1;
+	GtkWidget *hbox1;
+	GtkWidget *image1;
+	GtkWidget *label3;
+	GtkWidget *button_delete;
+
+	dialog_content = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
+
+	table_categories = gtk_table_new (5, 1, FALSE);
+	gtk_box_pack_start (GTK_BOX (dialog_content), table_categories, TRUE, TRUE, 0);
+	gtk_container_set_border_width (GTK_CONTAINER (table_categories), 12);
+	gtk_table_set_row_spacings (GTK_TABLE (table_categories), 6);
+	gtk_table_set_col_spacings (GTK_TABLE (table_categories), 6);
+
+	entry_categories = gtk_entry_new ();
+	gtk_table_attach (GTK_TABLE (table_categories), entry_categories, 0, 1, 1, 2,
+			  (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+			  (GtkAttachOptions) (0), 0, 0);
+
+	label_header = gtk_label_new_with_mnemonic (_("Item(s) belong to these _categories:"));
+	gtk_table_attach (GTK_TABLE (table_categories), label_header, 0, 1, 0, 1,
+			  (GtkAttachOptions) (GTK_FILL),
+			  (GtkAttachOptions) (0), 0, 0);
+	gtk_label_set_justify (GTK_LABEL (label_header), GTK_JUSTIFY_CENTER);
+	gtk_misc_set_alignment (GTK_MISC (label_header), 0, 0.5);
+
+	label2 = gtk_label_new_with_mnemonic (_("_Available Categories:"));
+	gtk_table_attach (GTK_TABLE (table_categories), label2, 0, 1, 2, 3,
+			  (GtkAttachOptions) (GTK_FILL),
+			  (GtkAttachOptions) (0), 0, 0);
+	gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_CENTER);
+	gtk_misc_set_alignment (GTK_MISC (label2), 0, 0.5);
+
+	scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
+	gtk_table_attach (GTK_TABLE (table_categories), scrolledwindow1, 0, 1, 3, 4,
+			  (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL),
+			  (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 0);
+	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+	gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_SHADOW_IN);
+
+	categories_list = gtk_tree_view_new ();
+	gtk_container_add (GTK_CONTAINER (scrolledwindow1), categories_list);
+	gtk_widget_set_size_request (categories_list, -1, 350);
+	gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (categories_list), FALSE);
+	gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (categories_list), TRUE);
+
+	hbuttonbox1 = gtk_hbutton_box_new ();
+	gtk_table_attach (GTK_TABLE (table_categories), hbuttonbox1, 0, 1, 4, 5,
+			  (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL),
+			  (GtkAttachOptions) (GTK_SHRINK), 0, 0);
+	gtk_box_set_spacing (GTK_BOX (hbuttonbox1), 6);
+
+	button_new = gtk_button_new_from_stock ("gtk-new");
+	gtk_container_add (GTK_CONTAINER (hbuttonbox1), button_new);
+	GTK_WIDGET_SET_FLAGS (button_new, GTK_CAN_DEFAULT);
+
+	button_edit = gtk_button_new ();
+	gtk_container_add (GTK_CONTAINER (hbuttonbox1), button_edit);
+	GTK_WIDGET_SET_FLAGS (button_edit, GTK_CAN_DEFAULT);
+
+	alignment1 = gtk_alignment_new (0.5, 0.5, 0, 0);
+	gtk_container_add (GTK_CONTAINER (button_edit), alignment1);
+
+	hbox1 = gtk_hbox_new (FALSE, 2);
+	gtk_container_add (GTK_CONTAINER (alignment1), hbox1);
+
+	image1 = gtk_image_new_from_stock ("gtk-properties", GTK_ICON_SIZE_BUTTON);
+	gtk_box_pack_start (GTK_BOX (hbox1), image1, FALSE, FALSE, 0);
+
+	label3 = gtk_label_new_with_mnemonic (_("_Edit"));
+	gtk_box_pack_start (GTK_BOX (hbox1), label3, FALSE, FALSE, 0);
+
+	button_delete = gtk_button_new_from_stock ("gtk-delete");
+	gtk_container_add (GTK_CONTAINER (hbuttonbox1), button_delete);
+	GTK_WIDGET_SET_FLAGS (button_delete, GTK_CAN_DEFAULT);
+
+	gtk_label_set_mnemonic_widget (GTK_LABEL (label_header), entry_categories);
 
 	dialog->priv = E_CATEGORIES_DIALOG_GET_PRIVATE (dialog);
 	dialog->priv->selected_categories = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
 
-	/* load the UI from our UI file */
-	uifile = g_build_filename (E_DATA_SERVER_UI_UIDIR,
-				      "e-categories-dialog.ui",
-				      NULL);
-	dialog->priv->gui = gtk_builder_new ();
-	gtk_builder_set_translation_domain (dialog->priv->gui, GETTEXT_PACKAGE);
-
-	if (!gtk_builder_add_objects_from_file (dialog->priv->gui, uifile, ui_to_load, &error)) {
-		g_free (uifile);
-		g_object_unref (dialog->priv->gui);
-		dialog->priv->gui = NULL;
-
-		g_warning ("%s: can't load e-categories-dialog.ui file, %s", G_STRFUNC, error ? error->message : "Unknown error");
-
-		if (error)
-			g_error_free (error);
-
-		return;
-	}
-
-	g_free (uifile);
-
-	content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
-
-	main_widget = GTK_WIDGET (gtk_builder_get_object (dialog->priv->gui, "table-categories"));
-	gtk_box_pack_start (GTK_BOX (content_area), main_widget, TRUE, TRUE, 0);
-
-	dialog->priv->categories_entry = GTK_WIDGET (gtk_builder_get_object (dialog->priv->gui, "entry-categories"));
-	dialog->priv->categories_list = GTK_WIDGET (gtk_builder_get_object (dialog->priv->gui, "categories-list"));
+	dialog->priv->categories_entry = entry_categories;
+	dialog->priv->categories_list = categories_list;
 
 	tree_view = GTK_TREE_VIEW (dialog->priv->categories_list);
 	selection = gtk_tree_view_get_selection (tree_view);
@@ -616,11 +693,11 @@ categories_dialog_init (ECategoriesDialog *dialog)
 	gtk_entry_set_completion (GTK_ENTRY (dialog->priv->categories_entry), completion);
 	g_object_unref (completion);
 
-	dialog->priv->new_button = GTK_WIDGET (gtk_builder_get_object (dialog->priv->gui, "button-new"));
+	dialog->priv->new_button = button_new;
 	g_signal_connect (G_OBJECT (dialog->priv->new_button), "clicked", G_CALLBACK (new_button_clicked_cb), dialog);
-	dialog->priv->edit_button = GTK_WIDGET (gtk_builder_get_object (dialog->priv->gui, "button-edit"));
+	dialog->priv->edit_button = button_edit;
 	g_signal_connect (G_OBJECT (dialog->priv->edit_button), "clicked", G_CALLBACK (edit_button_clicked_cb), dialog);
-	dialog->priv->delete_button = GTK_WIDGET (gtk_builder_get_object (dialog->priv->gui, "button-delete"));
+	dialog->priv->delete_button = button_delete;
 	g_signal_connect_swapped (
 		G_OBJECT (dialog->priv->delete_button), "clicked",
 		G_CALLBACK (categories_dialog_delete_cb), dialog);
@@ -631,6 +708,8 @@ categories_dialog_init (ECategoriesDialog *dialog)
 	gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), GTK_RESPONSE_OK, FALSE);
 	gtk_window_set_title (GTK_WINDOW (dialog), _("Categories"));
 
+	gtk_widget_show_all (dialog_content);
+
 	renderer = gtk_cell_renderer_toggle_new ();
 	g_signal_connect (G_OBJECT (renderer), "toggled", G_CALLBACK (category_toggled_cb), dialog);
 	column = gtk_tree_view_column_new_with_attributes ("?", renderer,
diff --git a/libedataserverui/e-categories-dialog.ui b/libedataserverui/e-categories-dialog.ui
deleted file mode 100644
index 7af5114..0000000
--- a/libedataserverui/e-categories-dialog.ui
+++ /dev/null
@@ -1,439 +0,0 @@
-<?xml version="1.0"?>
-<!--*- mode: xml -*-->
-<interface>
-  <object class="GtkDialog" id="categories-dialog">
-    <property name="title" translatable="yes">categories</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="has_separator">False</property>
-    <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox1">
-        <property name="visible">True</property>
-        <property name="homogeneous">False</property>
-        <property name="spacing">6</property>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area1">
-            <property name="visible">True</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
-            <child>
-              <object class="GtkButton" id="button3">
-                <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>
-              </object>
-            </child>
-            <child>
-              <object 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-cancel</property>
-                <property name="use_stock">True</property>
-                <property name="relief">GTK_RELIEF_NORMAL</property>
-                <property name="focus_on_click">True</property>
-              </object>
-            </child>
-          </object>
-          <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>
-          <object class="GtkTable" id="table-categories">
-            <property name="border_width">12</property>
-            <property name="visible">True</property>
-            <property name="n_rows">5</property>
-            <property name="n_columns">1</property>
-            <property name="homogeneous">False</property>
-            <property name="row_spacing">6</property>
-            <property name="column_spacing">6</property>
-            <child>
-              <object class="GtkEntry" id="entry-categories">
-                <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 name="has_frame">True</property>
-                <property name="invisible_char">*</property>
-                <property name="activates_default">False</property>
-              </object>
-              <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="y_options"/>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label-header">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">Item(s) belong to these _categories:</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">entry-categories</property>
-              </object>
-              <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"/>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label2">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">_Available Categories:</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>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="right_attach">1</property>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">fill</property>
-                <property name="y_options"/>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkScrolledWindow" id="scrolledwindow1">
-                <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="window_placement">GTK_CORNER_TOP_LEFT</property>
-                <child>
-                  <object class="GtkTreeView" id="categories-list">
-                    <property name="height_request">350</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="headers_visible">False</property>
-                    <property name="rules_hint">True</property>
-                    <property name="reorderable">False</property>
-                    <property name="enable_search">True</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="right_attach">1</property>
-                <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">expand|shrink|fill</property>
-                <property name="y_options">expand|shrink|fill</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkHButtonBox" id="hbuttonbox1">
-                <property name="visible">True</property>
-                <property name="layout_style">GTK_BUTTONBOX_DEFAULT_STYLE</property>
-                <property name="spacing">6</property>
-                <child>
-                  <object class="GtkButton" id="button-new">
-                    <property name="visible">True</property>
-                    <property name="can_default">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="label">gtk-new</property>
-                    <property name="use_stock">True</property>
-                    <property name="relief">GTK_RELIEF_NORMAL</property>
-                    <property name="focus_on_click">True</property>
-                  </object>
-                </child>
-                <child>
-                  <object class="GtkButton" id="button-edit">
-                    <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>
-                    <child>
-                      <object 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>
-                          <object class="GtkHBox" id="hbox1">
-                            <property name="visible">True</property>
-                            <property name="homogeneous">False</property>
-                            <property name="spacing">2</property>
-                            <child>
-                              <object class="GtkImage" id="image1">
-                                <property name="visible">True</property>
-                                <property name="stock">gtk-properties</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>
-                              </object>
-                              <packing>
-                                <property name="padding">0</property>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label3">
-                                <property name="visible">True</property>
-                                <property name="label" translatable="yes">_Edit</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>
-                              </object>
-                              <packing>
-                                <property name="padding">0</property>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                              </packing>
-                            </child>
-                          </object>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                </child>
-                <child>
-                  <object class="GtkButton" id="button-delete">
-                    <property name="visible">True</property>
-                    <property name="can_default">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="label">gtk-delete</property>
-                    <property name="use_stock">True</property>
-                    <property name="relief">GTK_RELIEF_NORMAL</property>
-                    <property name="focus_on_click">True</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="right_attach">1</property>
-                <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">expand|shrink|fill</property>
-                <property name="y_options">shrink</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="padding">0</property>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="0">button3</action-widget>
-      <action-widget response="0">button4</action-widget>
-    </action-widgets>
-  </object>
-  <object class="GtkDialog" id="properties-dialog">
-    <property name="visible">True</property>
-    <property name="title" translatable="yes">Category Properties</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="has_separator">True</property>
-    <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox2">
-        <property name="visible">True</property>
-        <property name="homogeneous">False</property>
-        <property name="spacing">0</property>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area2">
-            <property name="visible">True</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
-            <child>
-              <object class="GtkButton" id="cancelbutton1">
-                <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>
-              </object>
-            </child>
-            <child>
-              <object 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>
-              </object>
-            </child>
-          </object>
-          <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>
-          <object class="GtkTable" id="table-category-properties">
-            <property name="border_width">12</property>
-            <property name="visible">True</property>
-            <property name="n_rows">3</property>
-            <property name="n_columns">2</property>
-            <property name="homogeneous">False</property>
-            <property name="row_spacing">6</property>
-            <property name="column_spacing">6</property>
-            <child>
-              <object class="GtkLabel" id="label4">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">Category _Name</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</property>
-                <property name="yalign">0.5</property>
-                <property name="xpad">0</property>
-                <property name="ypad">0</property>
-                <property name="mnemonic_widget">category-name</property>
-              </object>
-              <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"/>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label6">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">Category _Icon</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</property>
-                <property name="yalign">0.5</property>
-                <property name="xpad">0</property>
-                <property name="ypad">0</property>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="right_attach">1</property>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">fill</property>
-                <property name="y_options"/>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkEntry" id="category-name">
-                <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 name="has_frame">True</property>
-                <property name="invisible_char">*</property>
-                <property name="activates_default">False</property>
-              </object>
-              <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="x_options">expand|shrink|fill</property>
-                <property name="y_options"/>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkFileChooserButton" id="category-icon">
-                <property name="visible">True</property>
-                <property name="title" translatable="yes">Category Icon</property>
-                <property name="action">GTK_FILE_CHOOSER_ACTION_OPEN</property>
-                <property name="local_only">True</property>
-                <property name="show_hidden">False</property>
-                <property name="width_chars">-1</property>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">fill</property>
-                <property name="y_options">fill</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="padding">0</property>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="-6">cancelbutton1</action-widget>
-      <action-widget response="-5">okbutton1</action-widget>
-    </action-widgets>
-  </object>
-</interface>
diff --git a/libedataserverui/e-name-selector-dialog.c b/libedataserverui/e-name-selector-dialog.c
index 620fe7a..3ab4222 100644
--- a/libedataserverui/e-name-selector-dialog.c
+++ b/libedataserverui/e-name-selector-dialog.c
@@ -55,6 +55,19 @@ typedef struct {
 typedef struct _ENameSelectorDialogPrivate	ENameSelectorDialogPrivate;
 struct _ENameSelectorDialogPrivate
 {
+	EBook              *pending_book;
+	ENameSelectorModel *name_selector_model;
+	GtkTreeModelSort   *contact_sort;
+
+	GtkTreeView        *contact_view;
+	GtkLabel           *status_label;
+	GtkBox             *destination_box;
+	GtkEntry           *search_entry;
+	GtkSizeGroup       *button_size_group;
+	GtkWidget          *category_combobox;
+
+	GArray             *sections;
+
 	guint destination_index;
 	GSList *user_query_fields;
 };
@@ -102,12 +115,12 @@ e_name_selector_dialog_set_property (GObject *object, guint prop_id,
 static void
 e_name_selector_dialog_populate_categories (ENameSelectorDialog *name_selector_dialog)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	GtkWidget *combo_box;
 	GList *category_list, *iter;
 
 	/* "Any Category" is preloaded. */
-	combo_box = GTK_WIDGET (gtk_builder_get_object (
-		name_selector_dialog->gui, "combobox-category"));
+	combo_box = priv->category_combobox;
 	if (gtk_combo_box_get_active (GTK_COMBO_BOX (combo_box)) == -1)
 		gtk_combo_box_set_active (GTK_COMBO_BOX (combo_box), 0);
 
@@ -126,91 +139,201 @@ e_name_selector_dialog_populate_categories (ENameSelectorDialog *name_selector_d
 static void
 e_name_selector_dialog_init (ENameSelectorDialog *name_selector_dialog)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	GtkTreeSelection  *contact_selection;
 	GtkTreeViewColumn *column;
 	GtkCellRenderer   *cell_renderer;
-	GtkWidget         *widget;
-	GtkWidget         *container;
-	GtkWidget         *content_area;
-	GtkWidget	  *label;
-	GtkWidget         *parent;
 	GtkTreeSelection  *selection;
 	ESourceList       *source_list;
-	gchar             *uifile;
 	GConfClient *gconf_client;
-	gchar *uid;
-	GError *error = NULL;
+	gchar *uid, *tmp_str;
+	GtkWidget *name_selector_box;
+	GtkWidget *label33;
+	GtkWidget *hbox2;
+	GtkWidget *label35;
+	GtkWidget *show_contacts_table;
+	GtkWidget *AddressBookLabel;
+	GtkWidget *label31;
+	GtkWidget *hbox1;
+	GtkWidget *search;
+	AtkObject *atko;
+	GtkWidget *label39;
+	GtkWidget *source_menu_box;
+	GtkWidget *combobox_category;
+	GtkWidget *label37;
+	GtkWidget *label36;
+	GtkWidget *hbox3;
+	GtkWidget *label38;
+	GtkWidget *scrolledwindow1;
+	AtkRelationSet *tmp_relation_set;
+	AtkRelationType tmp_relationship;
+	AtkRelation *tmp_relation;
+	AtkObject *scrolledwindow1_relation_targets[1];
+	GtkWidget *source_tree_view;
+	GtkWidget *destination_box;
+	GtkWidget *status_message;
+	GtkWidget *source_combo;
 
-	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	priv->destination_index = 0;
 	priv->user_query_fields = NULL;
 
-	/* Get GtkBuilder GUI */
-	uifile = g_build_filename (E_DATA_SERVER_UI_UIDIR,
-				"e-name-selector-dialog.ui",
-				NULL);
-	name_selector_dialog->gui = gtk_builder_new ();
-	gtk_builder_set_translation_domain (name_selector_dialog->gui, GETTEXT_PACKAGE);
-
-	if (!gtk_builder_add_from_file (name_selector_dialog->gui, uifile, &error)) {
-		g_free (uifile);
-		g_object_unref (name_selector_dialog->gui);
-		name_selector_dialog->gui = NULL;
-
-		g_warning ("%s: Cannot load e-name-selector-dialog.ui file, %s", G_STRFUNC, error ? error->message : "Unknown error");
-
-		if (error)
-			g_error_free (error);
-
-		return;
-	}
-
-	g_free (uifile);
-
-	widget = GTK_WIDGET (gtk_builder_get_object (name_selector_dialog->gui, "name-selector-box"));
-	if (!widget) {
-		g_warning ("%s: Cannot load e-name-selector-dialog.ui file", G_STRFUNC);
-		g_object_unref (name_selector_dialog->gui);
-		name_selector_dialog->gui = NULL;
-		return;
-	}
+	name_selector_box = gtk_vbox_new (FALSE, 6);
+	gtk_widget_show (name_selector_box);
+	gtk_container_set_border_width (GTK_CONTAINER (name_selector_box), 4);
+
+	tmp_str = g_strconcat ("<b>", _("Show Contacts"), "</b>", NULL);
+	label33 = gtk_label_new (tmp_str);
+	gtk_widget_show (label33);
+	gtk_box_pack_start (GTK_BOX (name_selector_box), label33, FALSE, FALSE, 0);
+	gtk_label_set_use_markup (GTK_LABEL (label33), TRUE);
+	gtk_misc_set_alignment (GTK_MISC (label33), 0, 0.5);
+	g_free (tmp_str);
+
+	hbox2 = gtk_hbox_new (FALSE, 12);
+	gtk_widget_show (hbox2);
+	gtk_box_pack_start (GTK_BOX (name_selector_box), hbox2, FALSE, FALSE, 0);
+
+	label35 = gtk_label_new ("");
+	gtk_widget_show (label35);
+	gtk_box_pack_start (GTK_BOX (hbox2), label35, FALSE, FALSE, 0);
+
+	show_contacts_table = gtk_table_new (3, 2, FALSE);
+	gtk_widget_show (show_contacts_table);
+	gtk_box_pack_start (GTK_BOX (hbox2), show_contacts_table, TRUE, TRUE, 0);
+	gtk_table_set_row_spacings (GTK_TABLE (show_contacts_table), 6);
+	gtk_table_set_col_spacings (GTK_TABLE (show_contacts_table), 12);
+
+	AddressBookLabel = gtk_label_new_with_mnemonic (_("Address B_ook:"));
+	gtk_widget_show (AddressBookLabel);
+	gtk_table_attach (GTK_TABLE (show_contacts_table), AddressBookLabel, 0, 1, 0, 1,
+			  (GtkAttachOptions) (GTK_FILL),
+			  (GtkAttachOptions) (0), 0, 0);
+	gtk_label_set_justify (GTK_LABEL (AddressBookLabel), GTK_JUSTIFY_CENTER);
+	gtk_misc_set_alignment (GTK_MISC (AddressBookLabel), 0, 0.5);
+
+	label31 = gtk_label_new_with_mnemonic (_("Cate_gory:"));
+	gtk_widget_show (label31);
+	gtk_table_attach (GTK_TABLE (show_contacts_table), label31, 0, 1, 1, 2,
+			  (GtkAttachOptions) (GTK_FILL),
+			  (GtkAttachOptions) (0), 0, 0);
+	gtk_label_set_justify (GTK_LABEL (label31), GTK_JUSTIFY_CENTER);
+	gtk_misc_set_alignment (GTK_MISC (label31), 0, 0.5);
+
+	hbox1 = gtk_hbox_new (FALSE, 12);
+	gtk_widget_show (hbox1);
+	gtk_table_attach (GTK_TABLE (show_contacts_table), hbox1, 1, 2, 2, 3,
+			  (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+			  (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
+
+	search = gtk_entry_new ();
+	gtk_widget_show (search);
+	gtk_box_pack_start (GTK_BOX (hbox1), search, TRUE, TRUE, 0);
+
+	label39 = gtk_label_new_with_mnemonic (_("_Search:"));
+	gtk_widget_show (label39);
+	gtk_table_attach (GTK_TABLE (show_contacts_table), label39, 0, 1, 2, 3,
+			  (GtkAttachOptions) (GTK_FILL),
+			  (GtkAttachOptions) (0), 0, 0);
+	gtk_misc_set_alignment (GTK_MISC (label39), 0, 0.5);
+
+	source_menu_box = gtk_hbox_new (FALSE, 0);
+	gtk_widget_show (source_menu_box);
+	gtk_table_attach (GTK_TABLE (show_contacts_table), source_menu_box, 1, 2, 0, 1,
+			  (GtkAttachOptions) (GTK_FILL),
+			  (GtkAttachOptions) (GTK_FILL), 0, 0);
+
+	combobox_category = gtk_combo_box_new_text ();
+	gtk_widget_show (combobox_category);
+	gtk_table_attach (GTK_TABLE (show_contacts_table), combobox_category, 1, 2, 1, 2,
+			  (GtkAttachOptions) (GTK_FILL),
+			  (GtkAttachOptions) (GTK_FILL), 0, 0);
+	gtk_combo_box_append_text (GTK_COMBO_BOX (combobox_category), _("Any Category"));
+
+	label37 = gtk_label_new ("");
+	gtk_widget_show (label37);
+	gtk_box_pack_start (GTK_BOX (name_selector_box), label37, FALSE, FALSE, 0);
+
+	tmp_str = g_strconcat ("<b>", _("Co_ntacts"), "</b>", NULL);
+	label36 = gtk_label_new_with_mnemonic (tmp_str);
+	gtk_widget_show (label36);
+	gtk_box_pack_start (GTK_BOX (name_selector_box), label36, FALSE, FALSE, 0);
+	gtk_label_set_use_markup (GTK_LABEL (label36), TRUE);
+	gtk_misc_set_alignment (GTK_MISC (label36), 0, 0.5);
+	g_free (tmp_str);
+
+	hbox3 = gtk_hbox_new (FALSE, 12);
+	gtk_widget_show (hbox3);
+	gtk_box_pack_start (GTK_BOX (name_selector_box), hbox3, TRUE, TRUE, 0);
+
+	label38 = gtk_label_new ("");
+	gtk_widget_show (label38);
+	gtk_box_pack_start (GTK_BOX (hbox3), label38, FALSE, FALSE, 0);
+
+	scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
+	gtk_widget_show (scrolledwindow1);
+	gtk_box_pack_start (GTK_BOX (hbox3), scrolledwindow1, TRUE, TRUE, 0);
+	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+	gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_SHADOW_IN);
+
+	source_tree_view = gtk_tree_view_new ();
+	gtk_widget_show (source_tree_view);
+	gtk_container_add (GTK_CONTAINER (scrolledwindow1), source_tree_view);
+	gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (source_tree_view), FALSE);
+	gtk_tree_view_set_enable_search (GTK_TREE_VIEW (source_tree_view), FALSE);
+
+	destination_box = gtk_vbox_new (TRUE, 12);
+	gtk_widget_show (destination_box);
+	gtk_box_pack_start (GTK_BOX (hbox3), destination_box, TRUE, TRUE, 0);
+
+	status_message = gtk_label_new ("");
+	gtk_widget_show (status_message);
+	gtk_box_pack_end (GTK_BOX (name_selector_box), status_message, FALSE, FALSE, 0);
+	gtk_label_set_use_markup (GTK_LABEL (status_message), TRUE);
+	gtk_misc_set_alignment (GTK_MISC (status_message), 0, 0.5);
+	gtk_misc_set_padding (GTK_MISC (status_message), 0, 3);
+
+	gtk_label_set_mnemonic_widget (GTK_LABEL (AddressBookLabel), source_menu_box);
+	gtk_label_set_mnemonic_widget (GTK_LABEL (label31), combobox_category);
+	gtk_label_set_mnemonic_widget (GTK_LABEL (label39), search);
+	gtk_label_set_mnemonic_widget (GTK_LABEL (label36), source_tree_view);
+
+	atko = gtk_widget_get_accessible (search);
+	atk_object_set_name (atko, _("Search"));
+
+	atko = gtk_widget_get_accessible (source_menu_box);
+	atk_object_set_name (atko, _("Address Book"));
+
+	atko = gtk_widget_get_accessible (scrolledwindow1);
+	atk_object_set_name (atko, _("Contacts"));
+	tmp_relation_set = atk_object_ref_relation_set (atko);
+	scrolledwindow1_relation_targets[0] = gtk_widget_get_accessible (label36);
+	tmp_relationship = atk_relation_type_for_name ("labelled-by");
+	tmp_relation = atk_relation_new (scrolledwindow1_relation_targets, 1, tmp_relationship);
+	atk_relation_set_add (tmp_relation_set, tmp_relation);
+	g_object_unref (G_OBJECT (tmp_relation));
+	g_object_unref (G_OBJECT (tmp_relation_set));
 
 	/* Get addressbook sources */
 
 	if (!e_book_get_addressbooks (&source_list, NULL)) {
 		g_warning ("ENameSelectorDialog can't find any addressbooks!");
-		g_object_unref (name_selector_dialog->gui);
 		return;
 	}
 
-	/* Reparent it to inside ourselves */
-
-	content_area = gtk_dialog_get_content_area (
-		GTK_DIALOG (name_selector_dialog));
-
-	g_object_ref (widget);
-	parent = gtk_widget_get_parent (widget);
-	gtk_container_remove (GTK_CONTAINER (parent), widget);
-	gtk_box_pack_start (GTK_BOX (content_area), widget, TRUE, TRUE, 0);
-	g_object_unref (widget);
+	gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (name_selector_dialog))), name_selector_box, TRUE, TRUE, 0);
 
 	/* Store pointers to relevant widgets */
 
-	name_selector_dialog->contact_view = GTK_TREE_VIEW (
-		gtk_builder_get_object (name_selector_dialog->gui, "source-tree-view"));
-	name_selector_dialog->status_label = GTK_LABEL (
-		gtk_builder_get_object (name_selector_dialog->gui, "status-message"));
-	name_selector_dialog->destination_box = GTK_BOX (
-		gtk_builder_get_object (name_selector_dialog->gui, "destination-box"));
-	name_selector_dialog->search_entry = GTK_ENTRY (
-		gtk_builder_get_object (name_selector_dialog->gui, "search"));
+	priv->contact_view = GTK_TREE_VIEW (source_tree_view);
+	priv->status_label = GTK_LABEL (status_message);
+	priv->destination_box = GTK_BOX (destination_box);
+	priv->search_entry = GTK_ENTRY (search);
+	priv->category_combobox = combobox_category;
 
 	/* Create size group for transfer buttons */
-
-	name_selector_dialog->button_size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
+	priv->button_size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
 
 	/* Set up contacts view */
-
 	column = gtk_tree_view_column_new ();
 	cell_renderer = GTK_CELL_RENDERER (gtk_cell_renderer_text_new ());
 	gtk_tree_view_column_pack_start (column, cell_renderer, TRUE);
@@ -218,22 +341,21 @@ e_name_selector_dialog_init (ENameSelectorDialog *name_selector_dialog)
 						 (GtkTreeCellDataFunc) contact_column_formatter,
 						 name_selector_dialog, NULL);
 
-	selection = gtk_tree_view_get_selection (name_selector_dialog->contact_view);
+	selection = gtk_tree_view_get_selection (priv->contact_view);
 	gtk_tree_selection_set_mode (selection, GTK_SELECTION_MULTIPLE);
-	gtk_tree_view_append_column (name_selector_dialog->contact_view, column);
-	g_signal_connect_swapped (name_selector_dialog->contact_view, "row-activated",
+	gtk_tree_view_append_column (priv->contact_view, column);
+	g_signal_connect_swapped (priv->contact_view, "row-activated",
 				  G_CALLBACK (contact_activated), name_selector_dialog);
 
 	/* Listen for changes to the contact selection */
 
-	contact_selection = gtk_tree_view_get_selection (name_selector_dialog->contact_view);
+	contact_selection = gtk_tree_view_get_selection (priv->contact_view);
 	g_signal_connect_swapped (contact_selection, "changed",
 				  G_CALLBACK (contact_selection_changed), name_selector_dialog);
 
 	/* Set up our data structures */
-
-	name_selector_dialog->name_selector_model = e_name_selector_model_new ();
-	name_selector_dialog->sections            = g_array_new (FALSE, FALSE, sizeof (Section));
+	priv->name_selector_model = e_name_selector_model_new ();
+	priv->sections            = g_array_new (FALSE, FALSE, sizeof (Section));
 
 	gconf_client = gconf_client_get_default();
 	uid = gconf_client_get_string (gconf_client, "/apps/evolution/addressbook/display/primary_addressbook",
@@ -246,32 +368,27 @@ e_name_selector_dialog_init (ENameSelectorDialog *name_selector_dialog)
 
 	/* Create source menu */
 
-	widget = e_source_combo_box_new (source_list);
+	source_combo = e_source_combo_box_new (source_list);
 	g_signal_connect_swapped (
-		widget, "changed",
+		source_combo, "changed",
 		G_CALLBACK (source_changed), name_selector_dialog);
 	g_object_unref (source_list);
 
 	if (uid) {
 		e_source_combo_box_set_active_uid (
-			E_SOURCE_COMBO_BOX (widget), uid);
+			E_SOURCE_COMBO_BOX (source_combo), uid);
 		g_free (uid);
 	}
 
-	label = GTK_WIDGET (gtk_builder_get_object (name_selector_dialog->gui, "AddressBookLabel"));
-	gtk_label_set_mnemonic_widget (GTK_LABEL (label), widget);
-
-	gtk_widget_show (widget);
-
-	container = GTK_WIDGET (gtk_builder_get_object (name_selector_dialog->gui, "source-menu-box"));
-	gtk_box_pack_start (GTK_BOX (container), widget, TRUE, TRUE, 0);
+	gtk_label_set_mnemonic_widget (GTK_LABEL (AddressBookLabel), source_combo);
+	gtk_widget_show (source_combo);
+	gtk_box_pack_start (GTK_BOX (source_menu_box), source_combo, TRUE, TRUE, 0);
 
 	e_name_selector_dialog_populate_categories (name_selector_dialog);
 
 	/* Set up search-as-you-type signal */
 
-	widget = GTK_WIDGET (gtk_builder_get_object (name_selector_dialog->gui, "search"));
-	g_signal_connect_swapped (widget, "changed", G_CALLBACK (search_changed), name_selector_dialog);
+	g_signal_connect_swapped (search, "changed", G_CALLBACK (search_changed), name_selector_dialog);
 
 	/* Display initial source */
 
@@ -290,7 +407,7 @@ e_name_selector_dialog_init (ENameSelectorDialog *name_selector_dialog)
 	gtk_dialog_set_has_separator    (GTK_DIALOG (name_selector_dialog), FALSE);
 	gtk_container_set_border_width  (GTK_CONTAINER (name_selector_dialog), 4);
 	gtk_window_set_title            (GTK_WINDOW (name_selector_dialog), _("Select Contacts from Address Book"));
-	gtk_widget_grab_focus (widget);
+	gtk_widget_grab_focus (source_combo);
 }
 
 /* Partial, repeatable destruction. Release references. */
@@ -319,8 +436,8 @@ e_name_selector_dialog_finalize (GObject *object)
 		priv->user_query_fields = NULL;
 	}
 
-	g_array_free (name_selector_dialog->sections, TRUE);
-	g_object_unref (name_selector_dialog->button_size_group);
+	g_array_free (priv->sections, TRUE);
+	g_object_unref (priv->button_size_group);
 
 	if (G_OBJECT_CLASS (e_name_selector_dialog_parent_class)->finalize)
 		G_OBJECT_CLASS (e_name_selector_dialog_parent_class)->finalize (object);
@@ -380,13 +497,14 @@ static void
 sort_iter_to_contact_store_iter (ENameSelectorDialog *name_selector_dialog, GtkTreeIter *iter,
 				 gint *email_n)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	ETreeModelGenerator *contact_filter;
 	GtkTreeIter          child_iter;
 	gint                 email_n_local;
 
-	contact_filter = e_name_selector_model_peek_contact_filter (name_selector_dialog->name_selector_model);
+	contact_filter = e_name_selector_model_peek_contact_filter (priv->name_selector_model);
 
-	gtk_tree_model_sort_convert_iter_to_child_iter (name_selector_dialog->contact_sort,
+	gtk_tree_model_sort_convert_iter_to_child_iter (priv->contact_sort,
 							&child_iter, iter);
 	e_tree_model_generator_convert_iter_to_child_iter (contact_filter, iter, &email_n_local, &child_iter);
 
@@ -411,14 +529,15 @@ add_destination (EDestinationStore *destination_store, EContact *contact, gint e
 static void
 remove_books (ENameSelectorDialog *name_selector_dialog)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	EContactStore *contact_store;
 	GList         *books;
 	GList         *l;
 
-	if (!name_selector_dialog->name_selector_model)
+	if (!priv->name_selector_model)
 		return;
 
-	contact_store = e_name_selector_model_peek_contact_store (name_selector_dialog->name_selector_model);
+	contact_store = e_name_selector_model_peek_contact_store (priv->name_selector_model);
 
 	/* Remove books (should be just one) being viewed */
 	books = e_contact_store_get_books (contact_store);
@@ -429,10 +548,10 @@ remove_books (ENameSelectorDialog *name_selector_dialog)
 	g_list_free (books);
 
 	/* See if we have a book pending; stop loading it if so */
-	if (name_selector_dialog->pending_book) {
-		e_book_cancel (name_selector_dialog->pending_book, NULL);
-		g_object_unref (name_selector_dialog->pending_book);
-		name_selector_dialog->pending_book = NULL;
+	if (priv->pending_book) {
+		e_book_cancel (priv->pending_book, NULL);
+		g_object_unref (priv->pending_book);
+		priv->pending_book = NULL;
 	}
 }
 
@@ -443,10 +562,11 @@ remove_books (ENameSelectorDialog *name_selector_dialog)
 static gint
 find_section_by_transfer_button (ENameSelectorDialog *name_selector_dialog, GtkButton *transfer_button)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	gint i;
 
-	for (i = 0; i < name_selector_dialog->sections->len; i++) {
-		Section *section = &g_array_index (name_selector_dialog->sections, Section, i);
+	for (i = 0; i < priv->sections->len; i++) {
+		Section *section = &g_array_index (priv->sections, Section, i);
 
 		if (section->transfer_button == transfer_button)
 			return i;
@@ -458,10 +578,11 @@ find_section_by_transfer_button (ENameSelectorDialog *name_selector_dialog, GtkB
 static gint
 find_section_by_tree_view (ENameSelectorDialog *name_selector_dialog, GtkTreeView *tree_view)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	gint i;
 
-	for (i = 0; i < name_selector_dialog->sections->len; i++) {
-		Section *section = &g_array_index (name_selector_dialog->sections, Section, i);
+	for (i = 0; i < priv->sections->len; i++) {
+		Section *section = &g_array_index (priv->sections, Section, i);
 
 		if (section->destination_view == tree_view)
 			return i;
@@ -473,10 +594,11 @@ find_section_by_tree_view (ENameSelectorDialog *name_selector_dialog, GtkTreeVie
 static gint
 find_section_by_name (ENameSelectorDialog *name_selector_dialog, const gchar *name)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	gint i;
 
-	for (i = 0; i < name_selector_dialog->sections->len; i++) {
-		Section *section = &g_array_index (name_selector_dialog->sections, Section, i);
+	for (i = 0; i < priv->sections->len; i++) {
+		Section *section = &g_array_index (priv->sections, Section, i);
 
 		if (!strcmp (name, section->name))
 			return i;
@@ -501,6 +623,7 @@ static gint
 add_section (ENameSelectorDialog *name_selector_dialog,
 	     const gchar *name, const gchar *pretty_name, EDestinationStore *destination_store)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	Section            section;
 	GtkTreeViewColumn *column;
 	GtkCellRenderer   *cell_renderer;
@@ -566,7 +689,7 @@ add_section (ENameSelectorDialog *name_selector_dialog,
 	widget = gtk_alignment_new (0.5, 0.0, 0.0, 0.0);
 	gtk_container_add (GTK_CONTAINER (widget), GTK_WIDGET (section.transfer_button));
 	gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, TRUE, 6);
-	gtk_size_group_add_widget (name_selector_dialog->button_size_group, GTK_WIDGET (section.transfer_button));
+	gtk_size_group_add_widget (priv->button_size_group, GTK_WIDGET (section.transfer_button));
 
 	/*to get the image embedded in the button*/
 	widget = gtk_alignment_new (0.7, 0.5, 0.0, 0.0);
@@ -587,7 +710,7 @@ add_section (ENameSelectorDialog *name_selector_dialog,
 	widget = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
 	gtk_container_add (GTK_CONTAINER (widget), GTK_WIDGET (section.remove_button));
 	gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, TRUE, 0);
-	gtk_size_group_add_widget (name_selector_dialog->button_size_group, GTK_WIDGET (section.remove_button));
+	gtk_size_group_add_widget (priv->button_size_group, GTK_WIDGET (section.remove_button));
 	gtk_widget_set_sensitive (GTK_WIDGET (section.remove_button), FALSE);
 
 	widget = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
@@ -639,26 +762,27 @@ add_section (ENameSelectorDialog *name_selector_dialog,
 	gtk_widget_show_all (GTK_WIDGET (section.section_box));
 
 	/* Pack this section's box into the dialog */
-	gtk_box_pack_start (name_selector_dialog->destination_box,
+	gtk_box_pack_start (priv->destination_box,
 			    GTK_WIDGET (section.section_box), TRUE, TRUE, 0);
 
-	g_array_append_val (name_selector_dialog->sections, section);
+	g_array_append_val (priv->sections, section);
 
 	/* Make sure UI is consistent */
 	contact_selection_changed (name_selector_dialog);
 
-	return name_selector_dialog->sections->len - 1;
+	return priv->sections->len - 1;
 }
 
 static void
 free_section (ENameSelectorDialog *name_selector_dialog, gint n)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	Section *section;
 
 	g_assert (n >= 0);
-	g_assert (n < name_selector_dialog->sections->len);
+	g_assert (n < priv->sections->len);
 
-	section = &g_array_index (name_selector_dialog->sections, Section, n);
+	section = &g_array_index (priv->sections, Section, n);
 
 	g_free (section->name);
 	gtk_widget_destroy (GTK_WIDGET (section->section_box));
@@ -667,10 +791,11 @@ free_section (ENameSelectorDialog *name_selector_dialog, gint n)
 static void
 model_section_added (ENameSelectorDialog *name_selector_dialog, const gchar *name)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	gchar             *pretty_name;
 	EDestinationStore *destination_store;
 
-	e_name_selector_model_peek_section (name_selector_dialog->name_selector_model, name,
+	e_name_selector_model_peek_section (priv->name_selector_model, name,
 					    &pretty_name, &destination_store);
 	add_section (name_selector_dialog, name, pretty_name, destination_store);
 	g_free (pretty_name);
@@ -679,13 +804,14 @@ model_section_added (ENameSelectorDialog *name_selector_dialog, const gchar *nam
 static void
 model_section_removed (ENameSelectorDialog *name_selector_dialog, const gchar *name)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	gint section_index;
 
 	section_index = find_section_by_name (name_selector_dialog, name);
 	g_assert (section_index >= 0);
 
 	free_section (name_selector_dialog, section_index);
-	g_array_remove_index (name_selector_dialog->sections, section_index);
+	g_array_remove_index (priv->sections, section_index);
 }
 
 /* -------------------- *
@@ -695,10 +821,11 @@ model_section_removed (ENameSelectorDialog *name_selector_dialog, const gchar *n
 static void
 status_message(EBookView *view, const gchar *message, ENameSelectorDialog *dialog)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (dialog);
 	if (message == NULL)
-		gtk_label_set_text(dialog->status_label, "");
+		gtk_label_set_text (priv->status_label, "");
 	else
-		gtk_label_set_text(dialog->status_label, message);
+		gtk_label_set_text (priv->status_label, message);
 }
 
 static void
@@ -711,30 +838,32 @@ static void
 book_opened (EBook *book, EBookStatus status, gpointer data)
 {
 	ENameSelectorDialog *name_selector_dialog = E_NAME_SELECTOR_DIALOG (data);
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	EContactStore       *contact_store;
 	EBookView           *view;
 
 	if (status != E_BOOK_ERROR_OK) {
 		/* TODO: Handle errors gracefully */
-		gtk_label_set_text(name_selector_dialog->status_label, "Error loading addressbook");
+		gtk_label_set_text (priv->status_label, "Error loading addressbook");
 		g_warning ("ENameSelectorDialog failed to open book!");
 		return;
 	}
 
-	contact_store = e_name_selector_model_peek_contact_store (name_selector_dialog->name_selector_model);
+	contact_store = e_name_selector_model_peek_contact_store (priv->name_selector_model);
 	e_contact_store_add_book (contact_store, book);
 	view = find_contact_source_by_book_return_view(contact_store, book);
 	g_signal_connect(view, "status_message", G_CALLBACK(status_message), name_selector_dialog);
 	g_signal_connect(view, "sequence_complete", G_CALLBACK(sequence_complete), name_selector_dialog);
 
 	g_object_unref (book);
-	name_selector_dialog->pending_book = NULL;
+	priv->pending_book = NULL;
 }
 
 static void
 source_changed (ENameSelectorDialog *name_selector_dialog,
                 ESourceComboBox *source_combo_box)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	ESource *source;
 
 	source = e_source_combo_box_get_active (source_combo_box);
@@ -743,8 +872,7 @@ source_changed (ENameSelectorDialog *name_selector_dialog,
 	remove_books (name_selector_dialog);
 
 	/* Start loading selected book */
-	name_selector_dialog->pending_book = e_load_book_source (source, book_opened,
-								 name_selector_dialog);
+	priv->pending_book = e_load_book_source (source, book_opened, name_selector_dialog);
 }
 
 /* --------------- *
@@ -765,15 +893,14 @@ search_changed (ENameSelectorDialog *name_selector_dialog)
 	gchar         *category_escaped;
 	gchar         *user_fields_str;
 
-	combo_box = GTK_WIDGET (gtk_builder_get_object (
-		name_selector_dialog->gui, "combobox-category"));
+	combo_box = priv->category_combobox;
 	if (gtk_combo_box_get_active (GTK_COMBO_BOX (combo_box)) == -1)
 		gtk_combo_box_set_active (GTK_COMBO_BOX (combo_box), 0);
 
 	category = gtk_combo_box_get_active_text (GTK_COMBO_BOX (combo_box));
 	category_escaped = escape_sexp_string (category);
 
-	text = gtk_entry_get_text (name_selector_dialog->search_entry);
+	text = gtk_entry_get_text (priv->search_entry);
 	text_escaped = escape_sexp_string (text);
 
 	user_fields_str = ens_util_populate_user_query_fields (priv->user_query_fields, text, text_escaped);
@@ -801,7 +928,7 @@ search_changed (ENameSelectorDialog *name_selector_dialog)
 	book_query = e_book_query_from_string (query_string);
 
 	contact_store = e_name_selector_model_peek_contact_store (
-		name_selector_dialog->name_selector_model);
+		priv->name_selector_model);
 	e_contact_store_set_query (contact_store, book_query);
 
 	e_book_query_unref (book_query);
@@ -816,16 +943,17 @@ search_changed (ENameSelectorDialog *name_selector_dialog)
 static void
 contact_selection_changed (ENameSelectorDialog *name_selector_dialog)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	GtkTreeSelection *contact_selection;
 	gboolean          have_selection = FALSE;
 	gint              i;
 
-	contact_selection = gtk_tree_view_get_selection (name_selector_dialog->contact_view);
+	contact_selection = gtk_tree_view_get_selection (priv->contact_view);
 	if (gtk_tree_selection_count_selected_rows (contact_selection))
 		have_selection = TRUE;
 
-	for (i = 0; i < name_selector_dialog->sections->len; i++) {
-		Section *section = &g_array_index (name_selector_dialog->sections, Section, i);
+	for (i = 0; i < priv->sections->len; i++) {
+		Section *section = &g_array_index (priv->sections, Section, i);
 		gtk_widget_set_sensitive (GTK_WIDGET (section->transfer_button), have_selection);
 	}
 }
@@ -833,6 +961,7 @@ contact_selection_changed (ENameSelectorDialog *name_selector_dialog)
 static void
 contact_activated (ENameSelectorDialog *name_selector_dialog, GtkTreePath *path)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	EContactStore     *contact_store;
 	EDestinationStore *destination_store;
 	EContact          *contact;
@@ -840,19 +969,17 @@ contact_activated (ENameSelectorDialog *name_selector_dialog, GtkTreePath *path)
 	Section           *section;
 	gint               email_n;
 
-	ENameSelectorDialogPrivate *priv;
-
 	/* When a contact is activated, we transfer it to the first destination on our list */
 
-	contact_store = e_name_selector_model_peek_contact_store (name_selector_dialog->name_selector_model);
+	contact_store = e_name_selector_model_peek_contact_store (priv->name_selector_model);
 
 	/* If we have no sections, we can't transfer */
-	if (name_selector_dialog->sections->len == 0)
+	if (priv->sections->len == 0)
 		return;
 
 	/* Get the contact to be transferred */
 
-	if (!gtk_tree_model_get_iter (GTK_TREE_MODEL (name_selector_dialog->contact_sort),
+	if (!gtk_tree_model_get_iter (GTK_TREE_MODEL (priv->contact_sort),
 				      &iter, path))
 		g_assert_not_reached ();
 
@@ -864,10 +991,8 @@ contact_activated (ENameSelectorDialog *name_selector_dialog, GtkTreePath *path)
 		return;
 	}
 
-	priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
-
-	section = &g_array_index (name_selector_dialog->sections, Section, priv->destination_index);
-	if (!e_name_selector_model_peek_section (name_selector_dialog->name_selector_model,
+	section = &g_array_index (priv->sections, Section, priv->destination_index);
+	if (!e_name_selector_model_peek_section (priv->name_selector_model,
 						 section->name, NULL, &destination_store)) {
 		g_warning ("ENameSelectorDialog has a section unknown to the model!");
 		return;
@@ -880,6 +1005,7 @@ static void
 destination_activated (ENameSelectorDialog *name_selector_dialog, GtkTreePath *path,
 		       GtkTreeViewColumn *column, GtkTreeView *tree_view)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	gint               section_index;
 	EDestinationStore *destination_store;
 	EDestination      *destination;
@@ -894,8 +1020,8 @@ destination_activated (ENameSelectorDialog *name_selector_dialog, GtkTreePath *p
 		return;
 	}
 
-	section = &g_array_index (name_selector_dialog->sections, Section, section_index);
-	if (!e_name_selector_model_peek_section (name_selector_dialog->name_selector_model,
+	section = &g_array_index (priv->sections, Section, section_index);
+	if (!e_name_selector_model_peek_section (priv->name_selector_model,
 						 section->name, NULL, &destination_store)) {
 		g_warning ("ENameSelectorDialog has a section unknown to the model!");
 		return;
@@ -913,6 +1039,7 @@ destination_activated (ENameSelectorDialog *name_selector_dialog, GtkTreePath *p
 static gboolean
 remove_selection (ENameSelectorDialog *name_selector_dialog, GtkTreeView *tree_view)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	gint               section_index;
 	EDestinationStore *destination_store;
 	EDestination      *destination;
@@ -926,8 +1053,8 @@ remove_selection (ENameSelectorDialog *name_selector_dialog, GtkTreeView *tree_v
 		return FALSE;
 	}
 
-	section = &g_array_index (name_selector_dialog->sections, Section, section_index);
-	if (!e_name_selector_model_peek_section (name_selector_dialog->name_selector_model,
+	section = &g_array_index (priv->sections, Section, section_index);
+	if (!e_name_selector_model_peek_section (priv->name_selector_model,
 						 section->name, NULL, &destination_store)) {
 		g_warning ("ENameSelectorDialog has a section unknown to the model!");
 		return FALSE;
@@ -988,6 +1115,7 @@ destination_key_press (ENameSelectorDialog *name_selector_dialog,
 static void
 transfer_button_clicked (ENameSelectorDialog *name_selector_dialog, GtkButton *transfer_button)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	EContactStore     *contact_store;
 	EDestinationStore *destination_store;
 	GtkTreeSelection  *selection;
@@ -999,8 +1127,8 @@ transfer_button_clicked (ENameSelectorDialog *name_selector_dialog, GtkButton *t
 
 	/* Get the contact to be transferred */
 
-	contact_store = e_name_selector_model_peek_contact_store (name_selector_dialog->name_selector_model);
-	selection = gtk_tree_view_get_selection (name_selector_dialog->contact_view);
+	contact_store = e_name_selector_model_peek_contact_store (priv->name_selector_model);
+	selection = gtk_tree_view_get_selection (priv->contact_view);
 
 	if (!gtk_tree_selection_count_selected_rows (selection)) {
 		g_warning ("ENameSelectorDialog transfer button clicked, but no selection!");
@@ -1014,8 +1142,8 @@ transfer_button_clicked (ENameSelectorDialog *name_selector_dialog, GtkButton *t
 		return;
 	}
 
-	section = &g_array_index (name_selector_dialog->sections, Section, section_index);
-	if (!e_name_selector_model_peek_section (name_selector_dialog->name_selector_model,
+	section = &g_array_index (priv->sections, Section, section_index);
+	if (!e_name_selector_model_peek_section (priv->name_selector_model,
 						 section->name, NULL, &destination_store)) {
 		g_warning ("ENameSelectorDialog has a section unknown to the model!");
 		return;
@@ -1028,7 +1156,7 @@ transfer_button_clicked (ENameSelectorDialog *name_selector_dialog, GtkButton *t
 		GtkTreeIter iter;
 		GtkTreePath *path = l->data;
 
-		if (!gtk_tree_model_get_iter (GTK_TREE_MODEL (name_selector_dialog->contact_sort),
+		if (!gtk_tree_model_get_iter (GTK_TREE_MODEL (priv->contact_sort),
 				      &iter, path)) {
 			gtk_tree_path_free (path);
 			return;
@@ -1056,6 +1184,7 @@ transfer_button_clicked (ENameSelectorDialog *name_selector_dialog, GtkButton *t
 static void
 setup_name_selector_model (ENameSelectorDialog *name_selector_dialog)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	EContactStore       *contact_store;
 	ETreeModelGenerator *contact_filter;
 	GList               *new_sections;
@@ -1063,14 +1192,14 @@ setup_name_selector_model (ENameSelectorDialog *name_selector_dialog)
 
 	/* Create new destination sections in UI */
 
-	new_sections = e_name_selector_model_list_sections (name_selector_dialog->name_selector_model);
+	new_sections = e_name_selector_model_list_sections (priv->name_selector_model);
 
 	for (l = new_sections; l; l = g_list_next (l)) {
 		gchar             *name = l->data;
 		gchar             *pretty_name;
 		EDestinationStore *destination_store;
 
-		e_name_selector_model_peek_section (name_selector_dialog->name_selector_model,
+		e_name_selector_model_peek_section (priv->name_selector_model,
 						    name, &pretty_name, &destination_store);
 
 		add_section (name_selector_dialog, name, pretty_name, destination_store);
@@ -1083,27 +1212,27 @@ setup_name_selector_model (ENameSelectorDialog *name_selector_dialog)
 
 	/* Connect to section add/remove signals */
 
-	g_signal_connect_swapped (name_selector_dialog->name_selector_model, "section-added",
+	g_signal_connect_swapped (priv->name_selector_model, "section-added",
 				  G_CALLBACK (model_section_added), name_selector_dialog);
-	g_signal_connect_swapped (name_selector_dialog->name_selector_model, "section-removed",
+	g_signal_connect_swapped (priv->name_selector_model, "section-removed",
 				  G_CALLBACK (model_section_removed), name_selector_dialog);
 
 	/* Get contact store and its filter wrapper */
 
-	contact_store  = e_name_selector_model_peek_contact_store  (name_selector_dialog->name_selector_model);
-	contact_filter = e_name_selector_model_peek_contact_filter (name_selector_dialog->name_selector_model);
+	contact_store  = e_name_selector_model_peek_contact_store  (priv->name_selector_model);
+	contact_filter = e_name_selector_model_peek_contact_filter (priv->name_selector_model);
 
 	/* Create sorting model on top of filter, assign it to view */
 
-	name_selector_dialog->contact_sort = GTK_TREE_MODEL_SORT (
+	priv->contact_sort = GTK_TREE_MODEL_SORT (
 		gtk_tree_model_sort_new_with_model (GTK_TREE_MODEL (contact_filter)));
 
 	/* sort on full name as we display full name in name selector dialog */
-	gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (name_selector_dialog->contact_sort),
+	gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (priv->contact_sort),
 					      E_CONTACT_FULL_NAME, GTK_SORT_ASCENDING);
 
-	gtk_tree_view_set_model (name_selector_dialog->contact_view,
-				 GTK_TREE_MODEL (name_selector_dialog->contact_sort));
+	gtk_tree_view_set_model (priv->contact_view,
+				 GTK_TREE_MODEL (priv->contact_sort));
 
 	/* Make sure UI is consistent */
 
@@ -1114,30 +1243,31 @@ setup_name_selector_model (ENameSelectorDialog *name_selector_dialog)
 static void
 shutdown_name_selector_model (ENameSelectorDialog *name_selector_dialog)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	gint i;
 
 	/* Rid UI of previous destination sections */
 
-	for (i = 0; i < name_selector_dialog->sections->len; i++)
+	for (i = 0; i < priv->sections->len; i++)
 		free_section (name_selector_dialog, i);
 
-	g_array_set_size (name_selector_dialog->sections, 0);
+	g_array_set_size (priv->sections, 0);
 
 	/* Free sorting model */
 
-	if (name_selector_dialog->contact_sort) {
-		g_object_unref (name_selector_dialog->contact_sort);
-		name_selector_dialog->contact_sort = NULL;
+	if (priv->contact_sort) {
+		g_object_unref (priv->contact_sort);
+		priv->contact_sort = NULL;
 	}
 
 	/* Free backend model */
 
-	if (name_selector_dialog->name_selector_model) {
-		g_signal_handlers_disconnect_matched (name_selector_dialog->name_selector_model,
+	if (priv->name_selector_model) {
+		g_signal_handlers_disconnect_matched (priv->name_selector_model,
 						      G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, name_selector_dialog);
 
-		g_object_unref (name_selector_dialog->name_selector_model);
-		name_selector_dialog->name_selector_model = NULL;
+		g_object_unref (priv->name_selector_model);
+		priv->name_selector_model = NULL;
 	}
 }
 
@@ -1156,6 +1286,7 @@ static void
 contact_column_formatter (GtkTreeViewColumn *column, GtkCellRenderer *cell, GtkTreeModel *model,
 			  GtkTreeIter *iter, ENameSelectorDialog *name_selector_dialog)
 {
+	ENameSelectorDialogPrivate *priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 	EContactStore *contact_store;
 	EContact      *contact;
 	GtkTreeIter    contact_store_iter;
@@ -1168,7 +1299,7 @@ contact_column_formatter (GtkTreeViewColumn *column, GtkCellRenderer *cell, GtkT
 	contact_store_iter = *iter;
 	sort_iter_to_contact_store_iter (name_selector_dialog, &contact_store_iter, &email_n);
 
-	contact_store = e_name_selector_model_peek_contact_store (name_selector_dialog->name_selector_model);
+	contact_store = e_name_selector_model_peek_contact_store (priv->name_selector_model);
 	contact = e_contact_store_get_contact (contact_store, &contact_store_iter);
 	email_list = e_contact_get (contact, E_CONTACT_EMAIL);
 	email_str = g_list_nth_data (email_list, email_n);
@@ -1230,9 +1361,13 @@ destination_column_formatter (GtkTreeViewColumn *column, GtkCellRenderer *cell,
 ENameSelectorModel *
 e_name_selector_dialog_peek_model (ENameSelectorDialog *name_selector_dialog)
 {
+	ENameSelectorDialogPrivate *priv;
+
 	g_return_val_if_fail (E_IS_NAME_SELECTOR_DIALOG (name_selector_dialog), NULL);
 
-	return name_selector_dialog->name_selector_model;
+	priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
+
+	return priv->name_selector_model;
 }
 
 /**
@@ -1246,14 +1381,18 @@ void
 e_name_selector_dialog_set_model (ENameSelectorDialog *name_selector_dialog,
 				  ENameSelectorModel  *model)
 {
+	ENameSelectorDialogPrivate *priv;
+
 	g_return_if_fail (E_IS_NAME_SELECTOR_DIALOG (name_selector_dialog));
 	g_return_if_fail (E_IS_NAME_SELECTOR_MODEL (model));
 
-	if (model == name_selector_dialog->name_selector_model)
+	priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
+
+	if (model == priv->name_selector_model)
 		return;
 
 	shutdown_name_selector_model (name_selector_dialog);
-	name_selector_dialog->name_selector_model = g_object_ref (model);
+	priv->name_selector_model = g_object_ref (model);
 
 	setup_name_selector_model (name_selector_dialog);
 }
@@ -1273,7 +1412,7 @@ e_name_selector_dialog_set_destination_index (ENameSelectorDialog *name_selector
 
 	priv = E_NAME_SELECTOR_DIALOG_GET_PRIVATE (name_selector_dialog);
 
-	if (index >= name_selector_dialog->sections->len)
+	if (index >= priv->sections->len)
 		return;
 
 	priv->destination_index = index;
diff --git a/libedataserverui/e-name-selector-dialog.h b/libedataserverui/e-name-selector-dialog.h
index 76cd3c6..f79e5dc 100644
--- a/libedataserverui/e-name-selector-dialog.h
+++ b/libedataserverui/e-name-selector-dialog.h
@@ -59,22 +59,6 @@ struct _ENameSelectorDialogClass {
 
 struct _ENameSelectorDialog {
 	GtkDialog           parent;
-
-	/* Private */
-
-	EBook              *pending_book;
-	gpointer            unused;	/* Maintain ABI compatibility */
-	ENameSelectorModel *name_selector_model;
-	GtkTreeModelSort   *contact_sort;
-
-	GtkBuilder         *gui;
-	GtkTreeView        *contact_view;
-	GtkLabel           *status_label;
-	GtkBox             *destination_box;
-	GtkEntry           *search_entry;
-	GtkSizeGroup       *button_size_group;
-
-	GArray             *sections;
 };
 
 GType                e_name_selector_dialog_get_type   (void);
diff --git a/libedataserverui/e-name-selector-dialog.ui b/libedataserverui/e-name-selector-dialog.ui
deleted file mode 100644
index 9ab8071..0000000
--- a/libedataserverui/e-name-selector-dialog.ui
+++ /dev/null
@@ -1,404 +0,0 @@
-<?xml version="1.0"?>
-<!--*- mode: xml -*-->
-<interface>
-  <object class="GtkListStore" id="model1">
-    <columns>
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Any Category</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkWindow" id="wrapper">
-    <property name="title" translatable="yes">window1</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_NORMAL</property>
-    <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-    <child>
-      <object class="GtkVBox" id="name-selector-box">
-        <property name="border_width">4</property>
-        <property name="visible">True</property>
-        <property name="homogeneous">False</property>
-        <property name="spacing">6</property>
-        <child>
-          <object class="GtkLabel" id="label33">
-            <property name="visible">True</property>
-            <property name="label" translatable="yes">&lt;b&gt;Show Contacts&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>
-          </object>
-          <packing>
-            <property name="padding">0</property>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkHBox" id="hbox2">
-            <property name="visible">True</property>
-            <property name="homogeneous">False</property>
-            <property name="spacing">12</property>
-            <child>
-              <object class="GtkLabel" id="label35">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes"/>
-                <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>
-              </object>
-              <packing>
-                <property name="padding">0</property>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkTable" id="show_contacts_table">
-                <property name="visible">True</property>
-                <property name="n_rows">3</property>
-                <property name="n_columns">2</property>
-                <property name="homogeneous">False</property>
-                <property name="row_spacing">6</property>
-                <property name="column_spacing">12</property>
-                <child>
-                  <object class="GtkLabel" id="AddressBookLabel">
-                    <property name="visible">True</property>
-                    <property name="label" translatable="yes">Address B_ook:</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">source-menu-box</property>
-                  </object>
-                  <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"/>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label31">
-                    <property name="visible">True</property>
-                    <property name="label" translatable="yes">Cate_gory:</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>
-                    <property name="mnemonic_widget">combobox-category</property>
-                  </object>
-                  <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"/>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHBox" id="hbox1">
-                    <property name="visible">True</property>
-                    <property name="homogeneous">False</property>
-                    <property name="spacing">12</property>
-                    <child>
-                      <object class="GtkEntry" id="search">
-                        <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 name="has_frame">True</property>
-                        <property name="invisible_char" translatable="yes">*</property>
-                        <property name="activates_default">False</property>
-                        <accessibility>
-			
-		      </accessibility>
-                        <child internal-child="accessible">
-                          <object class="AtkObject" id="a11y-search1">
-                            <property name="AtkObject::accessible_name" translatable="yes">Search</property>
-                          </object>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="padding">0</property>
-                        <property name="expand">True</property>
-                        <property name="fill">True</property>
-                      </packing>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label39">
-                    <property name="visible">True</property>
-                    <property name="label" translatable="yes">_Search:</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</property>
-                    <property name="yalign">0.5</property>
-                    <property name="xpad">0</property>
-                    <property name="ypad">0</property>
-                    <property name="mnemonic_widget">search</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="right_attach">1</property>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">fill</property>
-                    <property name="y_options"/>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHBox" id="source-menu-box">
-                    <property name="visible">True</property>
-                    <property name="homogeneous">False</property>
-                    <property name="spacing">0</property>
-                    <accessibility>
-		    
-		  </accessibility>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child internal-child="accessible">
-                      <object class="AtkObject" id="a11y-source-menu-box1">
-                        <property name="AtkObject::accessible_name" translatable="yes">Address Book</property>
-                      </object>
-                    </child>
-                  </object>
-                  <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="x_options">fill</property>
-                    <property name="y_options">fill</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkComboBox" id="combobox-category">
-                    <property name="visible">True</property>
-                    <property name="add_tearoffs">False</property>
-                    <property name="focus_on_click">True</property>
-                    <property name="model">model1</property>
-                    <child>
-                      <object class="GtkCellRendererText" id="renderer1"/>
-                      <attributes>
-                        <attribute name="text">0</attribute>
-                      </attributes>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">fill</property>
-                    <property name="y_options">fill</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="padding">0</property>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="padding">0</property>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkLabel" id="label37">
-            <property name="visible">True</property>
-            <property name="label" translatable="yes"/>
-            <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>
-          </object>
-          <packing>
-            <property name="padding">0</property>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkLabel" id="label36">
-            <property name="visible">True</property>
-            <property name="label" translatable="yes">&lt;b&gt;Co_ntacts&lt;/b&gt;</property>
-            <property name="use_underline">True</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="mnemonic_widget">source-tree-view</property>
-          </object>
-          <packing>
-            <property name="padding">0</property>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkHBox" id="hbox3">
-            <property name="visible">True</property>
-            <property name="homogeneous">False</property>
-            <property name="spacing">12</property>
-            <child>
-              <object class="GtkLabel" id="label38">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes"/>
-                <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>
-              </object>
-              <packing>
-                <property name="padding">0</property>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkScrolledWindow" id="scrolledwindow1">
-                <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="window_placement">GTK_CORNER_TOP_LEFT</property>
-                <accessibility>
-                  <relation target="label36" type="labelled-by"/>
-                </accessibility>
-                <child>
-                  <object class="GtkTreeView" id="source-tree-view">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="headers_visible">False</property>
-                    <property name="rules_hint">False</property>
-                    <property name="reorderable">False</property>
-                    <property name="enable_search">False</property>
-                  </object>
-                </child>
-                <child internal-child="accessible">
-                  <object class="AtkObject" id="a11y-scrolledwindow11">
-                    <property name="AtkObject::accessible_name" translatable="yes">Contacts</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="padding">0</property>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkVBox" id="destination-box">
-                <property name="visible">True</property>
-                <property name="homogeneous">True</property>
-                <property name="spacing">12</property>
-              </object>
-              <packing>
-                <property name="padding">0</property>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="padding">0</property>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkLabel" id="status-message">
-            <property name="visible">True</property>
-            <property name="label" translatable="yes"/>
-            <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">3</property>
-          </object>
-          <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>
-      </object>
-    </child>
-  </object>
-</interface>
diff --git a/po/POTFILES.in b/po/POTFILES.in
index f0fd742..e387450 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -204,11 +204,9 @@ libedataserver/e-categories.c
 libedataserver/e-time-utils.c
 libedataserverui/e-book-auth-util.c
 libedataserverui/e-categories-dialog.c
-[type: gettext/glade]libedataserverui/e-categories-dialog.ui
 libedataserverui/e-category-completion.c
 libedataserverui/e-cell-renderer-color.c
 libedataserverui/e-name-selector-dialog.c
-[type: gettext/glade]libedataserverui/e-name-selector-dialog.ui
 libedataserverui/e-name-selector-entry.c
 libedataserverui/e-name-selector-list.c
 libedataserverui/e-passwords.c
