From f762afdc41c2a80fe8e6576e8d7896b7b9f493e8 Mon Sep 17 00:00:00 2001 From: Olaf Wintermann Date: Thu, 28 Aug 2025 19:58:14 +0200 Subject: [PATCH] update sourcelist after creating feed groups --- .../src/main/kotlin/de/unixwork/rssreader/Database.kt | 2 +- .../kotlin/de/unixwork/rssreader/FeedSourceList.kt | 10 +++++++++- .../main/kotlin/de/unixwork/rssreader/MainWindow.kt | 3 ++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/rss-application/src/main/kotlin/de/unixwork/rssreader/Database.kt b/rss-application/src/main/kotlin/de/unixwork/rssreader/Database.kt index eea5562..214e16d 100644 --- a/rss-application/src/main/kotlin/de/unixwork/rssreader/Database.kt +++ b/rss-application/src/main/kotlin/de/unixwork/rssreader/Database.kt @@ -94,7 +94,7 @@ object Database { } } - public fun getFeedTree(context: Context) : List { + public fun getFeedTree(context: Context) : MutableList { val groups = mutableListOf() connection.createStatement().use { stmt -> diff --git a/rss-application/src/main/kotlin/de/unixwork/rssreader/FeedSourceList.kt b/rss-application/src/main/kotlin/de/unixwork/rssreader/FeedSourceList.kt index 36c68d9..e6323e0 100644 --- a/rss-application/src/main/kotlin/de/unixwork/rssreader/FeedSourceList.kt +++ b/rss-application/src/main/kotlin/de/unixwork/rssreader/FeedSourceList.kt @@ -5,7 +5,7 @@ import de.unixwork.ui.SubList class FeedSourceList : Document() { val feeds = this.sourcelist("feeds") - val groups: List + val groups: MutableList init { val db = Database @@ -19,6 +19,14 @@ class FeedSourceList : Document() { } } + fun addFeedGroup(group: FeedGroup) { + val sublist = SubList() + sublist.header = group.name + sublist.value = group.feeds + feeds.add(sublist) + feeds.update() + } + fun invalidateCache() { groups.forEach { it.feeds.forEach { feed -> 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 7795fb8..ec30864 100644 --- a/rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt +++ b/rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt @@ -222,7 +222,8 @@ class MainWindow { val nameStr = name.toString() if(!nameStr.isBlank()) { try { - Database.newFeedGroup(sourceList,nameStr) + val group = Database.newFeedGroup(sourceList,nameStr) + sourceList.addFeedGroup(group) } catch (e: Exception) { e.printStackTrace() } -- 2.47.3