const gchar *file);
static void inc_put_error (IncState istate,
- const gchar *msg);
+ Pop3Session *session);
static void inc_cancel_cb (GtkWidget *widget,
gpointer data);
G_CALLBACK(inc_dialog_delete_cb), dialog);
/* manage_window_set_transient(GTK_WINDOW(progress->window)); */
- progress_dialog_set_value(progress, 0.0);
+ progress_dialog_get_fraction(progress);
stock_pixmap_gdk(progress->clist, STOCK_PIXMAP_COMPLETE,
&okxpm, &okxpmmask);
static void inc_progress_dialog_clear(IncProgressDialog *inc_dialog)
{
- progress_dialog_set_value(inc_dialog->dialog, 0.0);
+ progress_dialog_get_fraction(inc_dialog->dialog);
progress_dialog_set_label(inc_dialog->dialog, "");
if (inc_dialog->mainwin)
main_window_progress_off(inc_dialog->mainwin);
msglist = folder_item_get_msg_list(processing);
/* process messages */
+ folder_item_update_freeze();
for(msglist_element = msglist; msglist_element != NULL; msglist_element = msglist_element->next) {
msginfo = (MsgInfo *) msglist_element->data;
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();
g_slist_free(msglist);
statusbar_pop_all();
manage_window_focus_in
(inc_dialog->dialog->window,
NULL, NULL);
- inc_put_error(inc_state, pop3_session->error_msg);
+ inc_put_error(inc_state, pop3_session);
if (inc_dialog->show_dialog)
manage_window_focus_out
(inc_dialog->dialog->window,
progress_dialog_set_label(inc_dialog->dialog, buf);
}
- progress_dialog_set_percentage
+ progress_dialog_set_fraction
(inc_dialog->dialog,(gfloat)cur_total / (gfloat)total);
- gtk_progress_set_show_text
- (GTK_PROGRESS(inc_dialog->mainwin->progressbar), TRUE);
g_snprintf(buf, sizeof(buf), "%d / %d",
pop3_session->cur_msg, pop3_session->count);
- gtk_progress_set_format_string
- (GTK_PROGRESS(inc_dialog->mainwin->progressbar), buf);
- gtk_progress_bar_update
+ gtk_progress_bar_set_text
+ (GTK_PROGRESS_BAR(inc_dialog->mainwin->progressbar), buf);
+ gtk_progress_bar_set_fraction
(GTK_PROGRESS_BAR(inc_dialog->mainwin->progressbar),
(gfloat)cur_total / (gfloat)total);
return 0;
}
-static void inc_put_error(IncState istate, const gchar *msg)
+static void inc_put_error(IncState istate, Pop3Session *session)
{
gchar *log_msg = NULL;
gchar *err_msg = NULL;
log_msg = _("Connection failed.");
if (prefs_common.no_recv_err_panel)
break;
- err_msg = g_strdup(log_msg);
+ err_msg = g_strdup_printf(_("Connection to %s:%d failed."),
+ SESSION(session)->server,
+ SESSION(session)->port);
break;
case INC_ERROR:
log_msg = _("Error occurred while processing mail.");
if (prefs_common.no_recv_err_panel)
break;
- if (msg)
+ if (session->error_msg)
err_msg = g_strdup_printf
(_("Error occurred while processing mail:\n%s"),
- msg);
+ session->error_msg);
else
err_msg = g_strdup(log_msg);
break;
log_msg = _("Socket error.");
if (prefs_common.no_recv_err_panel)
break;
- err_msg = g_strdup(log_msg);
+ err_msg = g_strdup_printf(_("Socket error on connection to %s:%d."),
+ SESSION(session)->server,
+ SESSION(session)->port);
break;
case INC_EOF:
log_msg = _("Connection closed by the remote host.");
if (prefs_common.no_recv_err_panel)
break;
- err_msg = g_strdup(log_msg);
+ err_msg = g_strdup_printf(_("Connection to %s:%d closed by the remote host."),
+ SESSION(session)->server,
+ SESSION(session)->port);
break;
case INC_LOCKED:
log_msg = _("Mailbox is locked.");
if (prefs_common.no_recv_err_panel)
break;
- if (msg)
+ if (session->error_msg)
err_msg = g_strdup_printf(_("Mailbox is locked:\n%s"),
- msg);
+ session->error_msg);
else
err_msg = g_strdup(log_msg);
break;
log_msg = _("Authentication failed.");
if (prefs_common.no_recv_err_panel)
break;
- if (msg)
+ if (session->error_msg)
err_msg = g_strdup_printf
- (_("Authentication failed:\n%s"), msg);
+ (_("Authentication failed:\n%s"), session->error_msg);
else
err_msg = g_strdup(log_msg);
break;
log_msg = _("Session timed out.");
if (prefs_common.no_recv_err_panel)
break;
- err_msg = g_strdup(log_msg);
+ err_msg = g_strdup_printf(_("Connection to %s:%d timed out."),
+ SESSION(session)->server,
+ SESSION(session)->port);
break;
default:
break;
static gint inc_spool_account(PrefsAccount *account)
{
FolderItem *inbox;
- gchar *mbox, *logname;
+ gchar *mbox;
gint result;
- logname = g_get_user_name();
-
if (account->inbox) {
inbox = folder_find_item_from_path(account->inbox);
if (!inbox)
if (is_file_exist(account->local_mbox))
mbox = g_strdup(account->local_mbox);
- else
- mbox = g_strconcat(account->local_mbox,
- G_DIR_SEPARATOR_S, logname, NULL);
+ else if (is_dir_exist(account->local_mbox))
+ mbox = g_strconcat(account->local_mbox, G_DIR_SEPARATOR_S,
+ g_get_user_name(), NULL);
+ else {
+ debug_print("%s: local mailbox not found.\n",
+ account->local_mbox);
+ return -1;
+ }
result = get_spool(inbox, mbox);
g_free(mbox);
g_return_val_if_fail(mbox != NULL, -1);
if (!is_file_exist(mbox) || (size = get_file_size(mbox)) == 0) {
- debug_print("no messages in local mailbox.\n");
+ debug_print("%s: no messages in local mailbox.\n", mbox);
return 0;
} else if (size < 0)
return -1;