#include <stdio.h>
#include <unistd.h>
#include <string.h>
-#include <time.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-#include <signal.h>
-#include <errno.h>
#include "main.h"
#include "inc.h"
if (prefs_common.work_offline)
if (alertpanel(_("Offline warning"),
_("You're working offline. Override?"),
- _("Yes"), _("No"), NULL) != G_ALERTDEFAULT)
+ GTK_STOCK_YES, GTK_STOCK_NO, NULL) != G_ALERTDEFAULT)
return;
inc_lock();
if (prefs_common.work_offline)
if (alertpanel(_("Offline warning"),
_("You're working offline. Override?"),
- _("Yes"), _("No"), NULL) != G_ALERTDEFAULT)
+ GTK_STOCK_YES, GTK_STOCK_NO, NULL) != G_ALERTDEFAULT)
return 0;
inc_autocheck_timer_remove();
if (prefs_common.work_offline)
if (alertpanel(_("Offline warning"),
_("You're working offline. Override?"),
- _("Yes"), _("No"), NULL) != G_ALERTDEFAULT)
+ GTK_STOCK_YES, GTK_STOCK_NO, NULL) != G_ALERTDEFAULT)
return;
if (inc_lock_count) return;
progress_dialog_get_fraction(progress);
- stock_pixbuf_gdk(progress->list_view, STOCK_PIXMAP_COMPLETE,
+ stock_pixbuf_gdk(progress->treeview, STOCK_PIXMAP_COMPLETE,
&okpix);
- stock_pixbuf_gdk(progress->list_view, STOCK_PIXMAP_CONTINUE,
+ stock_pixbuf_gdk(progress->treeview, STOCK_PIXMAP_CONTINUE,
¤tpix);
- stock_pixbuf_gdk(progress->list_view, STOCK_PIXMAP_ERROR,
+ stock_pixbuf_gdk(progress->treeview, STOCK_PIXMAP_ERROR,
&errorpix);
if (prefs_common.recv_dialog_mode == RECV_DIALOG_ALWAYS ||
}
dialog->dialog = progress;
- gettimeofday(&dialog->progress_tv, NULL);
- gettimeofday(&dialog->folder_tv, NULL);
+ g_get_current_time(&dialog->progress_tv);
+ g_get_current_time(&dialog->folder_tv);
dialog->queue_list = NULL;
dialog->cur_row = 0;
}
for (; inc_dialog->queue_list != NULL && !cancelled; inc_dialog->cur_row++) {
+ int cur = 0, total = 0;
session = inc_dialog->queue_list->data;
pop3_session = POP3_SESSION(session->session);
}
inc_progress_dialog_clear(inc_dialog);
- progress_dialog_list_select_row(inc_dialog->dialog,
- inc_dialog->cur_row);
+ progress_dialog_scroll_to_row(inc_dialog->dialog,
+ inc_dialog->cur_row);
SET_PIXMAP_AND_TEXT(currentpix, _("Retrieving"));
/* process messages */
folder_item_update_freeze();
- for(msglist_element = msglist; msglist_element != NULL; msglist_element = msglist_element->next) {
+ if (pop3_session->ac_prefs->filter_on_recv)
+ statusbar_print_all(_("Filtering messages...\n"));
+ total = g_slist_length(msglist);
+
+ for(msglist_element = msglist; msglist_element != NULL;
+ msglist_element = msglist_element->next) {
gchar *filename;
msginfo = (MsgInfo *) msglist_element->data;
filename = folder_item_fetch_msg(processing, msginfo->msgnum);
g_free(filename);
+
+ if (pop3_session->ac_prefs->filter_on_recv)
+ statusbar_progress_all(cur++,total, prefs_common.statusbar_update_step);
+
if (!pop3_session->ac_prefs->filter_on_recv ||
!procmsg_msginfo_filter(msginfo))
folder_item_move_msg(inbox, msginfo);
procmsg_msginfo_free(msginfo);
}
folder_item_update_thaw();
+
+ statusbar_progress_all(0,0,0);
+ statusbar_pop_all();
+
g_slist_free(msglist);
statusbar_pop_all();
static void inc_progress_dialog_update_periodic(IncProgressDialog *inc_dialog,
IncSession *inc_session)
{
- struct timeval tv_cur;
- struct timeval tv_result;
+ GTimeVal tv_cur;
+ GTimeVal tv_result;
gint msec;
- gettimeofday(&tv_cur, NULL);
+ g_get_current_time(&tv_cur);
tv_result.tv_sec = tv_cur.tv_sec - inc_dialog->progress_tv.tv_sec;
tv_result.tv_usec = tv_cur.tv_usec - inc_dialog->progress_tv.tv_usec;
if (tv_result.tv_usec < 0) {
tv_result.tv_sec--;
- tv_result.tv_usec += 1000000;
+ tv_result.tv_usec += G_USEC_PER_SEC;
}
msec = tv_result.tv_sec * 1000 + tv_result.tv_usec / 1000;
} else
inbox = folder_get_default_inbox();
if (!inbox) {
- unlink(file);
+ g_unlink(file);
return -1;
}
/* add msg file to drop folder */
if ((msgnum = folder_item_add_msg(
dropfolder, file, NULL, TRUE)) < 0) {
- unlink(file);
+ g_unlink(file);
return -1;
}
msgs = proc_mbox(dest, tmp_mbox, TRUE);
- unlink(tmp_mbox);
+ g_unlink(tmp_mbox);
if (msgs >= 0) empty_mbox(mbox);
unlock_mbox(mbox, lockfd, LOCK_FLOCK);