]> uap-core.de Git - rssreader.git/commitdiff
update sourcelist after creating feed groups
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Thu, 28 Aug 2025 17:58:14 +0000 (19:58 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Thu, 28 Aug 2025 17:58:14 +0000 (19:58 +0200)
rss-application/src/main/kotlin/de/unixwork/rssreader/Database.kt
rss-application/src/main/kotlin/de/unixwork/rssreader/FeedSourceList.kt
rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt

index eea5562f548482346b465b95bae7351980e05a54..214e16dc555a3429447c56d390834d1356c82ae5 100644 (file)
@@ -94,7 +94,7 @@ object Database {
         }
     }
 
-    public fun getFeedTree(context: Context) : List<FeedGroup> {
+    public fun getFeedTree(context: Context) : MutableList<FeedGroup> {
         val groups = mutableListOf<FeedGroup>()
 
         connection.createStatement().use { stmt ->
index 36c68d97aaa52f251549e2fc35c81b37372017a5..e6323e01ba5711506f712dc3d9dcf738543242d6 100644 (file)
@@ -5,7 +5,7 @@ import de.unixwork.ui.SubList
 
 class FeedSourceList : Document() {
     val feeds = this.sourcelist("feeds")
-    val groups: List<FeedGroup>
+    val groups: MutableList<FeedGroup>
 
     init {
         val db = Database
@@ -19,6 +19,14 @@ class FeedSourceList : Document() {
         }
     }
 
+    fun addFeedGroup(group: FeedGroup) {
+        val sublist = SubList<FeedCollection>()
+        sublist.header = group.name
+        sublist.value = group.feeds
+        feeds.add(sublist)
+        feeds.update()
+    }
+
     fun invalidateCache() {
         groups.forEach {
             it.feeds.forEach { feed ->
index 7795fb85ce05245592761336d58deefc26cdb809..ec308647e1804f20278de32ba0e49ed78682f9ab 100644 (file)
@@ -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()
                         }