diff options
author | Chris Cummins <christopher.e.cummins@intel.com> | 2013-05-20 17:05:29 +0100 |
---|---|---|
committer | Erick PĂ©rez Castellanos <erick.red@gmail.com> | 2013-05-27 10:54:18 -0400 |
commit | b3a206331667405726323ddda6f189756529234f (patch) | |
tree | c32672683787a5ee30e0417611162879c067d40d | |
parent | a34d27f4f690566ce4b8b2c55c4dac236ef1fb52 (diff) | |
download | gnome-contacts-b3a206331667405726323ddda6f189756529234f.tar.gz |
Don't search for "empty" strings
The contact list is only filtered if the search query is not "empty",
i.e., contains at least one non-space character. This prevents returning
a list of all the contacts.
https://bugzilla.gnome.org/show_bug.cgi?id=700729
-rw-r--r-- | src/contacts-list-pane.vala | 2 | ||||
-rw-r--r-- | src/contacts-utils.vala | 14 |
2 files changed, 15 insertions, 1 deletions
diff --git a/src/contacts-list-pane.vala b/src/contacts-list-pane.vala index e2a2879..9ed9e72 100644 --- a/src/contacts-list-pane.vala +++ b/src/contacts-list-pane.vala @@ -40,7 +40,7 @@ public class Contacts.ListPane : Frame { string []? values; string str = filter_entry.get_text (); - if (str.length == 0) + if (Utils.string_is_empty (str)) values = null; else { str = Utils.canonicalize_for_search (str); diff --git a/src/contacts-utils.vala b/src/contacts-utils.vala index 90b7c3a..0020649 100644 --- a/src/contacts-utils.vala +++ b/src/contacts-utils.vala @@ -184,6 +184,20 @@ public class Contacts.Utils : Object { } } + /* Returns false if the given string contains at least one non-"space" + * character. + */ + public static bool string_is_empty (string str) { + unichar c; + + for (int i = 0; str.get_next_char (ref i, out c);) { + if (!c.isspace ()) + return false; + } + + return true; + } + public static string canonicalize_for_search (string str) { unowned string s; var buf = new unichar[18]; |