From 672226bd6a7866e5ac4b56f8f5d2f574b8486eae Mon Sep 17 00:00:00 2001 From: Olaf Wintermann Date: Mon, 29 Jun 2026 20:11:40 +0200 Subject: [PATCH] pre-select the current feed group in the FeedConfig dialog --- .../main/kotlin/de/unixwork/rssreader/Database.kt | 15 +++++++++------ .../src/main/kotlin/de/unixwork/rssreader/Feed.kt | 3 ++- .../kotlin/de/unixwork/rssreader/FeedConfig.kt | 1 + .../main/kotlin/de/unixwork/rssreader/FeedList.kt | 2 +- 4 files changed, 13 insertions(+), 8 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 9aaed18..ee91abe 100644 --- a/rss-application/src/main/kotlin/de/unixwork/rssreader/Database.kt +++ b/rss-application/src/main/kotlin/de/unixwork/rssreader/Database.kt @@ -150,7 +150,7 @@ object Database { } if(feedId != null && feedName != null) { - val feed = Feed(feedId, feedName, feedUrl) + val feed = Feed(feedId, groupId, feedName, feedUrl) feed.user = auth_user feed.password = auth_password feed.updateInterval = updateInterval @@ -269,7 +269,7 @@ object Database { } } - feed = Feed(feedId, name, uri) + feed = Feed(feedId, parent.id, name, uri) parent.feeds.add(feed) } @@ -353,13 +353,14 @@ object Database { stmt.executeQuery().use { rs -> while(rs.next()) { val id = rs.getInt("feed_id") + val group = rs.getInt("group_id") val name = rs.getString("name") val url = rs.getString("url") val maxItemAge = rs.getInt("max_item_age") val authUser = rs.getString("auth_user") val authPassword = rs.getString("auth_password") val certPath = rs.getString("certpath") - val feed = Feed(id, name, url) + val feed = Feed(id, group, name, url) feed.maxItemAge = maxItemAge feed.user = authUser feed.password = authPassword @@ -384,13 +385,14 @@ object Database { stmt.executeQuery().use { rs -> while(rs.next()) { val id = rs.getInt("feed_id") + val group = rs.getInt("group_id") val name = rs.getString("name") val url = rs.getString("url") val maxItemAge = rs.getInt("max_item_age") val authUser = rs.getString("auth_user") val authPassword = rs.getString("auth_password") val certPath = rs.getString("certpath") - feed = Feed(id, name, url) + feed = Feed(id, group, name, url) feed.maxItemAge = maxItemAge feed.user = authUser feed.password = authPassword @@ -422,7 +424,7 @@ object Database { val authUser = rs.getString("auth_user") val authPassword = rs.getString("auth_password") val certPath = rs.getString("certpath") - val feed = Feed(id, name, url) + val feed = Feed(id, group.id, name, url) feed.user = authUser feed.password = authPassword feed.certpath = certPath @@ -483,12 +485,13 @@ object Database { stmt.executeQuery().use { rs -> while(rs.next()) { val id = rs.getInt("feed_id") + val group = rs.getInt("group_id") val name = rs.getString("name") val url = rs.getString("url") val authUser = rs.getString("auth_user") val authPassword = rs.getString("auth_password") val certPath = rs.getString("certpath") - val feed = Feed(id, name, url) + val feed = Feed(id, group, name, url) feed.user = authUser feed.password = authPassword feed.certpath = certPath diff --git a/rss-application/src/main/kotlin/de/unixwork/rssreader/Feed.kt b/rss-application/src/main/kotlin/de/unixwork/rssreader/Feed.kt index 0162103..10fddfb 100644 --- a/rss-application/src/main/kotlin/de/unixwork/rssreader/Feed.kt +++ b/rss-application/src/main/kotlin/de/unixwork/rssreader/Feed.kt @@ -3,8 +3,9 @@ package de.unixwork.rssreader import java.time.Instant -class Feed(id: Int, name: String, uri: String) { +class Feed(id: Int, groupId: Int?, name: String, uri: String) { val id = id + val groupId = groupId var name = name var uri = uri var user: String? = null diff --git a/rss-application/src/main/kotlin/de/unixwork/rssreader/FeedConfig.kt b/rss-application/src/main/kotlin/de/unixwork/rssreader/FeedConfig.kt index 37865c8..d6d2338 100644 --- a/rss-application/src/main/kotlin/de/unixwork/rssreader/FeedConfig.kt +++ b/rss-application/src/main/kotlin/de/unixwork/rssreader/FeedConfig.kt @@ -160,6 +160,7 @@ class FeedConfig(obj: UiObject) { private fun initUI(feed: Feed) { name.setString(feed.name) + groups.selectedIndex = groups.indexOfFirst { it.id == feed.groupId } readstatus.selectedIndex = feed.itemStateMode when(feed.maxItemAge) { 0 -> autoDeleteOptions.selectedIndex = 0 diff --git a/rss-application/src/main/kotlin/de/unixwork/rssreader/FeedList.kt b/rss-application/src/main/kotlin/de/unixwork/rssreader/FeedList.kt index 194fe1f..8c727d3 100644 --- a/rss-application/src/main/kotlin/de/unixwork/rssreader/FeedList.kt +++ b/rss-application/src/main/kotlin/de/unixwork/rssreader/FeedList.kt @@ -116,7 +116,7 @@ class FeedList(window: MainWindow) : Document() { } } - val collection = Feed(group.id, "", "") + val collection = Feed(group.id, null, "", "") collection.isGroup = true showFeed = collection -- 2.52.0