diff options
author | George Lebl <jirka@5z.com> | 2004-02-29 18:30:47 +0000 |
---|---|---|
committer | George Lebl <jirka@src.gnome.org> | 2004-02-29 18:30:47 +0000 |
commit | 359ffa4eb3e4736fbfd533adf1453c7c78222919 (patch) | |
tree | f2f476073a315670a40b39ac69a9200c08106b28 | |
parent | 816471a2dedf16918e9a2e3830cef127c58e7c8c (diff) | |
download | gdm-359ffa4eb3e4736fbfd533adf1453c7c78222919.tar.gz |
While investigating speed issues with language dialog make init lazy and
Sun Feb 29 10:30:35 2004 George Lebl <jirka@5z.com>
* gui/greeter/greeter.c, gui/greeter/greeter_action_language.[ch]:
While investigating speed issues with language dialog make init
lazy and show the dialog before filling it with stuff to make it
seem like something is happening.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | gui/greeter/greeter.c | 1 | ||||
-rw-r--r-- | gui/greeter/greeter_action_language.c | 24 | ||||
-rw-r--r-- | gui/greeter/greeter_action_language.h | 1 |
4 files changed, 17 insertions, 16 deletions
@@ -1,3 +1,10 @@ +Sun Feb 29 10:30:35 2004 George Lebl <jirka@5z.com> + + * gui/greeter/greeter.c, gui/greeter/greeter_action_language.[ch]: + While investigating speed issues with language dialog make init + lazy and show the dialog before filling it with stuff to make it + seem like something is happening. + Sun Feb 29 10:02:51 2004 George Lebl <jirka@5z.com> * gui/gdmlanguages.c: Make gdm know about en_DK diff --git a/gui/greeter/greeter.c b/gui/greeter/greeter.c index 6965d159..ba1131cc 100644 --- a/gui/greeter/greeter.c +++ b/gui/greeter/greeter.c @@ -1071,7 +1071,6 @@ main (int argc, char *argv[]) return r; greeter_session_init (); - greeter_language_init (); ve_signal_add (SIGHUP, greeter_reread_config, NULL); diff --git a/gui/greeter/greeter_action_language.c b/gui/greeter/greeter_action_language.c index 1f928f8b..7146e217 100644 --- a/gui/greeter/greeter_action_language.c +++ b/gui/greeter/greeter_action_language.c @@ -86,18 +86,6 @@ greeter_langauge_initialize_model (void) g_list_free (list); } -void -greeter_language_init (void) -{ - static gboolean initted = FALSE; - - g_assert ( ! initted); - - greeter_langauge_initialize_model (); - - initted = TRUE; -} - gboolean greeter_language_get_save_language (void) { @@ -196,9 +184,10 @@ void greeter_action_language (GreeterItemInfo *info, gpointer user_data) { + GtkWidget *view = NULL; + if (dialog == NULL) { - GtkWidget *view; GtkWidget *swindow; GtkWidget *label; char *s; @@ -226,7 +215,7 @@ greeter_action_language (GreeterItemInfo *info, gtk_label_set_use_markup (GTK_LABEL (label), TRUE); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), label, FALSE, FALSE, 0); - view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (lang_model)); + view = gtk_tree_view_new (); gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (view), TRUE); /* FIXME: we should handle this better, but things really look * like crap if we aren't always LTR */ @@ -267,6 +256,13 @@ greeter_action_language (GreeterItemInfo *info, gdm_wm_center_window (GTK_WINDOW (dialog)); } gdm_wm_no_login_focus_push (); + if (view != NULL) + { + gtk_widget_show_now (dialog); + greeter_langauge_initialize_model (); + gtk_tree_view_set_model (GTK_TREE_VIEW (view), + GTK_TREE_MODEL (lang_model)); + } switch (gtk_dialog_run (GTK_DIALOG (dialog))) { case GTK_RESPONSE_OK: diff --git a/gui/greeter/greeter_action_language.h b/gui/greeter/greeter_action_language.h index ca423c5b..6408a02a 100644 --- a/gui/greeter/greeter_action_language.h +++ b/gui/greeter/greeter_action_language.h @@ -3,7 +3,6 @@ #include "greeter_item.h" -void greeter_language_init (void); gboolean greeter_language_get_save_language (void); gchar *greeter_language_get_language (const char *old_language); void greeter_action_language (GreeterItemInfo *info, |