From 18a81f81538294cd576b33e031292813ad47ec81 Mon Sep 17 00:00:00 2001 From: Olaf Wintermann Date: Wed, 15 Oct 2025 18:44:45 +0200 Subject: [PATCH] implement browserSetting radio menu items --- .../main/kotlin/de/unixwork/rssreader/App.kt | 6 ++--- .../kotlin/de/unixwork/rssreader/FeedList.kt | 22 ++++++++++++++----- .../de/unixwork/rssreader/MainWindow.kt | 2 -- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/rss-application/src/main/kotlin/de/unixwork/rssreader/App.kt b/rss-application/src/main/kotlin/de/unixwork/rssreader/App.kt index 4175261..bf9e18c 100644 --- a/rss-application/src/main/kotlin/de/unixwork/rssreader/App.kt +++ b/rss-application/src/main/kotlin/de/unixwork/rssreader/App.kt @@ -95,9 +95,9 @@ object App : Application { } } separator() - radioItem(label = "Use the default browser setting", varname = "browserSetting") - radioItem(label = "Internal browser", varname = "browserSetting") - radioItem(label = "Externen browser", varname = "browserSetting") + radioItem(label = "Open item with default settings", varname = "browserSetting") + radioItem(label = "Open item description", varname = "browserSetting") + radioItem(label = "Open item link in internal browser", varname = "browserSetting") separator() menuItem(label = "Settings") { if(configWindow == null) { 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 c310032..3873069 100644 --- a/rss-application/src/main/kotlin/de/unixwork/rssreader/FeedList.kt +++ b/rss-application/src/main/kotlin/de/unixwork/rssreader/FeedList.kt @@ -14,15 +14,18 @@ class FeedList(window: MainWindow) : Document() { val feedName = string("feedname") val author = string("author") val linkstr = string("link") - val linkstr2 = string("link2") val link = UiLinkData(linkstr) - val link2 = UiLinkData(linkstr2) val category = string("category") val webview = webview("webview") val tabview = integer("tabview") val starred = integer("starred") val browser = integer("browser") + // 0: use feed settings + // 1: load item description + // 2: + val browserSetting = integer("browserSetting") + // Feed that is currently shown var currentFeed: FeedCollection? = null var currentItem: Item? = null @@ -89,7 +92,6 @@ class FeedList(window: MainWindow) : Document() { window.window.ui.unsetState(MainWindow.ITEM_HAS_AUTHOR) } link.set(item.link, item.link) - link2.set("Browser", item.link) category.setString(item.category ?: "") if(!item.category.isNullOrEmpty()) { category.setString(item.category) @@ -106,12 +108,20 @@ class FeedList(window: MainWindow) : Document() { tabview.setIntValue(1) // select item page - currentFeed?.let { feed -> - browser.setBooleanValue(feed.internalBrowser) - } ?: { + val browserSetting = browserSetting.intValue() + if(browserSetting == 0) { + currentFeed?.let { feed -> + browser.setBooleanValue(feed.internalBrowser) + } ?: { + browser.setBooleanValue(false) + } + } else if(browserSetting == 1) { browser.setBooleanValue(false) + } else { + browser.setBooleanValue(true) } + updateWebView() // Update read status 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 519348c..e464f37 100644 --- a/rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt +++ b/rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt @@ -36,8 +36,6 @@ class MainWindow() { var currentSublistIndex = -1 var currentFeedIndex = -1 - var browserSetting = 0 // 0: use browser setting from feed, 1: always use internal browser, 2: never use internal browser - init { setDefaultWindowSize(1600, 900) window = splitViewWindow(title = "RSS Reader", sidebar = true) { -- 2.47.3