[gtk+/adwaita: 3/9] inspector: Allow Escape to cancel picking



commit 2e5cda99f87fa2133b5ddc4d545eb2acea727437
Author: Matthias Clasen <mclasen redhat com>
Date:   Thu Jun 12 22:29:31 2014 -0400

    inspector: Allow Escape to cancel picking

 gtk/inspector/inspect-button.c |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/gtk/inspector/inspect-button.c b/gtk/inspector/inspect-button.c
index dd21f0d..db88a8c 100644
--- a/gtk/inspector/inspect-button.c
+++ b/gtk/inspector/inspect-button.c
@@ -263,6 +263,8 @@ property_query_event (GtkWidget *widget,
                       GdkEvent  *event,
                       gpointer   data)
 {
+  GtkInspectorWindow *iw = (GtkInspectorWindow *)data;
+
   if (event->type == GDK_BUTTON_RELEASE)
     {
       g_signal_handlers_disconnect_by_func (widget, property_query_event, data);
@@ -274,6 +276,21 @@ property_query_event (GtkWidget *widget,
     {
       on_highlight_widget (widget, event, data);
     }
+  else if (event->type == GDK_KEY_PRESS)
+    {
+      GdkEventKey *ke = (GdkEventKey*)event;
+      GdkDevice *device;
+
+      if (ke->keyval == GDK_KEY_Escape)
+        {
+          g_signal_handlers_disconnect_by_func (widget, property_query_event, data);
+          gtk_grab_remove (widget);
+          device = gdk_device_get_associated_device (gdk_event_get_device (event));
+          gdk_device_ungrab (device, GDK_CURRENT_TIME);
+          gdk_window_raise (gtk_widget_get_window (GTK_WIDGET (iw)));
+          clear_flash (iw);
+        }
+    }
 
   return FALSE;
 }


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