void inc_pop_before_smtp(PrefsAccount *acc) { IncProgressDialog *inc_dialog; IncSession *session; MainWindow *mainwin; mainwin = mainwindow_get_mainwindow(); session = inc_session_new(acc); if (!session) return; POP3_SESSION(session->session)->pop_before_smtp = TRUE; inc_dialog = inc_progress_dialog_create(FALSE); inc_dialog->queue_list = g_list_append(inc_dialog->queue_list, session); /* FIXME: assumes to attach to first main window */ inc_dialog->mainwin = mainwin; inc_progress_dialog_set_list(inc_dialog); if (mainwin) { toolbar_main_set_sensitive(mainwin); main_window_set_menu_sensitive(mainwin); } inc_start(inc_dialog); }
void vcal_view_set_summary_page(GtkWidget *to_remove, guint selsig) { SummaryView *summaryview = NULL; if (mainwindow_get_mainwindow()) { summaryview = mainwindow_get_mainwindow()->summaryview; if (selsig) g_signal_handler_disconnect(G_OBJECT(summaryview->ctree), selsig); gtk_container_remove(GTK_CONTAINER(summaryview->mainwidget_book), to_remove); gtk_notebook_set_current_page(GTK_NOTEBOOK(summaryview->mainwidget_book), gtk_notebook_page_num(GTK_NOTEBOOK(summaryview->mainwidget_book), summaryview->scrolledwin)); main_window_set_menu_sensitive(mainwindow_get_mainwindow()); toolbar_main_set_sensitive(mainwindow_get_mainwindow()); } }
gint vcal_view_set_calendar_page(GtkWidget *to_show, GCallback cb, gpointer data) { SummaryView *summaryview = NULL; gint selsig = -1; if (mainwindow_get_mainwindow()) { summaryview = mainwindow_get_mainwindow()->summaryview; gtk_container_add(GTK_CONTAINER(summaryview->mainwidget_book), to_show); gtk_notebook_set_current_page(GTK_NOTEBOOK(summaryview->mainwidget_book), gtk_notebook_page_num(GTK_NOTEBOOK(summaryview->mainwidget_book), to_show)); main_window_set_menu_sensitive(mainwindow_get_mainwindow()); toolbar_main_set_sensitive(mainwindow_get_mainwindow()); selsig = g_signal_connect(G_OBJECT(summaryview->ctree), "tree_select_row", G_CALLBACK(cb), data); } return selsig; }
static gint inc_account_mail_real(MainWindow *mainwin, PrefsAccount *account) { IncProgressDialog *inc_dialog; IncSession *session; switch (account->protocol) { case A_IMAP4: case A_NNTP: /* Melvin: bug [14] * FIXME: it should return foldeview_check_new() value. * TODO: do it when bug [19] is fixed (IMAP folder sets * an incorrect new message count) */ folderview_check_new(FOLDER(account->folder)); return 0; case A_POP3: case A_APOP: session = inc_session_new(account); if (!session) return 0; inc_dialog = inc_progress_dialog_create(FALSE); inc_dialog->queue_list = g_list_append(inc_dialog->queue_list, session); inc_dialog->mainwin = mainwin; inc_progress_dialog_set_list(inc_dialog); if (mainwin) { toolbar_main_set_sensitive(mainwin); main_window_set_menu_sensitive(mainwin); } return inc_start(inc_dialog); case A_LOCAL: return inc_spool_account(account); default: break; } return 0; }
void inc_all_account_mail(MainWindow *mainwin, gboolean autocheck, gboolean notify) { GList *list, *queue_list = NULL; IncProgressDialog *inc_dialog; gint new_msgs = 0; gint account_new_msgs = 0; if (prefs_common.work_offline && !inc_offline_should_override( (autocheck == FALSE), _("Claws Mail needs network access in order " "to get mails."))) return; if (inc_lock_count) return; inc_autocheck_timer_remove(); main_window_lock(mainwin); list = account_get_list(); if (!list) { inc_update_stats(new_msgs); inc_finished(mainwin, new_msgs > 0, autocheck); main_window_unlock(mainwin); inc_notify_cmd(new_msgs, notify); inc_autocheck_timer_set(); return; } if (prefs_common.use_extinc && prefs_common.extinc_cmd) { /* external incorporating program */ if (execute_command_line(prefs_common.extinc_cmd, FALSE) < 0) { log_error(LOG_PROTOCOL, _("%s failed\n"), prefs_common.extinc_cmd); main_window_unlock(mainwin); inc_autocheck_timer_set(); return; } } /* check local folders */ account_new_msgs = inc_all_spool(); if (account_new_msgs > 0) new_msgs += account_new_msgs; /* check IMAP4 / News folders */ for (list = account_get_list(); list != NULL; list = list->next) { PrefsAccount *account = list->data; if ((account->protocol == A_IMAP4 || account->protocol == A_NNTP) && account->recv_at_getall) { new_msgs += folderview_check_new(FOLDER(account->folder)); } } /* check POP3 accounts */ for (list = account_get_list(); list != NULL; list = list->next) { IncSession *session; PrefsAccount *account = list->data; if (account->recv_at_getall) { session = inc_session_new(account); if (session) queue_list = g_list_append(queue_list, session); } } if (queue_list) { inc_dialog = inc_progress_dialog_create(autocheck); inc_dialog->queue_list = queue_list; inc_dialog->mainwin = mainwin; inc_progress_dialog_set_list(inc_dialog); toolbar_main_set_sensitive(mainwin); main_window_set_menu_sensitive(mainwin); new_msgs += inc_start(inc_dialog); } inc_update_stats(new_msgs); inc_finished(mainwin, new_msgs > 0, autocheck); main_window_unlock(mainwin); inc_notify_cmd(new_msgs, notify); inc_autocheck_timer_set(); }