From f29d675303203309dcb4b772f8cc81068c0f97c0 Mon Sep 17 00:00:00 2001 From: Jaakko Keränen Date: Sat, 20 Mar 2021 21:37:53 +0200 Subject: Show unread entry count in sidebar --- src/feeds.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/feeds.c') diff --git a/src/feeds.c b/src/feeds.c index 73c68987..db426994 100644 --- a/src/feeds.c +++ b/src/feeds.c @@ -381,7 +381,8 @@ static iThreadResult fetch_Feeds_(iThread *thread) { } initCurrent_Time(&d->lastRefreshedAt); save_Feeds_(d); - postCommandf_App("feeds.update.finished arg:%d", gotNew ? 1 : 0); + postCommandf_App("feeds.update.finished arg:%d unread:%zu", gotNew ? 1 : 0, + numUnread_Feeds()); return 0; } @@ -624,6 +625,18 @@ size_t numSubscribed_Feeds(void) { return size_PtrArray(listSubscriptions_()); } +size_t numUnread_Feeds(void) { + size_t count = 0; + size_t max = 100; /* match the number of items shown in the sidebar */ + iConstForEach(PtrArray, i, listEntries_Feeds()) { + if (!max--) break; + if (isUnread_FeedEntry(i.ptr)) { + count++; + } + } + return count; +} + #define iPluralS(c) ((c) != 1 ? "s" : "") const iString *entryListPage_Feeds(void) { -- cgit v1.2.3