diff options
-rw-r--r-- | mail/ChangeLog | 11 | ||||
-rw-r--r-- | mail/mail-local.c | 8 | ||||
-rw-r--r-- | mail/message-list.c | 16 | ||||
-rw-r--r-- | mail/message-list.h | 1 |
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 { |