[Xfce4-commits] <xfce4-dict:master> Quit/Close main window if Escape is pressed.

Enrico Tröger noreply at xfce.org
Sun May 30 12:58:01 CEST 2010


Updating branch refs/heads/master
         to 3b9cd23c5fe85fd81697a2381d619e48d0ea23d3 (commit)
       from 7398e3d577daf29867864209e83840f517d5ee64 (commit)

commit 3b9cd23c5fe85fd81697a2381d619e48d0ea23d3
Author: Enrico Tröger <enrico.troeger at uvena.de>
Date:   Sun May 30 11:46:49 2010 +0200

    Quit/Close main window if Escape is pressed.

 ChangeLog |    6 ++++++
 lib/gui.c |   12 ++++++++++++
 2 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 8023c91..e5dc7ff 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-05-29  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>
+
+ * lib/gui.c:
+   Quit/Close main window if Escape is pressed.
+
+
 2010-01-01  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>
 
  * *:
diff --git a/lib/gui.c b/lib/gui.c
index 1054158..552cf9f 100644
--- a/lib/gui.c
+++ b/lib/gui.c
@@ -615,6 +615,16 @@ void dict_gui_finalize(DictData *dd)
 		gdk_cursor_unref(regular_cursor);
 }
 
+static gboolean window_key_release_cb(GtkWidget *widget, GdkEventKey *event, DictData *dd)
+{
+	if (event->keyval == GDK_Escape)
+	{
+		/* quit on Escape */
+		g_signal_emit_by_name(dd->close_button, "clicked");
+	}
+	return FALSE;
+}
+
 
 void dict_gui_create_main_window(DictData *dd)
 {
@@ -632,6 +642,8 @@ void dict_gui_create_main_window(DictData *dd)
 	gtk_window_set_icon(GTK_WINDOW(dd->window), icon);
 	g_object_unref(icon);
 
+	g_signal_connect(dd->window, "key-release-event", G_CALLBACK(window_key_release_cb), dd);
+
 	main_box = gtk_vbox_new(FALSE, 0);
 	gtk_widget_show(main_box);
 	gtk_container_add(GTK_CONTAINER(dd->window), main_box);



More information about the Xfce4-commits mailing list