aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog17
-rw-r--r--mail/folder-browser.c2
-rw-r--r--mail/mail-callbacks.c2
-rw-r--r--mail/message-list.c21
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);