aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--e-util/e-name-selector-dialog.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/e-util/e-name-selector-dialog.c b/e-util/e-name-selector-dialog.c
index e40c673284..d986f11c3a 100644
--- a/e-util/e-name-selector-dialog.c
+++ b/e-util/e-name-selector-dialog.c
@@ -66,6 +66,7 @@ struct _ENameSelectorDialogPrivate {
GtkTreeModelSort *contact_sort;
GCancellable *cancellable;
+ GtkWidget *client_combo;
GtkTreeView *contact_view;
GtkLabel *status_label;
GtkGrid *destination_vgrid;
@@ -147,6 +148,17 @@ name_selector_dialog_populate_categories (ENameSelectorDialog *name_selector_dia
}
static void
+name_selector_dialog_realize_cb (ENameSelectorDialog *name_selector_dialog,
+ gpointer user_data)
+{
+ g_return_if_fail (E_IS_NAME_SELECTOR_DIALOG (name_selector_dialog));
+
+ source_changed (
+ name_selector_dialog,
+ E_CLIENT_COMBO_BOX (name_selector_dialog->priv->client_combo));
+}
+
+static void
name_selector_dialog_set_client_cache (ENameSelectorDialog *name_selector_dialog,
EClientCache *client_cache)
{
@@ -515,14 +527,11 @@ name_selector_dialog_constructed (GObject *object)
extension_name = E_SOURCE_EXTENSION_ADDRESS_BOOK;
client_combo = e_client_combo_box_new (
priv->client_cache, extension_name);
+ priv->client_combo = client_combo;
g_signal_connect_swapped (
client_combo, "changed",
G_CALLBACK (source_changed), object);
- source_changed (
- E_NAME_SELECTOR_DIALOG (object),
- E_CLIENT_COMBO_BOX (client_combo));
-
gtk_label_set_mnemonic_widget (
GTK_LABEL (AddressBookLabel), client_combo);
gtk_widget_show (client_combo);
@@ -580,6 +589,8 @@ name_selector_dialog_constructed (GObject *object)
_("Select Contacts from Address Book"));
gtk_widget_grab_focus (search);
+ g_signal_connect (object, "realize", G_CALLBACK (name_selector_dialog_realize_cb), NULL);
+
e_extensible_load_extensions (E_EXTENSIBLE (object));
}