From 9ad5ddf9cc3e86e59662925d3dcd51ab35c0131c Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Thu, 29 Aug 2013 18:10:23 +0200 Subject: Bug #706901 - Large default book slows down composer open --- e-util/e-name-selector-dialog.c | 19 +++++++++++++++---- 1 file 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; @@ -146,6 +147,17 @@ name_selector_dialog_populate_categories (ENameSelectorDialog *name_selector_dia G_CALLBACK (search_changed), name_selector_dialog); } +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)); } -- cgit v1.2.3