aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog11
-rw-r--r--mail/mail-local.c8
-rw-r--r--mail/message-list.c16
-rw-r--r--mail/message-list.h1
4 files changed, 26 insertions, 10 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 9de8de366a..e734e79217 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,14 @@
+2000-08-10 Not Zed <NotZed@HelixCode.com>
+
+ * mail-local.c (do_local_reconfigure_folder): Update for
+ append_message api change.
+
+ * message-list.c (message_list_regenerate): Change for search api
+ change.
+ (ml_tree_value_at): Add a colour column, based on the colour
+ assigned in the summary.
+ (message_list_init_renderers): Init colour column.
+
2000-08-09 Cody Russell <bratsche@gnome.org>
* folder-browser-factory.c, mail-view.c: Make the toolbars
diff --git a/mail/mail-local.c b/mail/mail-local.c
index b326a15cac..36ae9770a4 100644
--- a/mail/mail-local.c
+++ b/mail/mail-local.c
@@ -260,6 +260,7 @@ do_local_reconfigure_folder(FolderBrowser *fb, char *newtype, GtkProgress *progr
for (i = 0; i < uids->len; i++) {
CamelMimeMessage *msg;
char *uid = uids->pdata[i];
+ const CamelMessageInfo *info;
update_progress(progress, NULL, i/uids->len);
@@ -272,9 +273,8 @@ do_local_reconfigure_folder(FolderBrowser *fb, char *newtype, GtkProgress *progr
g_warning("cannot get message");
return;
}
- camel_folder_append_message(tofolder, msg,
- camel_folder_get_message_flags(fromfolder, uid),
- ex);
+ info = camel_folder_get_message_info(fromfolder, uid);
+ camel_folder_append_message(tofolder, msg, info, ex);
if (camel_exception_is_set(ex)) {
/* we're fucked a bit ... */
/* need to: delete new folder
@@ -283,8 +283,6 @@ do_local_reconfigure_folder(FolderBrowser *fb, char *newtype, GtkProgress *progr
return;
}
gtk_object_unref((GtkObject *)msg);
-#warning "because flags were removed from the message"
-#warning "we can't keep them when converting mail storage format"
}
update_progress(progress, "Synchronising", 0.0);
diff --git a/mail/message-list.c b/mail/message-list.c
index e6f37d581b..cdec9b2339 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -276,6 +276,9 @@ ml_tree_value_at (ETreeModel *etm, ETreePath *path, int col, void *model_data)
case COL_UNREAD:
return GINT_TO_POINTER(!(msg_info->flags & CAMEL_MESSAGE_SEEN));
+
+ case COL_COLOUR:
+ return camel_tag_get(&msg_info->user_tags, "colour");
}
g_assert_not_reached ();
@@ -288,6 +291,7 @@ ml_tree_value_at (ETreeModel *etm, ETreePath *path, int col, void *model_data)
case COL_PRIORITY:
case COL_ATTACHMENT:
case COL_DELETED:
+ case COL_COLOUR:
case COL_UNREAD:
case COL_SENT:
case COL_RECEIVED:
@@ -397,6 +401,9 @@ message_list_init_renderers (MessageList *message_list)
gtk_object_set(GTK_OBJECT(message_list->render_text),
"bold_column", COL_UNREAD,
NULL);
+ gtk_object_set(GTK_OBJECT(message_list->render_text),
+ "color_column", COL_COLOUR,
+ NULL);
message_list->render_date = e_cell_text_new (
message_list->table_model,
@@ -411,6 +418,9 @@ message_list_init_renderers (MessageList *message_list)
gtk_object_set(GTK_OBJECT(message_list->render_date),
"bold_column", COL_UNREAD,
NULL);
+ gtk_object_set(GTK_OBJECT(message_list->render_date),
+ "color_column", COL_COLOUR,
+ NULL);
message_list->render_online_status = e_cell_checkbox_new ();
@@ -866,11 +876,7 @@ message_list_regenerate (MessageList *message_list, const char *search)
build_flat (message_list, message_list->tree_root, uids);
if (search) {
- int i;
-
- for (i = 0; i < uids->len; i++)
- g_free (g_ptr_array_index (uids, i));
- g_ptr_array_free (uids, TRUE);
+ camel_folder_search_free(message_list->folder, uids);
} else {
camel_folder_free_uids (message_list->folder, uids);
}
diff --git a/mail/message-list.h b/mail/message-list.h
index f21361ef17..443d92d7f4 100644
--- a/mail/message-list.h
+++ b/mail/message-list.h
@@ -43,6 +43,7 @@ enum {
/* Invisible columns */
COL_DELETED,
COL_UNREAD,
+ COL_COLOUR,
};
struct _MessageList {