aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2013-08-30 00:10:23 +0800
committerMilan Crha <mcrha@redhat.com>2013-08-30 00:10:23 +0800
commit9ad5ddf9cc3e86e59662925d3dcd51ab35c0131c (patch)
treee65790672a3fec525e50d7107961e7d12f22e68a
parent708c5f2e8d49c73d17cd394aff8c8a640ab97422 (diff)
downloadgsoc2013-evolution-9ad5ddf9cc3e86e59662925d3dcd51ab35c0131c.tar
gsoc2013-evolution-9ad5ddf9cc3e86e59662925d3dcd51ab35c0131c.tar.gz
gsoc2013-evolution-9ad5ddf9cc3e86e59662925d3dcd51ab35c0131c.tar.bz2
gsoc2013-evolution-9ad5ddf9cc3e86e59662925d3dcd51ab35c0131c.tar.lz
gsoc2013-evolution-9ad5ddf9cc3e86e59662925d3dcd51ab35c0131c.tar.xz
gsoc2013-evolution-9ad5ddf9cc3e86e59662925d3dcd51ab35c0131c.tar.zst
gsoc2013-evolution-9ad5ddf9cc3e86e59662925d3dcd51ab35c0131c.zip
Bug #706901 - Large default book slows down composer open
-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));
}