diff options
-rw-r--r-- | mail/ChangeLog | 17 | ||||
-rw-r--r-- | mail/folder-browser.c | 2 | ||||
-rw-r--r-- | mail/mail-callbacks.c | 2 | ||||
-rw-r--r-- | mail/message-list.c | 21 |
4 files changed, 38 insertions, 4 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index d1753181ac..e5da7a11db 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,20 @@ +2003-04-30 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (mark_as_unseen): To be consistant with the + message-list envelope toggle, undelete the message when we unmark + the Seen flag here as well. Fixes bug #42118. + +2003-04-30 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (ml_tree_value_at): Fixed to return the correct + values (swapped) in order to fix bug #42120. + +2003-04-30 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (regen_list_regened): Save the tree state before + we tear down the tree and then load it back again. yay. Fixes bug + #42170 and #40074. + 2003-04-30 Not Zed <NotZed@Ximian.com> ** See bug #41748 diff --git a/mail/folder-browser.c b/mail/folder-browser.c index 29a59cbc11..d70ea2c47e 100644 --- a/mail/folder-browser.c +++ b/mail/folder-browser.c @@ -614,7 +614,7 @@ selection_get (GtkWidget *widget, GtkSelectionData *selection_data, message = camel_folder_get_message (source, uids->pdata[i], NULL); g_free (uids->pdata[i]); - if (message) { + if (message) { camel_stream_write (stream, "From - \n", 8); camel_data_wrapper_write_to_stream (CAMEL_DATA_WRAPPER (message), stream); camel_object_unref (CAMEL_OBJECT (message)); diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c index d304f95511..ff77fcd453 100644 --- a/mail/mail-callbacks.c +++ b/mail/mail-callbacks.c @@ -2055,7 +2055,7 @@ mark_as_unseen (BonoboUIComponent *uih, void *user_data, const char *path) fb->seen_id = 0; } - flag_messages (fb, CAMEL_MESSAGE_SEEN, 0); + flag_messages (fb, CAMEL_MESSAGE_SEEN | CAMEL_MESSAGE_DELETED, 0); } void diff --git a/mail/message-list.c b/mail/message-list.c index 3c1dd7e9f7..a33f0d0342 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -902,9 +902,9 @@ ml_tree_value_at (ETreeModel *etm, ETreePath path, int col, void *model_data) child = e_tree_model_node_get_first_child(etm, path); if (child && !e_tree_node_is_expanded(message_list->tree, path)) { if (subtree_unread(message_list, child)) - return (void *)3; + return GINT_TO_POINTER (4); else - return (void *)4; + return GINT_TO_POINTER (3); } if (msg_info->flags & CAMEL_MESSAGE_ANSWERED) @@ -1214,6 +1214,19 @@ save_tree_state(MessageList *ml) g_free(filename); } +static void +load_tree_state (MessageList *ml) +{ + char *filename; + + if (ml->folder == NULL || ml->tree == NULL) + return; + + filename = mail_config_folder_to_cachename (ml->folder, "et-expanded-"); + e_tree_load_expanded_state (ml->tree, filename); + g_free (filename); +} + void message_list_save_state (MessageList *ml) @@ -2768,11 +2781,15 @@ regen_list_regened (struct _mail_msg *mm) return; if (m->dotree) { + save_tree_state (m->ml); + build_tree (m->ml, m->tree, m->changes); if (m->ml->thread_tree) camel_folder_thread_messages_unref(m->ml->thread_tree); m->ml->thread_tree = m->tree; m->tree = NULL; + + load_tree_state (m->ml); } else build_flat (m->ml, m->summary, m->changes); |