summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Lebl <jirka@5z.com>2004-02-29 18:30:47 +0000
committerGeorge Lebl <jirka@src.gnome.org>2004-02-29 18:30:47 +0000
commit359ffa4eb3e4736fbfd533adf1453c7c78222919 (patch)
treef2f476073a315670a40b39ac69a9200c08106b28
parent816471a2dedf16918e9a2e3830cef127c58e7c8c (diff)
downloadgdm-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--ChangeLog7
-rw-r--r--gui/greeter/greeter.c1
-rw-r--r--gui/greeter/greeter_action_language.c24
-rw-r--r--gui/greeter/greeter_action_language.h1
4 files changed, 17 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog
index 1e7c072e..6a387549 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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,