From: Jose Dapena Paz Date: Wed, 4 Nov 2009 17:39:24 +0000 (+0100) Subject: Filter words do AND, not OR X-Git-Tag: 3.2.11-1~19 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=136416f94be1f6bde388777c2382041a8b0f0d3a Filter words do AND, not OR --- diff --git a/src/widgets/modest-header-view.c b/src/widgets/modest-header-view.c index 62667a4..795c711 100644 --- a/src/widgets/modest-header-view.c +++ b/src/widgets/modest-header-view.c @@ -2130,36 +2130,43 @@ current_folder_needs_filtering (ModestHeaderViewPrivate *priv) static gboolean header_match_string (TnyHeader *header, gchar **words) { + gchar *subject; + gchar *cc; + gchar *bcc; + gchar *to; + gchar *from; + gchar **current_word; gboolean found; - found = FALSE; + subject = tny_header_dup_subject (header); + cc = tny_header_dup_cc (header); + bcc = tny_header_dup_bcc (header); + to = tny_header_dup_to (header); + from = tny_header_dup_from (header); - for (current_word = words; !found && *current_word != NULL; current_word++) { - gchar *subject; - gchar *cc; - gchar *bcc; - gchar *to; - gchar *from; + found = FALSE; - subject = tny_header_dup_subject (header); - cc = tny_header_dup_cc (header); - bcc = tny_header_dup_bcc (header); - to = tny_header_dup_to (header); - from = tny_header_dup_from (header); + for (current_word = words; *current_word != NULL; current_word++) { if ((subject && g_strstr_len (subject, -1, *current_word)) || (cc && g_strstr_len (cc, -1, *current_word)) || (bcc && g_strstr_len (bcc, -1, *current_word)) || (to && g_strstr_len (to, -1, *current_word)) - || (from && g_strstr_len (from, -1, *current_word))) + || (from && g_strstr_len (from, -1, *current_word))) { found = TRUE; - g_free (subject); - g_free (cc); - g_free (bcc); - g_free (to); - g_free (from); + } else { + found = FALSE; + break; + } } + + g_free (subject); + g_free (cc); + g_free (bcc); + g_free (to); + g_free (from); + return found; }