[gnome-control-center] region: Handle escape in the input chooser's filter entry



commit ff656743f4de922369ca41174980f756d16a6756
Author: Rui Matos <tiagomatos gmail com>
Date:   Tue Apr 26 18:43:46 2016 +0200

    region: Handle escape in the input chooser's filter entry
    
    Reset the chooser on escape.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=765909

 panels/region/cc-input-chooser.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)
---
diff --git a/panels/region/cc-input-chooser.c b/panels/region/cc-input-chooser.c
index 548ada6..da7dd4e 100644
--- a/panels/region/cc-input-chooser.c
+++ b/panels/region/cc-input-chooser.c
@@ -1024,6 +1024,17 @@ cc_input_chooser_private_free (gpointer data)
   g_free (priv);
 }
 
+static gboolean
+reset_on_escape (GtkWidget   *widget,
+                 GdkEventKey *event,
+                 GtkWidget   *chooser)
+{
+  if (event->keyval == GDK_KEY_Escape)
+    cc_input_chooser_reset (chooser);
+
+  return FALSE;
+}
+
 GtkWidget *
 cc_input_chooser_new (GtkWindow    *main_window,
                       gboolean      is_login,
@@ -1069,6 +1080,7 @@ cc_input_chooser_new (GtkWindow    *main_window,
   g_signal_connect (priv->list, "selected-rows-changed", G_CALLBACK (selected_rows_changed), chooser);
 
   g_signal_connect_swapped (priv->filter_entry, "search-changed", G_CALLBACK (filter_changed), chooser);
+  g_signal_connect (priv->filter_entry, "key-release-event", G_CALLBACK (reset_on_escape), chooser);
 
   if (priv->is_login)
     gtk_widget_show (WID ("login-label"));


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