aboutsummaryrefslogtreecommitdiffstats
path: root/mail/message-list.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2003-05-03 00:07:18 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2003-05-03 00:07:18 +0800
commit8a9ec3432ed901063bfe665221cced3be6353015 (patch)
tree285dc7bb77c753a410872a3f859422c5d5fc4394 /mail/message-list.c
parent271ebab0a7a4777bc3750154630278e4aa2614bc (diff)
downloadgsoc2013-evolution-8a9ec3432ed901063bfe665221cced3be6353015.tar
gsoc2013-evolution-8a9ec3432ed901063bfe665221cced3be6353015.tar.gz
gsoc2013-evolution-8a9ec3432ed901063bfe665221cced3be6353015.tar.bz2
gsoc2013-evolution-8a9ec3432ed901063bfe665221cced3be6353015.tar.lz
gsoc2013-evolution-8a9ec3432ed901063bfe665221cced3be6353015.tar.xz
gsoc2013-evolution-8a9ec3432ed901063bfe665221cced3be6353015.tar.zst
gsoc2013-evolution-8a9ec3432ed901063bfe665221cced3be6353015.zip
To be consistant with the message-list envelope toggle, undelete the
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. svn path=/trunk/; revision=21047
Diffstat (limited to 'mail/message-list.c')
-rw-r--r--mail/message-list.c21
1 files changed, 19 insertions, 2 deletions
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);