summaryrefslogtreecommitdiff
path: root/doc/tutorial
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2006-01-25 15:34:30 +0000
committerCarl Worth <cworth@cworth.org>2006-01-25 15:34:30 +0000
commit3bcaab9fe1cd05ace2073922975d07f6fb01a20f (patch)
treee86cf62b2e78b6a9d06c251743a66fe8d774201d /doc/tutorial
parent29479a8b12e3f2575de6ef899142dcd0cd8e21a4 (diff)
Add a CONTROL-Q keybinding to quit.
Diffstat (limited to 'doc/tutorial')
-rw-r--r--doc/tutorial/src/include/cairo-tutorial-gtk.h17
1 files changed, 17 insertions, 0 deletions
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 <gtk/gtk.h>
+#include <gdk/gdkkeysyms.h>
+
#include <cairo.h>
#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 ();