From ce004bd794e3cea909fada955e8f483b86a579f7 Mon Sep 17 00:00:00 2001 From: Not Zed Date: Tue, 18 Jan 2005 06:09:31 +0000 Subject: ** See bug #70768. 2005-01-18 Not Zed ** See bug #70768. * em-folder-browser.c (emfb_mark_all_read): get the uid list from the message-list (view) rather than folder (model). * message-list.c (message_list_foreach): removed, no longer used. (message_list_get_uids): new function replacing ml_foreach, get visible uids's of messages. svn path=/trunk/; revision=28425 --- mail/message-list.c | 54 +++++++++++++---------------------------------------- 1 file changed, 13 insertions(+), 41 deletions(-) (limited to 'mail/message-list.c') diff --git a/mail/message-list.c b/mail/message-list.c index bbbd192cdb..688c45e437 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -2987,47 +2987,6 @@ on_click (ETree *tree, gint row, ETreePath path, gint col, GdkEvent *event, Mess return TRUE; } -struct message_list_foreach_data { - MessageList *message_list; - MessageListForeachFunc callback; - gpointer user_data; -}; - -static void -mlfe_callback (ETreePath path, gpointer user_data) -{ - struct message_list_foreach_data *mlfe_data = user_data; - const char *uid; - - if (e_tree_model_node_is_root (mlfe_data->message_list->model, path)) - return; - - uid = get_message_uid (mlfe_data->message_list, - path); - if (uid) { - mlfe_data->callback (mlfe_data->message_list, uid, - mlfe_data->user_data); - } else { - /* FIXME: could this the cause of bug #6637 and friends? */ - g_warning ("I wonder if this could be the cause of bug #6637 and friends?"); - g_assert_not_reached (); - } -} - -void -message_list_foreach (MessageList *message_list, - MessageListForeachFunc callback, - gpointer user_data) -{ - struct message_list_foreach_data mlfe_data; - - mlfe_data.message_list = message_list; - mlfe_data.callback = callback; - mlfe_data.user_data = user_data; - e_tree_selected_path_foreach (message_list->tree, - mlfe_callback, &mlfe_data); -} - struct _ml_selected_data { MessageList *ml; GPtrArray *uids; @@ -3047,6 +3006,19 @@ ml_getselected_cb(ETreePath path, void *user_data) g_ptr_array_add(data->uids, g_strdup(uid)); } +GPtrArray * +message_list_get_uids(MessageList *ml) +{ + struct _ml_selected_data data = { + ml, + g_ptr_array_new() + }; + + e_tree_path_foreach(ml->tree, ml_getselected_cb, &data); + + return data.uids; +} + GPtrArray * message_list_get_selected(MessageList *ml) { -- cgit v1.2.3