[Commits] [SCM] claws branch, gtk2, updated. 3.19.1-56-gf3fe7a6e8

paul at claws-mail.org paul at claws-mail.org
Wed Aug 9 09:26:38 UTC 2023


The branch, gtk2 has been updated
       via  f3fe7a6e82a4618e5c6f3e86a0978cc7cb686240 (commit)
      from  0528a235562c218e4ef35ed2fa7e18c43e1dbd5c (commit)

Summary of changes:
 AUTHORS                 |  1 +
 src/account.c           |  7 ++++---
 src/etpan/imap-thread.h |  6 ++----
 src/gtk/authors.h       |  1 +
 src/imap.c              |  6 +++---
 src/prefs_account.c     | 27 ++++++++++++++++++++++++++-
 src/prefs_account.h     |  3 ++-
 7 files changed, 39 insertions(+), 12 deletions(-)


- Log -----------------------------------------------------------------
commit f3fe7a6e82a4618e5c6f3e86a0978cc7cb686240
Author: Paul <paul at claws-mail.org>
Date:   Wed Aug 9 10:15:22 2023 +0100

    fix bug 4618, 'Rate limit by remote breaks queued/marked actions (Delete/Move)'
    
    patch by Charles Huber

diff --git a/AUTHORS b/AUTHORS
index 5a7f0fed7..36afb6a54 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -346,3 +346,4 @@ contributors (in addition to the above; based on Changelog)
 	Viatrix
 	Roland Haas
 	Sakaguchi Takayuki
+	 Charles Huber
diff --git a/src/account.c b/src/account.c
index aaecec85e..b83be9e4e 100644
--- a/src/account.c
+++ b/src/account.c
@@ -1,8 +1,8 @@
 /*
- * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2021 the Claws Mail team and Hiroyuki Yamamoto
+ * Claws Mail -- a GTK based, lightweight, and fast e-mail client
+ * Copyright (C) 1999-2023 the Claws Mail team and Hiroyuki Yamamoto
  *
- * This program is free software; you can redistribute it and/or modify
+  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 3 of the License, or
  * (at your option) any later version.
@@ -986,6 +986,7 @@ static void account_clone(GtkWidget *widget, gpointer data)
 	ac_clon->autocheck_timer = 0;
 
 	ACP_FASSIGN(imap_auth_type);
+	ACP_FASSIGN(imap_batch_size);
 
 	/* send */
 	ACP_FASSIGN(gen_msgid);
diff --git a/src/etpan/imap-thread.h b/src/etpan/imap-thread.h
index e9826a062..4518ba989 100644
--- a/src/etpan/imap-thread.h
+++ b/src/etpan/imap-thread.h
@@ -1,6 +1,6 @@
 /*
- * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 2005-2012 DINH Viet Hoa and the Claws Mail team
+ * Claws Mail -- a GTK based, lightweight, and fast e-mail client
+ * Copyright (C) 2005-2023 the Claws Mail team and DINH Viet Hoa
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -24,8 +24,6 @@
 #include <libetpan/libetpan.h>
 #include "folder.h"
 
-#define IMAP_SET_MAX_COUNT 500
-
 typedef enum
 {
 	IMAP_FLAG_SEEN		= 1 << 0,
diff --git a/src/gtk/authors.h b/src/gtk/authors.h
index 123b95566..872fd2bde 100644
--- a/src/gtk/authors.h
+++ b/src/gtk/authors.h
@@ -175,6 +175,7 @@ static char *CONTRIBS_LIST[] = {
 "Marc Hoper",
 "Michihide Hotta",
 "Shawn Houston",
+"Charles Huber",
 "Michael Hughes",
 "Richard Hughes",
 "Arthur Huillet",
diff --git a/src/imap.c b/src/imap.c
index c6196ea6c..60c2b9a39 100644
--- a/src/imap.c
+++ b/src/imap.c
@@ -1,6 +1,6 @@
 /*
- * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2021 the Claws Mail team and Hiroyuki Yamamoto
+ * Claws Mail -- a GTK based, lightweight, and fast e-mail client
+ * Copyright (C) 1999-2023 the Claws Mail team and Hiroyuki Yamamoto
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -795,7 +795,6 @@ static void imap_folder_init(Folder *folder, const gchar *name,
 			     const gchar *path)
 {
 	folder_remote_folder_init((Folder *)folder, name, path);
-	IMAP_FOLDER(folder)->max_set_size = IMAP_SET_MAX_COUNT;
 	IMAP_FOLDER(folder)->search_charset_supported = TRUE;
 	IMAP_FOLDER(folder)->search_charset = g_strdup(conv_get_locale_charset_str_no_utf8());
 }
@@ -1251,6 +1250,7 @@ static IMAPSession *imap_session_new(Folder * folder,
 #endif
 
 	imap_init(folder);
+	IMAP_FOLDER(folder)->max_set_size = account->imap_batch_size;
 	buf = g_strdup_printf(_("Account '%s': Connecting to IMAP server: %s:%d..."),
 				folder->account->account_name, folder->account->recv_server,
 				port);
diff --git a/src/prefs_account.c b/src/prefs_account.c
index 2c53c6f6c..1ef425933 100644
--- a/src/prefs_account.c
+++ b/src/prefs_account.c
@@ -1,6 +1,6 @@
 /*
  * Claws Mail -- a GTK based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2022 the Claws Mail team and Hiroyuki Yamamoto
+ * Copyright (C) 1999-2023 the Claws Mail team and Hiroyuki Yamamoto
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -186,6 +186,7 @@ typedef struct ReceivePage
 	GtkWidget *imapdir_entry;
 	GtkWidget *subsonly_checkbtn;
 	GtkWidget *low_bandwidth_checkbtn;
+	GtkWidget *imap_batch_size_spinbtn;
 
 	GtkWidget *frame_maxarticle;
 	GtkWidget *maxarticle_label;
@@ -610,6 +611,10 @@ static PrefParam receive_param[] = {
 	 &receive_page.low_bandwidth_checkbtn,
 	 prefs_set_data_from_toggle, prefs_set_toggle},
 
+	{"imap_batch_size", "500", &tmp_ac_prefs.imap_batch_size, P_INT,
+	 &receive_page.imap_batch_size_spinbtn,
+	 prefs_set_data_from_spinbtn, prefs_set_spinbtn},
+
 	{"autochk_use_default", "TRUE", &tmp_ac_prefs.autochk_use_default, P_BOOL,
 		&receive_page.autochk_use_default_checkbtn,
 		prefs_set_data_from_toggle, prefs_set_toggle},
@@ -1601,6 +1606,7 @@ static void receive_create_widget_func(PrefsPage * _page,
 	GtkWidget *imapdir_entry;
 	GtkWidget *subsonly_checkbtn;
 	GtkWidget *low_bandwidth_checkbtn;
+	GtkWidget *imap_batch_size_spinbtn;
 	GtkWidget *local_frame;
 	GtkWidget *local_vbox;
 	GtkWidget *local_hbox;
@@ -1873,6 +1879,19 @@ static void receive_create_widget_func(PrefsPage * _page,
 	gtk_widget_show (hbox1);
 	gtk_box_pack_start (GTK_BOX (vbox2), hbox1, FALSE, FALSE, 4);
 
+	label = gtk_label_new(_("Batch size"));
+	gtk_widget_show (label);
+	gtk_box_pack_start(GTK_BOX(hbox1), label, FALSE, FALSE, 0);
+
+	imap_batch_size_spinbtn = gtk_spin_button_new_with_range(0, 1000000, 1);
+	gtk_widget_set_size_request(imap_batch_size_spinbtn, 64, -1);
+	gtk_widget_show (imap_batch_size_spinbtn);
+	gtk_box_pack_start(GTK_BOX(hbox1), imap_batch_size_spinbtn, FALSE, FALSE, 0);
+
+	hbox1 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 8);
+	gtk_widget_show (hbox1);
+	gtk_box_pack_start (GTK_BOX (vbox2), hbox1, FALSE, FALSE, 4);
+
 	/* Auto-checking */
 	vbox4 = gtkut_get_options_frame(vbox1, &frame, _("Automatic checking"));
 
@@ -1967,6 +1986,7 @@ static void receive_create_widget_func(PrefsPage * _page,
 	page->imapdir_entry		= imapdir_entry;
 	page->subsonly_checkbtn		= subsonly_checkbtn;
 	page->low_bandwidth_checkbtn	= low_bandwidth_checkbtn;
+	page->imap_batch_size_spinbtn	= imap_batch_size_spinbtn;
 	page->local_frame		= local_frame;
 	page->local_inbox_label	= local_inbox_label;
 	page->local_inbox_entry	= local_inbox_entry;
@@ -5550,6 +5570,7 @@ static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data)
 		gtk_widget_hide(receive_page.imapdir_entry);
 		gtk_widget_hide(receive_page.subsonly_checkbtn);
 		gtk_widget_hide(receive_page.low_bandwidth_checkbtn);
+		gtk_widget_hide(receive_page.imap_batch_size_spinbtn);
 		break;
 	case A_LOCAL:
 		gtk_widget_show(send_page.msgid_checkbtn);
@@ -5648,6 +5669,7 @@ static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data)
 		gtk_widget_hide(receive_page.imapdir_entry);
 		gtk_widget_hide(receive_page.subsonly_checkbtn);
 		gtk_widget_hide(receive_page.low_bandwidth_checkbtn);
+		gtk_widget_hide(receive_page.imap_batch_size_spinbtn);
 		break;
 	case A_IMAP4:
 #ifndef HAVE_LIBETPAN
@@ -5755,6 +5777,7 @@ static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data)
 		gtk_widget_show(receive_page.imapdir_entry);
 		gtk_widget_show(receive_page.subsonly_checkbtn);
 		gtk_widget_show(receive_page.low_bandwidth_checkbtn);
+		gtk_widget_show(receive_page.imap_batch_size_spinbtn);
 		break;
 	case A_NONE:
 		gtk_widget_show(send_page.msgid_checkbtn);
@@ -5851,6 +5874,7 @@ static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data)
 		gtk_widget_hide(receive_page.imapdir_entry);
 		gtk_widget_hide(receive_page.subsonly_checkbtn);
 		gtk_widget_hide(receive_page.low_bandwidth_checkbtn);
+		gtk_widget_hide(receive_page.imap_batch_size_spinbtn);
 		break;
 	case A_POP3:
 		/* continue to default: */
@@ -5954,6 +5978,7 @@ static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data)
 		gtk_widget_hide(receive_page.imapdir_entry);
 		gtk_widget_hide(receive_page.subsonly_checkbtn);
 		gtk_widget_hide(receive_page.low_bandwidth_checkbtn);
+		gtk_widget_hide(receive_page.imap_batch_size_spinbtn);
 		break;
 	}
 
diff --git a/src/prefs_account.h b/src/prefs_account.h
index 5c3c21611..978e61072 100644
--- a/src/prefs_account.h
+++ b/src/prefs_account.h
@@ -1,6 +1,6 @@
 /*
  * Claws Mail -- a GTK based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2022 the Claws Mail team and Hiroyuki Yamamoto
+ * Copyright (C) 1999-2023 the Claws Mail team and Hiroyuki Yamamoto
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -117,6 +117,7 @@ struct _PrefsAccount
 	guint autocheck_timer;
 
 	gint imap_auth_type;
+	guint imap_batch_size;
 
 	gboolean receive_in_progress;
 

-----------------------------------------------------------------------


hooks/post-receive
-- 
Claws Mail


More information about the Commits mailing list