gdm r6076 - in trunk: . gui/simple-greeter



Author: mccann
Date: Wed Mar 26 22:48:01 2008
New Revision: 6076
URL: http://svn.gnome.org/viewvc/gdm?rev=6076&view=rev

Log:
2008-03-26  William Jon McCann  <jmccann redhat com>

	* gui/simple-greeter/gdm-greeter-login-window.c: (switch_mode),
	(gdm_greeter_login_window_key_press_event),
	(gdm_greeter_login_window_init):
	Don't cancel the dialog when there is nothing to cancel.



Modified:
   trunk/ChangeLog
   trunk/gui/simple-greeter/gdm-greeter-login-window.c

Modified: trunk/gui/simple-greeter/gdm-greeter-login-window.c
==============================================================================
--- trunk/gui/simple-greeter/gdm-greeter-login-window.c	(original)
+++ trunk/gui/simple-greeter/gdm-greeter-login-window.c	Wed Mar 26 22:48:01 2008
@@ -122,6 +122,8 @@
         gboolean         banner_message_enabled;
         guint            gconf_cnxn;
 
+        guint            dialog_mode;
+
         gboolean         timed_login_enabled;
         guint            timed_login_delay;
         char            *timed_login_username;
@@ -470,6 +472,11 @@
         GtkWidget  *box;
         gboolean    show_restart_buttons;
 
+        /* we want to run this even if we're supposed to
+           be in the mode already so that we reset everything
+           to a known state */
+        login_window->priv->dialog_mode = number;
+
         /* FIXME: do animation */
         default_name = NULL;
 
@@ -1501,7 +1508,9 @@
         login_window = GDM_GREETER_LOGIN_WINDOW (widget);
 
         if (event->keyval == GDK_Escape) {
-                do_cancel (GDM_GREETER_LOGIN_WINDOW (widget));
+                if (login_window->priv->dialog_mode == MODE_AUTHENTICATION) {
+                        do_cancel (GDM_GREETER_LOGIN_WINDOW (widget));
+                }
         }
 
         capslock_on = is_capslock_on ();
@@ -1794,6 +1803,8 @@
 
         login_window->priv->timed_login_enabled = FALSE;
 
+        login_window->priv->dialog_mode = MODE_SELECTION;
+
         gtk_window_set_title (GTK_WINDOW (login_window), _("Login Window"));
         /*gtk_window_set_opacity (GTK_WINDOW (login_window), 0.85);*/
         gtk_window_set_position (GTK_WINDOW (login_window), GTK_WIN_POS_CENTER_ALWAYS);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]