aboutsummaryrefslogtreecommitdiffstats
path: root/mail/message-list.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2002-08-03 06:36:11 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2002-08-03 06:36:11 +0800
commit405ef3bcf3cf661a017fd133a0771c3cb1b78b3a (patch)
tree95d06ff9cf7ec13c2cffd25f5164408e295b1c3c /mail/message-list.c
parent784fe19dd5554f138a4f24695060ada980665136 (diff)
downloadgsoc2013-evolution-405ef3bcf3cf661a017fd133a0771c3cb1b78b3a.tar
gsoc2013-evolution-405ef3bcf3cf661a017fd133a0771c3cb1b78b3a.tar.gz
gsoc2013-evolution-405ef3bcf3cf661a017fd133a0771c3cb1b78b3a.tar.bz2
gsoc2013-evolution-405ef3bcf3cf661a017fd133a0771c3cb1b78b3a.tar.lz
gsoc2013-evolution-405ef3bcf3cf661a017fd133a0771c3cb1b78b3a.tar.xz
gsoc2013-evolution-405ef3bcf3cf661a017fd133a0771c3cb1b78b3a.tar.zst
gsoc2013-evolution-405ef3bcf3cf661a017fd133a0771c3cb1b78b3a.zip
Updated to use the new Follow-Up tags. Instead of storing a string
2002-08-02 Jeffrey Stedfast <fejj@ximian.com> * mail-display.c (mail_display_render): Updated to use the new Follow-Up tags. Instead of storing a string containing the follow-up tag value, we now have to store the CamelMessageInfo. (mail_display_destroy): Unref the folder and the message-info. * folder-browser.c (followup_tag_complete): No longer needed. (on_right_clicked): Use the individual follow-up tags to decide whether or not to enable something. * message-list.c (ml_tree_value_at): Update to use the new Follow-Up tags. * mail-callbacks.c (flag_for_followup): Update to use the new MessageTagEditor API. (tag_editor_ok): Update this too. (flag_followup_completed): Updated this too. (flag_followup_clear): Set all the follow-up tag values to "". svn path=/trunk/; revision=17691
Diffstat (limited to 'mail/message-list.c')
-rw-r--r--mail/message-list.c53
1 files changed, 17 insertions, 36 deletions
diff --git a/mail/message-list.c b/mail/message-list.c
index ddfbe0b465..ab2e95a0b0 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -46,8 +46,6 @@
#include "mail-ops.h"
#include "Mail.h"
-#include "message-tag-followup.h"
-
#include "art/mail-new.xpm"
#include "art/mail-read.xpm"
#include "art/mail-replied.xpm"
@@ -910,42 +908,25 @@ ml_tree_value_at (ETreeModel *etm, ETreePath path, int col, void *model_data)
const char *tag;
tag = camel_tag_get ((CamelTag **) &msg_info->user_tags, "follow-up");
- if (tag)
+ if (tag && *tag)
return GINT_TO_POINTER (TRUE);
else
return GINT_TO_POINTER (FALSE);
}
case COL_FOLLOWUP_DUE_BY: {
- struct _FollowUpTag *tag;
- const char *tag_value;
+ const char *tag;
time_t due_by;
- tag_value = camel_tag_get ((CamelTag **) &msg_info->user_tags, "follow-up");
- if (tag_value) {
- tag = message_tag_followup_decode (tag_value);
- due_by = tag->target_date;
- g_free (tag);
+ tag = camel_tag_get ((CamelTag **) &msg_info->user_tags, "due-by");
+ if (tag && *tag) {
+ due_by = header_decode_date (tag, NULL);
return GINT_TO_POINTER (due_by);
} else {
return GINT_TO_POINTER (0);
}
}
- case COL_FOLLOWUP_FLAG: {
- struct _FollowUpTag *tag;
- const char *tag_value;
- int flag_type;
-
- tag_value = camel_tag_get ((CamelTag **) &msg_info->user_tags, "follow-up");
- if (tag_value) {
- tag = message_tag_followup_decode (tag_value);
- flag_type = tag ? tag->type : FOLLOWUP_FLAG_NONE;
- g_free (tag);
-
- return (void *) message_tag_followup_i18n_name (flag_type);
- } else {
- return NULL;
- }
- }
+ case COL_FOLLOWUP_FLAG:
+ return (void *) camel_tag_get ((CamelTag **) &msg_info->user_tags, "follow-up");
case COL_ATTACHMENT:
return GINT_TO_POINTER ((msg_info->flags & CAMEL_MESSAGE_ATTACHMENTS) != 0);
case COL_FROM:
@@ -980,32 +961,32 @@ ml_tree_value_at (ETreeModel *etm, ETreePath path, int col, void *model_data)
return GINT_TO_POINTER (!(msg_info->flags & CAMEL_MESSAGE_SEEN));
}
case COL_COLOUR: {
- const char *colour, *followup, *label;
+ const char *colour, *due_by, *completed, *label;
- /* Priority: colour tag; label tag; important flag; follow-up tag */
+ /* Priority: colour tag; label tag; important flag; due-by tag */
colour = camel_tag_get ((CamelTag **) &msg_info->user_tags, "colour");
- followup = camel_tag_get ((CamelTag **) &msg_info->user_tags, "follow-up");
+ due_by = camel_tag_get ((CamelTag **) &msg_info->user_tags, "due-by");
+ completed = camel_tag_get ((CamelTag **) &msg_info->user_tags, "completed-on");
label = camel_tag_get ((CamelTag **) &msg_info->user_tags, "label");
if (colour == NULL) {
if (label != NULL) {
- colour = mail_config_get_label_color_string (filter_label_index(label));
+ colour = mail_config_get_label_color_string (filter_label_index (label));
} else if (msg_info->flags & CAMEL_MESSAGE_FLAGGED) {
/* FIXME: extract from the xpm somehow. */
colour = "#A7453E";
- } else if (followup != NULL) {
- struct _FollowUpTag *tag;
+ } else if ((due_by && *due_by) && !(completed && *completed)) {
time_t now = time (NULL);
+ time_t target_date;
- tag = message_tag_followup_decode (followup);
- if (tag && now >= tag->target_date) {
+ target_date = header_decode_date (due_by, NULL);
+ if (now >= target_date) {
/* FIXME: extract from the xpm somehow. */
colour = "#A7453E";
}
- g_free (tag);
}
}
- return (void *)colour;
+ return (void *) colour;
}
case COL_LOCATION: {
CamelFolder *folder;