#include "remotefolder.h"
#include "partial_download.h"
#include "statusbar.h"
-#include "summaryview.h"
/* Dependecies to be removed ?! */
#include "prefs_common.h"
return (gint_a - gint_b);
}
-gint folder_item_open(FolderItem *item)
+void folder_item_process_open(FolderItem *item)
{
gchar *buf;
- g_return_val_if_fail(item->no_select == FALSE, -1);
-
+ if (item == NULL)
+ return;
if((item->folder->klass->scan_required != NULL) &&
(item->folder->klass->scan_required(item->folder, item))) {
folder_item_scan_full(item, TRUE);
+ } else {
+ folder_item_syncronize_flags(item);
}
- folder_item_syncronize_flags(item);
/* Processing */
buf = g_strdup_printf(_("Processing (%s)...\n"),
folder_item_apply_processing(item);
- item->opened = TRUE;
-
debug_print("done.\n");
+ return;
+}
+
+gint folder_item_open(FolderItem *item)
+{
+ g_return_val_if_fail(item->no_select == FALSE, -1);
+
+ item->opened = TRUE;
return 0;
}
g_return_val_if_fail(item != NULL, -1);
g_return_val_if_fail(item->no_select == FALSE, -1);
- summary_lock(mainwindow_get_mainwindow()->summaryview);
-
if (item->new_msgs) {
folder_item_update_freeze();
mlist = folder_item_get_msg_list(item);
folder_item_update(item, F_ITEM_UPDATE_MSGCNT);
- summary_unlock(mainwindow_get_mainwindow()->summaryview);
-
item->opened = FALSE;
folder = item->folder;
g_slist_free(folder_list);
if (new_list != NULL) {
+ GSList *tmp_list = NULL;
newmsg_list = get_msginfos(item, new_list);
g_slist_free(new_list);
+ tmp_list = g_slist_concat(g_slist_copy(exists_list), g_slist_copy(newmsg_list));
+ syncronize_flags(item, tmp_list);
+ g_slist_free(tmp_list);
+ } else {
+ syncronize_flags(item, exists_list);
}
- syncronize_flags(item, exists_list);
-
folder_item_update_freeze();
if (newmsg_list != NULL) {
GSList *elem;