diff options
author | Matthew Barnes <mbarnes@src.gnome.org> | 2008-08-08 12:26:12 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@src.gnome.org> | 2008-08-08 12:26:12 +0800 |
commit | cea054cd54d84479352a43bbabc19c9ce9af5efb (patch) | |
tree | ba02763209ba0f22989024004f57689071603ec5 /mail/message-list.c | |
parent | 91a6b6899e5568ed34f913bedb538dd6c9e35b32 (diff) | |
download | gsoc2013-evolution-cea054cd54d84479352a43bbabc19c9ce9af5efb.tar.gz gsoc2013-evolution-cea054cd54d84479352a43bbabc19c9ce9af5efb.tar.zst gsoc2013-evolution-cea054cd54d84479352a43bbabc19c9ce9af5efb.zip |
Merge revisions 35747:35930 from trunk.
svn path=/branches/kill-bonobo/; revision=35931
Diffstat (limited to 'mail/message-list.c')
-rw-r--r-- | mail/message-list.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/mail/message-list.c b/mail/message-list.c index 8fd0ea8092..9149fd673b 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -2589,7 +2589,7 @@ find_next_selectable (MessageList *ml) return NULL; info = get_message_info (ml, node); - if (is_node_selectable (ml, info)) + if (info && is_node_selectable (ml, info)) return NULL; last = e_tree_row_count (ml->tree); @@ -2603,7 +2603,7 @@ find_next_selectable (MessageList *ml) while (vrow < last) { node = e_tree_node_at_row (et, vrow); info = get_message_info (ml, node); - if (is_node_selectable (ml, info)) + if (info && is_node_selectable (ml, info)) return g_strdup (camel_message_info_uid (info)); vrow ++; } @@ -2615,7 +2615,7 @@ find_next_selectable (MessageList *ml) while (vrow >= 0) { node = e_tree_node_at_row (et, vrow); info = get_message_info (ml, node); - if (is_node_selectable (ml, info)) + if (info && is_node_selectable (ml, info)) return g_strdup (camel_message_info_uid (info)); vrow --; } @@ -3644,6 +3644,9 @@ glib_crapback(void *key, void *data, void *x) struct _glibsuxcrap *y = x; CamelMessageInfo *mi; + if(y->count) + return; + mi = camel_folder_get_message_info(y->folder, key); if (mi) { y->count++; @@ -3651,7 +3654,7 @@ glib_crapback(void *key, void *data, void *x) } } -/* returns number of hidden messages */ +/* returns 0 or 1 depending if there are hidden messages */ unsigned int message_list_hidden(MessageList *ml) { @@ -4310,6 +4313,15 @@ mail_regen_list (MessageList *ml, const char *search, const char *hideexpr, Came camel_folder_thread_messages_ref(m->tree); } + if (message_list_length (ml) <= 0) { + /* there is some info why the message list is empty, let it be something useful */ + char *txt = g_strconcat (_("Generating message list"), "..." , NULL); + + e_tree_set_info_message (m->ml->tree, txt); + + g_free (txt); + } + /* if we're busy already kick off timeout processing, so normal updates are immediate */ if (ml->regen == NULL) ml_regen_timeout(m); |