disable error popup on mail receive errors
authorChristoph Hohmann <reboot@gmx.ch>
Thu, 21 Jun 2001 19:09:18 +0000 (19:09 +0000)
committerChristoph Hohmann <reboot@gmx.ch>
Thu, 21 Jun 2001 19:09:18 +0000 (19:09 +0000)
src/inc.c
src/prefs_common.c
src/prefs_common.h

index 4565611536d9a92c2df94b2fa79d091432753a0c..1f15ff8c5036bdd5df6679c0b65676f5dbe7da9c 100644 (file)
--- a/src/inc.c
+++ b/src/inc.c
@@ -423,11 +423,13 @@ static void inc_start(IncProgressDialog *inc_dialog)
                }
 
                if (pop3_state->error_val == PS_AUTHFAIL) {
-                       manage_window_focus_in(inc_dialog->dialog->window, NULL, NULL);
-                       alertpanel_error
-                               (_("Authorization for %s on %s failed"),
-                                pop3_state->user,
-                                pop3_state->ac_prefs->recv_server);
+                       if(!prefs_common.noerrorpanel) {
+                               manage_window_focus_in(inc_dialog->dialog->window, NULL, NULL);
+                               alertpanel_error
+                                       (_("Authorization for %s on %s failed"),
+                                        pop3_state->user,
+                                        pop3_state->ac_prefs->recv_server);
+                       }
                }
 
                statusbar_pop_all();
@@ -533,10 +535,12 @@ static IncState inc_pop3_session_do(IncSession *session)
 #endif
                log_warning(_("Can't connect to POP3 server: %s:%d\n"),
                            server, port);
-               manage_window_focus_in(inc_dialog->dialog->window, NULL, NULL);
-               alertpanel_error(_("Can't connect to POP3 server: %s:%d"),
-                                server, port);
-               manage_window_focus_out(inc_dialog->dialog->window, NULL, NULL);
+               if(!prefs_common.noerrorpanel) {
+                       manage_window_focus_in(inc_dialog->dialog->window, NULL, NULL);
+                       alertpanel_error(_("Can't connect to POP3 server: %s:%d"),
+                                        server, port);
+                       manage_window_focus_out(inc_dialog->dialog->window, NULL, NULL);
+               }
                pop3_automaton_terminate(NULL, atm);
                automaton_destroy(atm);
 
@@ -666,10 +670,12 @@ static gint connection_check_cb(Automaton *atm)
                atm->timeout_tag = 0;
                log_warning(_("Can't connect to POP3 server: %s:%d\n"),
                            sockinfo->hostname, sockinfo->port);
-               manage_window_focus_in(inc_dialog->dialog->window, NULL, NULL);
-               alertpanel_error(_("Can't connect to POP3 server: %s:%d"),
-                                sockinfo->hostname, sockinfo->port);
-               manage_window_focus_out(inc_dialog->dialog->window, NULL, NULL);
+               if(!prefs_common.noerrorpanel) {
+                       manage_window_focus_in(inc_dialog->dialog->window, NULL, NULL);
+                       alertpanel_error(_("Can't connect to POP3 server: %s:%d"),
+                                        sockinfo->hostname, sockinfo->port);
+                       manage_window_focus_out(inc_dialog->dialog->window, NULL, NULL);
+               }
                pop3_automaton_terminate(sockinfo, atm);
                return FALSE;
        } else if (sockinfo->state == CONN_ESTABLISHED) {
@@ -832,7 +838,9 @@ static void inc_put_error(IncState istate)
 {
        switch (istate) {
        case INC_ERROR:
-               alertpanel_error(_("Error occurred while processing mail."));
+               if(!prefs_common.noerrorpanel) {
+                       alertpanel_error(_("Error occurred while processing mail."));
+               }
                break;
        case INC_NOSPACE:
                alertpanel_error(_("No disk space left."));
index da4ab0865f9c25e75de9d0ed96f0d4abf6eb7708..f0d172c58015a00af8dcd7ae8a5b651c2e2688c6 100644 (file)
@@ -68,6 +68,7 @@ static struct Receive {
        GtkObject *spinbtn_autochk_adj;
 
        GtkWidget *checkbtn_chkonstartup;
+       GtkWidget *checkbtn_noerrorpanel;
 
        GtkWidget *spinbtn_maxarticle;
        GtkObject *spinbtn_maxarticle_adj;
@@ -227,6 +228,9 @@ static PrefParam param[] = {
        {"check_on_startup", "FALSE", &prefs_common.chk_on_startup, P_BOOL,
         &receive.checkbtn_chkonstartup,
         prefs_set_data_from_toggle, prefs_set_toggle},
+       {"noerrorpanel", "FALSE", &prefs_common.noerrorpanel, P_BOOL,
+        &receive.checkbtn_noerrorpanel,
+        prefs_set_data_from_toggle, prefs_set_toggle},
 
        {"max_news_articles", "300", &prefs_common.max_articles, P_INT,
         &receive.spinbtn_maxarticle,
@@ -739,6 +743,7 @@ static void prefs_receive_create(void)
        GtkWidget *spinbtn_autochk;
        GtkWidget *label_autochk2;
        GtkWidget *checkbtn_chkonstartup;
+       GtkWidget *checkbtn_noerrorpanel;
 
        GtkWidget *frame_news;
        GtkWidget *label_maxarticle;
@@ -842,6 +847,9 @@ static void prefs_receive_create(void)
        PACK_CHECK_BUTTON (vbox2, checkbtn_chkonstartup,
                           _("Check new mail on startup"));
 
+       PACK_CHECK_BUTTON (vbox2, checkbtn_noerrorpanel,
+                          _("No error popup on receive error"));
+
        PACK_FRAME(vbox1, frame_news, _("News"));
 
        hbox = gtk_hbox_new (FALSE, 8);
@@ -880,6 +888,7 @@ static void prefs_receive_create(void)
        receive.spinbtn_autochk_adj = spinbtn_autochk_adj;
 
        receive.checkbtn_chkonstartup = checkbtn_chkonstartup;
+       receive.checkbtn_noerrorpanel = checkbtn_noerrorpanel;
 
        receive.spinbtn_maxarticle     = spinbtn_maxarticle;
        receive.spinbtn_maxarticle_adj = spinbtn_maxarticle_adj;
index 28ae02e844cc911d2e5b3e82961900cf42c89ec2..50f62031eb82f6ebfb33fe34ee00336272567944 100644 (file)
@@ -43,6 +43,7 @@ struct _PrefsCommon
        gboolean autochk_newmail;
        gint autochk_itv;
        gboolean chk_on_startup;
+       gboolean noerrorpanel;
        gint max_articles;
 
        /* Send */