From bb518479864194e4c792b6235a4d059bcb06ca74 Mon Sep 17 00:00:00 2001 From: hiro Date: Tue, 21 Jun 2005 09:00:25 +0000 Subject: moved the option of max news articles to account prefs. git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@358 ee746299-78ed-0310-b773-934348b2243d --- src/news.c | 8 +++-- src/prefs_account.c | 88 +++++++++++++++++++++++++++++++++++++---------------- src/prefs_account.h | 1 + src/prefs_common.c | 41 ------------------------- src/prefs_common.h | 1 - 5 files changed, 67 insertions(+), 72 deletions(-) (limited to 'src') diff --git a/src/news.c b/src/news.c index 6091d693..5c6e1911 100644 --- a/src/news.c +++ b/src/news.c @@ -755,6 +755,7 @@ static GSList *news_get_uncached_articles(NNTPSession *session, GSList *newlist = NULL; GSList *llast = NULL; MsgInfo *msginfo; + gint max_articles; if (rfirst) *rfirst = -1; if (rlast) *rlast = -1; @@ -762,6 +763,7 @@ static GSList *news_get_uncached_articles(NNTPSession *session, g_return_val_if_fail(session != NULL, NULL); g_return_val_if_fail(item != NULL, NULL); g_return_val_if_fail(item->folder != NULL, NULL); + g_return_val_if_fail(item->folder->account != NULL, NULL); g_return_val_if_fail(FOLDER_TYPE(item->folder) == F_NEWS, NULL); ok = news_select_group(session, item->path, &num, &first, &last); @@ -794,9 +796,9 @@ static GSList *news_get_uncached_articles(NNTPSession *session, begin = cache_last + 1; end = last; - if (prefs_common.max_articles > 0 && - end - begin + 1 > prefs_common.max_articles) - begin = end - prefs_common.max_articles + 1; + max_articles = item->folder->account->max_nntp_articles; + if (max_articles > 0 && end - begin + 1 > max_articles) + begin = end - max_articles + 1; log_message(_("getting xover %d - %d in %s...\n"), begin, end, item->path); diff --git a/src/prefs_account.c b/src/prefs_account.c index b8f8e2cb..1c243157 100644 --- a/src/prefs_account.c +++ b/src/prefs_account.c @@ -96,6 +96,10 @@ static struct Receive { GtkWidget *imap_frame; GtkWidget *imap_auth_type_optmenu; + GtkWidget *nntp_frame; + GtkWidget *maxarticle_spinbtn; + GtkObject *maxarticle_spinbtn_adj; + GtkWidget *recvatgetall_chkbtn; } receive; @@ -285,6 +289,10 @@ static PrefParam param[] = { prefs_account_imap_auth_type_set_data_from_optmenu, prefs_account_imap_auth_type_set_optmenu}, + {"max_nntp_articles", "300", &tmp_ac_prefs.max_nntp_articles, P_INT, + &receive.maxarticle_spinbtn, + prefs_set_data_from_spinbtn, prefs_set_spinbtn}, + {"receive_at_get_all", "TRUE", &tmp_ac_prefs.recv_at_getall, P_BOOL, &receive.recvatgetall_chkbtn, prefs_set_data_from_toggle, prefs_set_toggle}, @@ -980,10 +988,18 @@ static void prefs_account_receive_create(void) GtkWidget *inbox_label; GtkWidget *inbox_entry; GtkWidget *inbox_btn; + GtkWidget *imap_frame; GtkWidget *optmenu; GtkWidget *optmenu_menu; GtkWidget *menuitem; + + GtkWidget *nntp_frame; + GtkWidget *maxarticle_label; + GtkWidget *maxarticle_spinbtn; + GtkObject *maxarticle_spinbtn_adj; + GtkWidget *maxarticle_desc_label; + GtkWidget *recvatgetall_chkbtn; vbox1 = gtk_vbox_new (FALSE, VSPACING); @@ -1092,16 +1108,9 @@ static void prefs_account_receive_create(void) PACK_VSPACER(vbox2, vbox3, VSPACING_NARROW_2); - hbox1 = gtk_hbox_new (FALSE, 8); - gtk_widget_show (hbox1); - gtk_box_pack_start (GTK_BOX (vbox2), hbox1, FALSE, FALSE, 0); - - label = gtk_label_new - (_("(Unfiltered messages will be stored in this folder)")); - gtk_widget_show (label); - gtk_box_pack_start (GTK_BOX (hbox1), label, FALSE, FALSE, 0); - gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT); - gtkut_widget_set_small_font_size (label); + PACK_SMALL_LABEL + (vbox2, label, + _("Unfiltered messages will be stored in this folder.")); PACK_FRAME (vbox1, imap_frame, _("IMAP4")); @@ -1130,6 +1139,37 @@ static void prefs_account_receive_create(void) gtk_option_menu_set_menu (GTK_OPTION_MENU (optmenu), optmenu_menu); + PACK_FRAME (vbox1, nntp_frame, _("News")); + + vbox2 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox2); + gtk_container_add (GTK_CONTAINER (nntp_frame), vbox2); + gtk_container_set_border_width (GTK_CONTAINER (vbox2), 8); + + hbox1 = gtk_hbox_new (FALSE, 8); + gtk_widget_show (hbox1); + gtk_box_pack_start (GTK_BOX (vbox2), hbox1, FALSE, FALSE, 0); + + maxarticle_label = gtk_label_new + (_("Maximum number of articles to download")); + gtk_widget_show (maxarticle_label); + gtk_box_pack_start (GTK_BOX (hbox1), maxarticle_label, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (maxarticle_label), GTK_JUSTIFY_LEFT); + + maxarticle_spinbtn_adj = + gtk_adjustment_new (300, 0, 10000, 10, 100, 100); + maxarticle_spinbtn = gtk_spin_button_new + (GTK_ADJUSTMENT (maxarticle_spinbtn_adj), 10, 0); + gtk_widget_show (maxarticle_spinbtn); + gtk_box_pack_start (GTK_BOX (hbox1), maxarticle_spinbtn, + FALSE, FALSE, 0); + gtk_widget_set_size_request (maxarticle_spinbtn, 64, -1); + gtk_spin_button_set_numeric + (GTK_SPIN_BUTTON (maxarticle_spinbtn), TRUE); + + PACK_SMALL_LABEL (vbox2, maxarticle_desc_label, + _("No limit if 0 is specified.")); + PACK_CHECK_BUTTON (vbox1, recvatgetall_chkbtn, _("`Get all' checks for new messages on this account")); @@ -1149,6 +1189,10 @@ static void prefs_account_receive_create(void) receive.imap_frame = imap_frame; receive.imap_auth_type_optmenu = optmenu; + receive.nntp_frame = nntp_frame; + receive.maxarticle_spinbtn = maxarticle_spinbtn; + receive.maxarticle_spinbtn_adj = maxarticle_spinbtn_adj; + receive.recvatgetall_chkbtn = recvatgetall_chkbtn; } @@ -1592,8 +1636,6 @@ static void prefs_account_ssl_create(void) GtkWidget *vbox6; GtkWidget *use_nonblocking_ssl_chkbtn; - GtkWidget *hbox; - GtkWidget *hbox_spc; GtkWidget *label; vbox1 = gtk_vbox_new (FALSE, VSPACING); @@ -1675,21 +1717,9 @@ static void prefs_account_ssl_create(void) PACK_CHECK_BUTTON(vbox6, use_nonblocking_ssl_chkbtn, _("Use non-blocking SSL")); - - hbox = gtk_hbox_new (FALSE, 0); - gtk_widget_show (hbox); - gtk_box_pack_start (GTK_BOX (vbox6), hbox, FALSE, FALSE, 0); - - hbox_spc = gtk_hbox_new (FALSE, 0); - gtk_widget_show (hbox_spc); - gtk_box_pack_start (GTK_BOX (hbox), hbox_spc, FALSE, FALSE, 0); - gtk_widget_set_size_request (hbox_spc, 16, -1); - - label = gtk_label_new - (_("(Turn this off if you have problems in SSL connection)")); - gtk_widget_show (label); - gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); - gtkut_widget_set_small_font_size (label); + PACK_SMALL_LABEL + (vbox6, label, + _("Turn this off if you have problems in SSL connection.")); ssl.pop_frame = pop_frame; ssl.pop_nossl_radiobtn = pop_nossl_radiobtn; @@ -2186,6 +2216,7 @@ static void prefs_account_protocol_activated(GtkMenuItem *menuitem) gtk_widget_set_sensitive(basic.pass_entry, active); gtk_widget_hide(receive.pop3_frame); gtk_widget_hide(receive.imap_frame); + gtk_widget_show(receive.nntp_frame); gtk_widget_set_sensitive(receive.recvatgetall_chkbtn, TRUE); if (!tmp_ac_prefs.account_name) { @@ -2221,6 +2252,7 @@ static void prefs_account_protocol_activated(GtkMenuItem *menuitem) gtk_widget_set_sensitive(basic.pass_entry, FALSE); gtk_widget_hide(receive.pop3_frame); gtk_widget_hide(receive.imap_frame); + gtk_widget_hide(receive.nntp_frame); gtk_widget_set_sensitive(receive.recvatgetall_chkbtn, FALSE); if (!tmp_ac_prefs.account_name) { @@ -2256,6 +2288,7 @@ static void prefs_account_protocol_activated(GtkMenuItem *menuitem) gtk_widget_set_sensitive(basic.pass_entry, TRUE); gtk_widget_hide(receive.pop3_frame); gtk_widget_show(receive.imap_frame); + gtk_widget_hide(receive.nntp_frame); gtk_widget_set_sensitive(receive.recvatgetall_chkbtn, TRUE); if (!tmp_ac_prefs.account_name) { @@ -2292,6 +2325,7 @@ static void prefs_account_protocol_activated(GtkMenuItem *menuitem) gtk_widget_set_sensitive(basic.pass_entry, TRUE); gtk_widget_show(receive.pop3_frame); gtk_widget_hide(receive.imap_frame); + gtk_widget_hide(receive.nntp_frame); gtk_widget_set_sensitive(receive.recvatgetall_chkbtn, TRUE); if (!tmp_ac_prefs.account_name) { diff --git a/src/prefs_account.h b/src/prefs_account.h index 13848beb..0adff7ca 100644 --- a/src/prefs_account.h +++ b/src/prefs_account.h @@ -96,6 +96,7 @@ struct _PrefsAccount gchar *inbox; gint imap_auth_type; + gint max_nntp_articles; /* Send */ gboolean add_date; diff --git a/src/prefs_common.c b/src/prefs_common.c index 347f2c1c..8bc87d2d 100644 --- a/src/prefs_common.c +++ b/src/prefs_common.c @@ -76,9 +76,6 @@ static struct Receive { GtkWidget *checkbtn_scan_after_inc; GtkWidget *checkbtn_newmsg_notify; GtkWidget *entry_newmsg_notify; - - GtkWidget *spinbtn_maxarticle; - GtkObject *spinbtn_maxarticle_adj; } receive; static struct Send { @@ -273,10 +270,6 @@ static PrefParam param[] = { P_STRING, &receive.entry_newmsg_notify, prefs_set_data_from_entry, prefs_set_entry}, - {"max_news_articles", "300", &prefs_common.max_articles, P_INT, - &receive.spinbtn_maxarticle, - prefs_set_data_from_spinbtn, prefs_set_spinbtn}, - /* Send */ {"use_ext_sendmail", "FALSE", &prefs_common.use_extsend, P_BOOL, &p_send.checkbtn_extsend, @@ -989,11 +982,6 @@ static void prefs_receive_create(void) GtkWidget *entry_newmsg_notify; GtkWidget *label_notify_cmd_desc; - GtkWidget *frame_news; - GtkWidget *label_maxarticle; - GtkWidget *spinbtn_maxarticle; - GtkObject *spinbtn_maxarticle_adj; - vbox1 = gtk_vbox_new (FALSE, VSPACING); gtk_widget_show (vbox1); gtk_container_add (GTK_CONTAINER (dialog.notebook), vbox1); @@ -1119,32 +1107,6 @@ static void prefs_receive_create(void) SET_TOGGLE_SENSITIVITY (checkbtn_newmsg_notify, hbox); SET_TOGGLE_SENSITIVITY (checkbtn_newmsg_notify, label_notify_cmd_desc); - /* News */ - PACK_FRAME(vbox1, frame_news, _("News")); - - hbox = gtk_hbox_new (FALSE, 8); - gtk_widget_show (hbox); - gtk_container_add (GTK_CONTAINER (frame_news), hbox); - gtk_container_set_border_width (GTK_CONTAINER (hbox), 8); - - label_maxarticle = gtk_label_new - (_("Maximum number of articles to download\n" - "(unlimited if 0 is specified)")); - gtk_widget_show (label_maxarticle); - gtk_box_pack_start (GTK_BOX (hbox), label_maxarticle, FALSE, FALSE, 0); - gtk_label_set_justify (GTK_LABEL (label_maxarticle), GTK_JUSTIFY_LEFT); - - spinbtn_maxarticle_adj = - gtk_adjustment_new (300, 0, 10000, 10, 100, 100); - spinbtn_maxarticle = gtk_spin_button_new - (GTK_ADJUSTMENT (spinbtn_maxarticle_adj), 10, 0); - gtk_widget_show (spinbtn_maxarticle); - gtk_box_pack_start (GTK_BOX (hbox), spinbtn_maxarticle, - FALSE, FALSE, 0); - gtk_widget_set_size_request (spinbtn_maxarticle, 64, -1); - gtk_spin_button_set_numeric - (GTK_SPIN_BUTTON (spinbtn_maxarticle), TRUE); - receive.checkbtn_incext = checkbtn_incext; receive.entry_incext = entry_incext; /* receive.button_incext = button_incext; */ @@ -1161,9 +1123,6 @@ static void prefs_receive_create(void) receive.checkbtn_scan_after_inc = checkbtn_scan_after_inc; receive.checkbtn_newmsg_notify = checkbtn_newmsg_notify; receive.entry_newmsg_notify = entry_newmsg_notify; - - receive.spinbtn_maxarticle = spinbtn_maxarticle; - receive.spinbtn_maxarticle_adj = spinbtn_maxarticle_adj; } static void prefs_send_create(void) diff --git a/src/prefs_common.h b/src/prefs_common.h index 5ba96998..266d4a6e 100644 --- a/src/prefs_common.h +++ b/src/prefs_common.h @@ -60,7 +60,6 @@ struct _PrefsCommon gboolean chk_on_startup; gboolean enable_newmsg_notify; gchar *newmsg_notify_cmd; - gint max_articles; /* Send */ gboolean use_extsend; -- cgit v1.2.3