sync with 0.9.9 release
[claws.git] / src / folder.c
index f7e1849a3aaecf0f7823dcd08973253f292da9b3..71f7688aa823b3b347e6235dae7ebc3c1255014e 100644 (file)
@@ -1883,20 +1883,35 @@ gchar *folder_item_fetch_msg(FolderItem *item, gint num)
 
 gint folder_item_fetch_all_msg(FolderItem *item)
 {
+       Folder *folder;
        GSList *mlist;
        GSList *cur;
+       gint num = 0;
        gint ret = 0;
 
        g_return_val_if_fail(item != NULL, -1);
 
        debug_print("fetching all messages in %s ...\n", item->path);
 
+       folder = item->folder;
+
+       if (folder->ui_func)
+               folder->ui_func(folder, item, folder->ui_func_data ?
+                               folder->ui_func_data : GINT_TO_POINTER(num));
+
        mlist = folder_item_get_msg_list(item);
 
        for (cur = mlist; cur != NULL; cur = cur->next) {
                MsgInfo *msginfo = (MsgInfo *)cur->data;
                gchar *msg;
 
+               num++;
+               if (folder->ui_func)
+                       folder->ui_func(folder, item,
+                                       folder->ui_func_data ?
+                                       folder->ui_func_data :
+                                       GINT_TO_POINTER(num));
+
                msg = folder_item_fetch_msg(item, msginfo->msgnum);
                if (!msg) {
                        g_warning("Can't fetch message %d. Aborting.\n",