From 3bcaab9fe1cd05ace2073922975d07f6fb01a20f Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Wed, 25 Jan 2006 15:34:30 +0000 Subject: Add a CONTROL-Q keybinding to quit. --- doc/tutorial/src/include/cairo-tutorial-gtk.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'doc/tutorial/src/include/cairo-tutorial-gtk.h') diff --git a/doc/tutorial/src/include/cairo-tutorial-gtk.h b/doc/tutorial/src/include/cairo-tutorial-gtk.h index 7be74e21d..cdf96e20a 100644 --- a/doc/tutorial/src/include/cairo-tutorial-gtk.h +++ b/doc/tutorial/src/include/cairo-tutorial-gtk.h @@ -17,6 +17,8 @@ */ #include +#include + #include #ifndef WIDTH @@ -87,6 +89,18 @@ handle_expose (GtkWidget *widget, return FALSE; } +static gboolean +handle_key_press (GtkWidget *widget, + GdkEventKey *event, + gpointer data) +{ + if ((event->keyval == GDK_Q || + event->keyval == GDK_q) && (event->state & GDK_CONTROL_MASK)) + gtk_main_quit (); + + return FALSE; +} + int main (int argc, char **argv) { @@ -108,6 +122,9 @@ main (int argc, char **argv) g_signal_connect (drawing_area, "expose-event", G_CALLBACK (handle_expose), NULL); + g_signal_connect (window, "key-press-event", + G_CALLBACK (handle_key_press), NULL); + gtk_widget_show_all (window); gtk_main (); -- cgit v1.2.1