diff options
Diffstat (limited to 'mail/message-list.c')
-rw-r--r-- | mail/message-list.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/mail/message-list.c b/mail/message-list.c index fd153e3e01..98fd90babb 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -4231,6 +4231,28 @@ message_list_count (MessageList *message_list) return data.count; } +static void +ml_getselcount_cb (gint model_row, + gpointer user_data) +{ + struct ml_count_data *data = user_data; + + data->count++; +} + +guint +message_list_selected_count (MessageList *message_list) +{ + struct ml_count_data data = { message_list, 0 }; + + g_return_val_if_fail (message_list != NULL, 0); + g_return_val_if_fail (IS_MESSAGE_LIST (message_list), 0); + + e_tree_selected_row_foreach (E_TREE (message_list), ml_getselcount_cb, &data); + + return data.count; +} + void message_list_freeze (MessageList *ml) { |