aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog8
-rw-r--r--mail/em-folder-browser.c14
2 files changed, 18 insertions, 4 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 843dcf29da..e32c4959fc 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,13 @@
2007-11-20 Milan Crha <mcrha@redhat.com>
+ ** Fix for bug #480514
+
+ * em-folder-browser.c: (get_view_query),
+ (emfb_search_search_activated): Let work "Last 5 Days' Messages" and
+ "Recent messages" filters in Sent folder too.
+
+2007-11-20 Milan Crha <mcrha@redhat.com>
+
** Fix for bug #493783
* em-format-html.c: (efh_format_timeout): Do not erase old content
diff --git a/mail/em-folder-browser.c b/mail/em-folder-browser.c
index 9bbb62e30f..8f479a15e1 100644
--- a/mail/em-folder-browser.c
+++ b/mail/em-folder-browser.c
@@ -789,7 +789,7 @@ emfb_search_config_search(EFilterBar *efb, FilterRule *rule, int id, const char
}
static char *
-get_view_query (ESearchBar *esb)
+get_view_query (ESearchBar *esb, CamelFolder *folder, const char *folder_uri)
{
char *view_sexp = NULL;
gint id;
@@ -812,10 +812,16 @@ get_view_query (ESearchBar *esb)
view_sexp = "(match-all (system-flag \"Seen\"))";
break;
case VIEW_RECENT_MESSAGES:
- view_sexp = "(match-all (> (get-received-date) (- (get-current-date) 86400)))";
+ if (!em_utils_folder_is_sent (folder, folder_uri))
+ view_sexp = "(match-all (> (get-received-date) (- (get-current-date) 86400)))";
+ else
+ view_sexp = "(match-all (> (get-sent-date) (- (get-current-date) 86400)))";
break;
case VIEW_LAST_FIVE_DAYS:
- view_sexp = " (match-all (> (get-received-date) (- (get-current-date) 432000)))";
+ if (!em_utils_folder_is_sent (folder, folder_uri))
+ view_sexp = " (match-all (> (get-received-date) (- (get-current-date) 432000)))";
+ else
+ view_sexp = " (match-all (> (get-sent-date) (- (get-current-date) 432000)))";
break;
case VIEW_WITH_ATTACHMENTS:
view_sexp = "(match-all (system-flag \"Attachments\"))";
@@ -1129,7 +1135,7 @@ emfb_search_search_activated(ESearchBar *esb, EMFolderBrowser *emfb)
camel_object_state_write (emfv->folder);
/* Merge the view and search expresion*/
- view_sexp = get_view_query (esb);
+ view_sexp = get_view_query (esb, emfv->folder, emfv->folder_uri);
g_object_get (esb, "query", &search_word, NULL);
if (search_word && *search_word)