From 18813ccd8f4367ac98348f08e183d858cfe963f5 Mon Sep 17 00:00:00 2001 From: Michael Meeks Date: Tue, 10 Aug 2010 21:17:40 +0100 Subject: Defer the load / creation of configuration UI with changes to e_preferences_window to take factory callbacks and store a reference to the shell. - This makes start-up substantially faster, particularly on Atom (eg.). Remove a number of idle handlers used to create these UIs in the first instance, cleaning the code. --- modules/addressbook/autocompletion-config.c | 5 ++++- modules/addressbook/autocompletion-config.h | 3 ++- modules/addressbook/e-book-shell-backend.c | 12 ++++++++++-- 3 files changed, 16 insertions(+), 4 deletions(-) (limited to 'modules/addressbook') diff --git a/modules/addressbook/autocompletion-config.c b/modules/addressbook/autocompletion-config.c index 99a8b9b8ae..c7ee192962 100644 --- a/modules/addressbook/autocompletion-config.c +++ b/modules/addressbook/autocompletion-config.c @@ -129,7 +129,7 @@ add_section (GtkWidget *container, } GtkWidget * -autocompletion_config_new (EShell *shell) +autocompletion_config_new (EPreferencesWindow *window) { EShellSettings *shell_settings; ESourceList *source_list; @@ -138,6 +138,9 @@ autocompletion_config_new (EShell *shell) GtkWidget *itembox; GtkWidget *widget; GtkWidget *vbox; + EShell *shell; + + shell = e_preferences_window_get_shell (window); g_return_val_if_fail (E_IS_SHELL (shell), NULL); diff --git a/modules/addressbook/autocompletion-config.h b/modules/addressbook/autocompletion-config.h index 7f94a07ab9..8825161732 100644 --- a/modules/addressbook/autocompletion-config.h +++ b/modules/addressbook/autocompletion-config.h @@ -27,10 +27,11 @@ #include #include +#include G_BEGIN_DECLS -GtkWidget * autocompletion_config_new (EShell *shell); +GtkWidget *autocompletion_config_new (EPreferencesWindow *window); G_END_DECLS diff --git a/modules/addressbook/e-book-shell-backend.c b/modules/addressbook/e-book-shell-backend.c index 6f3861dad0..d4bf995b90 100644 --- a/modules/addressbook/e-book-shell-backend.c +++ b/modules/addressbook/e-book-shell-backend.c @@ -301,9 +301,18 @@ book_shell_backend_init_preferences (EShell *shell) "contacts", "preferences-autocompletion", _("Contacts"), - autocompletion_config_new (shell), + autocompletion_config_new, 200); + preferences_window = e_shell_get_preferences_window (shell); + e_preferences_window_add_page ( + E_PREFERENCES_WINDOW (preferences_window), + "certificates", + "preferences-certificates", + _("Certificates"), + certificate_manager_config_new, + 700); + return FALSE; } @@ -460,7 +469,6 @@ book_shell_backend_constructed (GObject *object) * things that use S/MIME. Maybe put it in EShell? */ #ifdef ENABLE_SMIME smime_component_init (); - certificate_manager_config_init (shell); #endif book_shell_backend_init_importers (); -- cgit v1.2.3