aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-06-21 09:00:25 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-06-21 09:00:25 +0000
commitbb518479864194e4c792b6235a4d059bcb06ca74 (patch)
tree3ae2fb865ab85a228c17521f3e5c6aee6cc037cd /src
parentd2275bbf442d09eb646b388c91a486ba8364ac64 (diff)
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
Diffstat (limited to 'src')
-rw-r--r--src/news.c8
-rw-r--r--src/prefs_account.c88
-rw-r--r--src/prefs_account.h1
-rw-r--r--src/prefs_common.c41
-rw-r--r--src/prefs_common.h1
5 files changed, 67 insertions, 72 deletions
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;