[gtk+/wip/emoji/preview: 5/5] Emoji: Make search case-insensitive
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/emoji/preview: 5/5] Emoji: Make search case-insensitive
- Date: Sun, 27 Aug 2017 21:11:59 +0000 (UTC)
commit 729b423613f565393e898501ad93c772b88237d8
Author: Matthias Clasen <mclasen redhat com>
Date: Sun Aug 27 17:10:28 2017 -0400
Emoji: Make search case-insensitive
Translated names are inevitable going to have some capitalization,
so be prepared to ignore it when searching.
gtk/gtkemojichooser.c | 13 ++++++++++---
1 files changed, 10 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkemojichooser.c b/gtk/gtkemojichooser.c
index f2d11c5..ad6f7d5 100644
--- a/gtk/gtkemojichooser.c
+++ b/gtk/gtkemojichooser.c
@@ -459,13 +459,15 @@ filter_func (GtkFlowBoxChild *child,
GVariant *emoji_data;
const char *text;
const char *name;
- const char *translated;
+ char *cf_text;
+ char *cf_name;
gboolean res;
res = TRUE;
chooser = GTK_EMOJI_CHOOSER (gtk_widget_get_ancestor (GTK_WIDGET (child), GTK_TYPE_EMOJI_CHOOSER));
text = gtk_entry_get_text (GTK_ENTRY (chooser->search_entry));
+
emoji_data = (GVariant *) g_object_get_data (G_OBJECT (child), "emoji-data");
if (text[0] == 0)
@@ -475,8 +477,13 @@ filter_func (GtkFlowBoxChild *child,
goto out;
g_variant_get_child (emoji_data, 1, "&s", &name);
- translated = g_dpgettext2 (GETTEXT_PACKAGE, "emoji name", name);
- res = strstr (translated, text) != NULL;
+ name = g_dpgettext2 (GETTEXT_PACKAGE, "emoji name", name);
+
+ cf_text = g_utf8_casefold (text, -1);
+ cf_name = g_utf8_casefold (name, -1);
+ res = strstr (cf_name, cf_text) != NULL;
+ g_free (cf_text);
+ g_free (cf_name);
out:
if (res)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]