[Commits] [SCM] claws branch, master, updated. 4.1.1-69-g453d869b3

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


The branch, master has been updated
       via  453d869b357e28d58b31466ac561aa841dff7dda (commit)
      from  abde28bea55cd55bc575b7403307483a4ff9d75e (commit)

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


- Log -----------------------------------------------------------------
commit 453d869b357e28d58b31466ac561aa841dff7dda
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 0589f6cca..2a1645473 100644
--- a/src/account.c
+++ b/src/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
@@ -984,6 +984,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 e4287c272..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
+ * 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 0f5705b7f..5955b2ccc 100644
--- a/src/gtk/authors.h
+++ b/src/gtk/authors.h
@@ -176,6 +176,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 c373a3aed..f85852c22 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-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
@@ -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 6d5a37e25..c6602a763 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
@@ -185,6 +185,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;
@@ -609,6 +610,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},
@@ -1567,6 +1572,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;
@@ -1838,6 +1844,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"));
 
@@ -1932,6 +1951,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;
@@ -5480,6 +5500,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);
@@ -5563,6 +5584,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
@@ -5655,6 +5677,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);
@@ -5736,6 +5759,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: */
@@ -5824,6 +5848,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 4f6bad3a5..174f98a13 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