diff options
author | Brian Cameron <brian.cameron@sun.com> | 2007-12-10 18:40:21 +0000 |
---|---|---|
committer | Brian Cameron <bcameron@src.gnome.org> | 2007-12-10 18:40:21 +0000 |
commit | 9a2a1ef40ad6bdaede7d591d497e39f65428404e (patch) | |
tree | 5d1d776c7c6e90f1e85a0d1de9826a3090617639 | |
parent | e775af41bc770b994dacd1c1f42c5ee19f943831 (diff) | |
download | gdm-9a2a1ef40ad6bdaede7d591d497e39f65428404e.tar.gz |
Now "Esc" key acts like the "Start Again" button. Fixes enhancement
2007-12-10 Brian Cameron <brian.cameron@sun.com>
* gui/gdmlogin.c, gui/greeter/greeter.c: Now "Esc" key acts like the
"Start Again" button. Fixes enhancement request #482642. Patch by
Ray Strode <rstrode@redhat.com>.
svn path=/branches/gnome-2-20/; revision=5547
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | gui/gdmlogin.c | 17 | ||||
-rw-r--r-- | gui/greeter/greeter.c | 20 |
3 files changed, 35 insertions, 8 deletions
@@ -1,3 +1,9 @@ +2007-12-10 Brian Cameron <brian.cameron@sun.com> + + * gui/gdmlogin.c, gui/greeter/greeter.c: Now "Esc" key acts like the + "Start Again" button. Fixes enhancement request #482642. Patch by + Ray Strode <rstrode@redhat.com>. + 2007-12-03 Brian Cameron <brian.cameron@sun.com> * gui/gdmsetup.c: In gdm_load_displays, just return if keys diff --git a/gui/gdmlogin.c b/gui/gdmlogin.c index f673ddff..fa989863 100644 --- a/gui/gdmlogin.c +++ b/gui/gdmlogin.c @@ -2132,6 +2132,20 @@ gdm_set_welcomemsg (void) g_free (greeting); } +static gboolean +key_press_event (GtkWidget *widget, GdkEventKey *key, gpointer data) +{ + if (key->keyval == GDK_Escape) + { + printf ("%c%c%c\n", STX, BEL, GDM_INTERRUPT_CANCEL); + fflush (stdout); + + return TRUE; + } + + return FALSE; +} + static void gdm_login_gui_init (void) { @@ -2168,6 +2182,9 @@ gdm_login_gui_init (void) gtk_widget_set_events (login, GDK_ALL_EVENTS_MASK); + g_signal_connect (G_OBJECT (login), "key_press_event", + G_CALLBACK (key_press_event), NULL); + gtk_window_set_title (GTK_WINDOW (login), _("GDM Login")); /* connect for fingering */ if (browser_ok && gdm_config_get_bool (GDM_KEY_BROWSER)) diff --git a/gui/greeter/greeter.c b/gui/greeter/greeter.c index dcb1da66..4a0cdf13 100644 --- a/gui/greeter/greeter.c +++ b/gui/greeter/greeter.c @@ -592,10 +592,16 @@ process_operation (guchar op_code, static gboolean key_press_event (GtkWidget *widget, GdkEventKey *key, gpointer data) { - if (DOING_GDM_DEVELOPMENT && (key->keyval == GDK_Escape)) + if (key->keyval == GDK_Escape) { - process_operation (GDM_QUIT, NULL); - + if (DOING_GDM_DEVELOPMENT) + process_operation (GDM_QUIT, NULL); + else + { + printf ("%c%c%c\n", STX, BEL, GDM_INTERRUPT_CANCEL); + fflush (stdout); + } + return TRUE; } @@ -1355,11 +1361,9 @@ main (int argc, char *argv[]) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - if G_UNLIKELY (DOING_GDM_DEVELOPMENT) { - g_signal_connect (G_OBJECT (window), "key_press_event", - G_CALLBACK (key_press_event), NULL); - } - + g_signal_connect (G_OBJECT (window), "key_press_event", + G_CALLBACK (key_press_event), NULL); + canvas = gnome_canvas_new_aa (); GTK_WIDGET_UNSET_FLAGS (canvas, GTK_CAN_FOCUS); gnome_canvas_set_scroll_region (GNOME_CANVAS (canvas), |