[tepl] LanguageChooserWidget: invalidate the filter directly
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tepl] LanguageChooserWidget: invalidate the filter directly
- Date: Wed, 4 Nov 2020 22:02:01 +0000 (UTC)
commit 324ed959bb48366add75e573865b4cfb3bb985db
Author: Sébastien Wilmet <swilmet gnome org>
Date: Wed Nov 4 22:53:26 2020 +0100
LanguageChooserWidget: invalidate the filter directly
See the comment in the code.
tepl/tepl-language-chooser-widget.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
---
diff --git a/tepl/tepl-language-chooser-widget.c b/tepl/tepl-language-chooser-widget.c
index 4b0d3b7..3e0f493 100644
--- a/tepl/tepl-language-chooser-widget.c
+++ b/tepl/tepl-language-chooser-widget.c
@@ -284,9 +284,17 @@ filter_cb (GtkListBoxRow *list_box_row,
}
static void
-search_changed_cb (GtkSearchEntry *search_entry,
- TeplLanguageChooserWidget *chooser_widget)
+search_entry_changed_cb (GtkEditable *search_entry,
+ TeplLanguageChooserWidget *chooser_widget)
{
+ /* Invalidate the filter directly, not in the
+ * GtkSearchEntry::search-changed signal because ::search-changed is
+ * emitted after a small delay, and the filter_cb() function is used
+ * elsewhere in the code. To avoid inconsistencies.
+ *
+ * The delay is anyway not necessary because the list is small and is
+ * updated quickly enough, after a quick test.
+ */
gtk_list_box_invalidate_filter (chooser_widget->priv->list_box);
select_first_row (chooser_widget);
}
@@ -463,8 +471,8 @@ tepl_language_chooser_widget_init (TeplLanguageChooserWidget *chooser_widget)
NULL);
g_signal_connect (chooser_widget->priv->search_entry,
- "search-changed",
- G_CALLBACK (search_changed_cb),
+ "changed",
+ G_CALLBACK (search_entry_changed_cb),
chooser_widget);
g_signal_connect (chooser_widget->priv->search_entry,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]