From 7a0741c8b0bb76f98f4617331c1b84e8df47a2eb Mon Sep 17 00:00:00 2001 From: Olaf Wintermann Date: Wed, 12 Nov 2025 17:42:45 +0100 Subject: [PATCH] implement Mark as read menu item for feed groups --- .../de/unixwork/rssreader/MainWindow.kt | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt b/rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt index 70131b6..dc779c9 100644 --- a/rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt +++ b/rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt @@ -57,16 +57,21 @@ class MainWindow() { menuItem("Mark as read") { event -> val evt = event.subListEventData val feedIndex = evt.rowIndex - if(feedIndex >= 0 && evt.sublistIndex >= 0) { + if(evt.sublistIndex >= 0) { + var feeds:List = sourceList.groups[evt.sublistIndex].feeds + if(feedIndex >= 0) { + feeds = listOf(sourceList.groups[evt.sublistIndex].feeds[feedIndex]) + } try { - val feed = sourceList.groups[evt.sublistIndex].feeds[feedIndex] - feed.unreadItemsCount = 0 - feed.updateReadStatus(true) - if(evt.sublistIndex == currentSublistIndex && feedIndex == currentFeedIndex) { - feedList.reloadCurrentFeed() - } - GlobalScope.launch(Dispatchers.IO) { - Database.updateFeedReadState(feed, true) + for(feed in feeds) { + feed.unreadItemsCount = 0 + feed.updateReadStatus(true) + if(evt.sublistIndex == currentSublistIndex && feedIndex == currentFeedIndex) { + feedList.reloadCurrentFeed() + } + GlobalScope.launch(Dispatchers.IO) { + Database.updateFeedReadState(feed, true) + } } } catch (e: Exception) { e.printStackTrace() @@ -93,7 +98,6 @@ class MainWindow() { } menuItem("Delete") { event -> val evt = event.subListEventData - } separator() menuItem("Settings") { event -> -- 2.47.3