[Commits] [SCM] claws branch, master, updated. 4.3.1-51-gf1f6d9d6a
wwp at claws-mail.org
wwp at claws-mail.org
Fri Mar 21 10:34:08 UTC 2025
The branch, master has been updated
via f1f6d9d6a36d58991b77c939ff33a5ce4b0a98e2 (commit)
from 24a7d15ed475beb0483874974739f3b1163542cb (commit)
Summary of changes:
src/plugins/rssyl/rssyl_prefs.c | 14 ++++++++++++++
src/plugins/rssyl/rssyl_prefs.h | 1 +
src/plugins/rssyl/rssyl_update_feed.c | 9 +++++++--
3 files changed, 22 insertions(+), 2 deletions(-)
- Log -----------------------------------------------------------------
commit f1f6d9d6a36d58991b77c939ff33a5ce4b0a98e2
Author: wwp <subscript at free.fr>
Date: Fri Mar 21 11:32:10 2025 +0100
RSSyl plugin: add a pref so that feeds programmed for manual updates only (refresh interval=0)
are not updated when refreshing all feeds at once (recursively by the context menu, timer or
at start-up, if enabled).
diff --git a/src/plugins/rssyl/rssyl_prefs.c b/src/plugins/rssyl/rssyl_prefs.c
index 7c6baa903..097b6621d 100644
--- a/src/plugins/rssyl/rssyl_prefs.c
+++ b/src/plugins/rssyl/rssyl_prefs.c
@@ -50,6 +50,8 @@ static PrefParam param[] = {
P_BOOL, NULL, NULL, NULL },
{ "refresh_enabled", "TRUE", &rssyl_prefs.refresh_enabled,
P_BOOL, NULL, NULL, NULL },
+ { "refresh_all_skips", "FALSE", &rssyl_prefs.refresh_all_skips,
+ P_BOOL, NULL, NULL, NULL },
{ "cookies_path", "", &rssyl_prefs.cookies_path,
P_STRING, NULL, NULL, NULL },
{ "ssl_verify_peer", "TRUE", &rssyl_prefs.ssl_verify_peer,
@@ -66,6 +68,7 @@ static struct _RPrefsPage {
GtkWidget *refresh_enabled;
GtkWidget *refresh;
GtkWidget *refresh_on_startup;
+ GtkWidget *refresh_all_skips;
GtkWidget *cookies_path;
GtkWidget *ssl_verify_peer;
GtkWidget *use_custom_user_agent;
@@ -153,6 +156,7 @@ static void create_rssyl_prefs_page(PrefsPage *page,
GtkWidget *refresh, *refresh_enabled, *refresh_hbox;
GtkWidget *label;
GtkWidget *refresh_on_startup;
+ GtkWidget *refresh_all_skips;
GtkAdjustment *refresh_adj;
GtkWidget *cookies_path, *cookies_btn, *cookies_hbox;
GtkWidget *ssl_verify_peer;
@@ -188,6 +192,13 @@ static void create_rssyl_prefs_page(PrefsPage *page,
rssyl_prefs.refresh_on_startup);
gtk_box_pack_start(GTK_BOX(vbox1), refresh_on_startup, FALSE, FALSE, 0);
+ /* Whether refresh-all will skip feeds that are not programmed to be periodically refreshed or not */
+ refresh_all_skips = gtk_check_button_new_with_label(
+ _("Refresh all skips feeds programmed to be refreshed manually"));
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(refresh_all_skips),
+ rssyl_prefs.refresh_all_skips);
+ gtk_box_pack_start(GTK_BOX(vbox1), refresh_all_skips, FALSE, FALSE, 0);
+
vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6);
/* Whether to verify SSL peer certificate */
@@ -261,6 +272,7 @@ static void create_rssyl_prefs_page(PrefsPage *page,
prefs_page->refresh_enabled = refresh_enabled;
prefs_page->refresh = refresh;
prefs_page->refresh_on_startup = refresh_on_startup;
+ prefs_page->refresh_all_skips = refresh_all_skips;
prefs_page->cookies_path = cookies_path;
prefs_page->ssl_verify_peer = ssl_verify_peer;
prefs_page->use_custom_user_agent = use_custom_user_agent;
@@ -286,6 +298,8 @@ static void save_rssyl_prefs(PrefsPage *page)
GTK_SPIN_BUTTON(prefs_page->refresh));
rssyl_prefs.refresh_on_startup = gtk_toggle_button_get_active(
GTK_TOGGLE_BUTTON(prefs_page->refresh_on_startup));
+ rssyl_prefs.refresh_all_skips = gtk_toggle_button_get_active(
+ GTK_TOGGLE_BUTTON(prefs_page->refresh_all_skips));
g_free(rssyl_prefs.cookies_path);
rssyl_prefs.cookies_path = g_strdup(gtk_entry_get_text(
GTK_ENTRY(prefs_page->cookies_path)));
diff --git a/src/plugins/rssyl/rssyl_prefs.h b/src/plugins/rssyl/rssyl_prefs.h
index eb2482400..22f853ade 100644
--- a/src/plugins/rssyl/rssyl_prefs.h
+++ b/src/plugins/rssyl/rssyl_prefs.h
@@ -29,6 +29,7 @@ struct _RPrefs {
gboolean refresh_enabled;
gint refresh;
gboolean refresh_on_startup;
+ gboolean refresh_all_skips;
gchar *cookies_path;
gboolean ssl_verify_peer;
gboolean use_custom_user_agent;
diff --git a/src/plugins/rssyl/rssyl_update_feed.c b/src/plugins/rssyl/rssyl_update_feed.c
index 1735c32dd..91eba8dbc 100644
--- a/src/plugins/rssyl/rssyl_update_feed.c
+++ b/src/plugins/rssyl/rssyl_update_feed.c
@@ -366,8 +366,13 @@ static gboolean rssyl_update_recursively_func(GNode *node, gpointer data)
ritem = (RFolderItem *)item;
if( ritem->url != NULL ) {
- debug_print("RSSyl: Updating feed '%s'\n", item->name);
- rssyl_update_feed(ritem, 0);
+ if(rssyl_prefs_get()->refresh_all_skips &&
+ (ritem->default_refresh_interval == FALSE) && (ritem->refresh_interval == 0)) {
+ debug_print("RSSyl: Skipping feed '%s'\n", item->name);
+ } else {
+ debug_print("RSSyl: Updating feed '%s'\n", item->name);
+ rssyl_update_feed(ritem, 0);
+ }
} else
debug_print("RSSyl: Updating in folder '%s'\n", item->name);
-----------------------------------------------------------------------
hooks/post-receive
--
Claws Mail
More information about the Commits
mailing list