[libdazzle] prefs/shortcuts: Cancel search when pressing Esc



commit a57254dc7cca52faa07dedeaf19c37b56d707488
Author: Diego Escalante Urrelo <diegoe gnome org>
Date:   Thu Sep 5 18:41:38 2019 -0500

    prefs/shortcuts: Cancel search when pressing Esc
    
    The stop-search signal was not being used by DzlPreferencesView and
    DzlShortcutThemeEditor, and their internal GtkSearchEntry can't be
    accessed by users of those widgets.
    
    See: https://gitlab.gnome.org/GNOME/gnome-builder/issues/303
    Closes: https://gitlab.gnome.org/GNOME/libdazzle/issues/44

 src/prefs/dzl-preferences-view.c          | 16 ++++++++++++++++
 src/shortcuts/dzl-shortcut-theme-editor.c |  5 +++++
 2 files changed, 21 insertions(+)
---
diff --git a/src/prefs/dzl-preferences-view.c b/src/prefs/dzl-preferences-view.c
index 3ee764a..863c5d5 100644
--- a/src/prefs/dzl-preferences-view.c
+++ b/src/prefs/dzl-preferences-view.c
@@ -346,6 +346,16 @@ dzl_preferences_view_search_entry_changed (DzlPreferencesView *self,
   dzl_preferences_view_reapply_filter (self);
 }
 
+static void
+dzl_preferences_view_search_entry_stop_search (DzlPreferencesView *self,
+                                               GtkSearchEntry     *search_entry)
+{
+  g_assert (DZL_IS_PREFERENCES_VIEW (self));
+  g_assert (GTK_IS_SEARCH_ENTRY (search_entry));
+
+  gtk_entry_set_text (GTK_ENTRY(search_entry), "");
+}
+
 static void
 dzl_preferences_view_notify_subpage_stack_visible (DzlPreferencesView *self,
                                                    GParamSpec         *pspec,
@@ -390,6 +400,12 @@ dzl_preferences_view_init (DzlPreferencesView *self)
                            self,
                            G_CONNECT_SWAPPED);
 
+  g_signal_connect_object (priv->search_entry,
+                           "stop-search",
+                           G_CALLBACK (dzl_preferences_view_search_entry_stop_search),
+                           self,
+                           G_CONNECT_SWAPPED);
+
   g_signal_connect_object (priv->page_stack,
                            "notify::visible-child",
                            G_CALLBACK (dzl_preferences_view_notify_visible_child),
diff --git a/src/shortcuts/dzl-shortcut-theme-editor.c b/src/shortcuts/dzl-shortcut-theme-editor.c
index b390dda..94abbd9 100644
--- a/src/shortcuts/dzl-shortcut-theme-editor.c
+++ b/src/shortcuts/dzl-shortcut-theme-editor.c
@@ -404,6 +404,11 @@ dzl_shortcut_theme_editor_init (DzlShortcutThemeEditor *self)
                            self,
                            G_CONNECT_SWAPPED);
 
+  g_signal_connect (priv->filter_entry,
+                    "stop-search",
+                    G_CALLBACK (gtk_entry_set_text),
+                    (gpointer) "");
+
   g_signal_connect_object (priv->tree_view,
                            "row-activated",
                            G_CALLBACK (dzl_shortcut_theme_editor_row_activated),


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