summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Cummins <christopher.e.cummins@intel.com>2013-05-20 17:05:29 +0100
committerErick PĂ©rez Castellanos <erick.red@gmail.com>2013-05-27 10:54:18 -0400
commitb3a206331667405726323ddda6f189756529234f (patch)
treec32672683787a5ee30e0417611162879c067d40d
parenta34d27f4f690566ce4b8b2c55c4dac236ef1fb52 (diff)
downloadgnome-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.vala2
-rw-r--r--src/contacts-utils.vala14
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];