[gnome-builder] search: make search smart case sensitive
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] search: make search smart case sensitive
- Date: Sat, 5 Mar 2016 09:12:07 +0000 (UTC)
commit e47b73e8ce19865b910a6102f4718f877d18dcf1
Author: Fangwen Yu <yynyygy gmail com>
Date: Fri Mar 4 19:51:58 2016 +0800
search: make search smart case sensitive
Now search is case sensitive when any upper case letter is
present in the search text, otherwise it's case insensitive, This
is the so-called smart case sensitive and also how devhelp and
IdePatternSpec work.
https://bugzilla.gnome.org/show_bug.cgi?id=762805
libide/ide-source-view.c | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
---
diff --git a/libide/ide-source-view.c b/libide/ide-source-view.c
index 8b4a1eb..bfb76c6 100644
--- a/libide/ide-source-view.c
+++ b/libide/ide-source-view.c
@@ -1039,12 +1039,27 @@ ide_source_view__search_settings_notify_search_text (IdeSourceView *se
{
IdeSourceViewPrivate *priv = ide_source_view_get_instance_private (self);
const gchar *search_text;
+ gboolean case_sensitive = FALSE;
g_assert (IDE_IS_SOURCE_VIEW (self));
g_assert (GTK_SOURCE_IS_SEARCH_SETTINGS (search_settings));
search_text = gtk_source_search_settings_get_search_text (search_settings);
+ if (search_text != NULL)
+ {
+ for (const gchar *s = search_text; *s; s = g_utf8_next_char (s))
+ {
+ if (g_unichar_isupper (g_utf8_get_char (s)))
+ {
+ case_sensitive = TRUE;
+ break;
+ }
+ }
+ }
+
+ gtk_source_search_settings_set_case_sensitive (search_settings, case_sensitive);
+
/*
* If we have IdeSourceView:rubberband-search enabled, then we should try to
* autoscroll to the next search result starting from our saved search mark.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]