From: Olaf Wintermann Date: Thu, 28 Aug 2025 17:58:14 +0000 (+0200) Subject: update sourcelist after creating feed groups X-Git-Url: https://uap-core.de/gitweb/?a=commitdiff_plain;h=f762afdc41c2a80fe8e6576e8d7896b7b9f493e8;p=rssreader.git update sourcelist after creating feed groups --- 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() }