]> uap-core.de Git - rssreader.git/commitdiff
implement browserSetting radio menu items
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Wed, 15 Oct 2025 16:44:45 +0000 (18:44 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Wed, 15 Oct 2025 16:44:45 +0000 (18:44 +0200)
rss-application/src/main/kotlin/de/unixwork/rssreader/App.kt
rss-application/src/main/kotlin/de/unixwork/rssreader/FeedList.kt
rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt

index 4175261e2995d12afd5577039644b1fae49ec1cd..bf9e18cb1441b7bce9cf971b0bbc6b0abf5efc73 100644 (file)
@@ -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) {
index c3100323d42e261da1bfb19374ef24976788ee7f..3873069cb44b277f6f7b9f594b25fd4048be5834 100644 (file)
@@ -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
index 519348c1642aaeee007c67e7bbb74740557cdfec..e464f37ada67efbebcb660f02ed1a19ec94cf93d 100644 (file)
@@ -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) {