]> uap-core.de Git - rssreader.git/commitdiff
use different date formatter if the item date is today
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Wed, 10 Sep 2025 17:04:12 +0000 (19:04 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Wed, 10 Sep 2025 17:04:12 +0000 (19:04 +0200)
rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt

index 14ed8c56577bdb9ab4c1654d91028f5742a194c4..e1703c4b991ac19691998d15fcf2aa792ceb6ee6 100644 (file)
@@ -4,7 +4,6 @@ import de.unixwork.ui.ColumnType
 import de.unixwork.ui.SubListItem
 import de.unixwork.ui.TabViewType
 import de.unixwork.ui.TableModel
-import de.unixwork.ui.UiInteger
 import de.unixwork.ui.UiList
 import de.unixwork.ui.UiString
 import de.unixwork.ui.UiText
@@ -12,6 +11,7 @@ import de.unixwork.ui.kotlin.Toplevel
 import de.unixwork.ui.kotlin.sidebarWindow
 import de.unixwork.ui.kotlin.dialogWindow
 import de.unixwork.ui.kotlin.openFileDialog
+import java.time.LocalDate
 import java.time.ZoneId
 import java.time.format.DateTimeFormatter
 
@@ -20,8 +20,8 @@ class MainWindow() {
     val sourceList = FeedSourceList()
     val feedList = FeedList()
 
-    // TODO: date format config
-    val formatter = DateTimeFormatter.ofPattern(App.settings.dateFormat).withZone(ZoneId.systemDefault())
+    val dateFormatter = DateTimeFormatter.ofPattern(App.settings.dateFormat).withZone(ZoneId.systemDefault())
+    val dateTodayFormatter = DateTimeFormatter.ofPattern(App.settings.dateFormatToday).withZone(ZoneId.systemDefault())
 
     var newFeedPrevGroup = 0
 
@@ -108,7 +108,18 @@ class MainWindow() {
                         var result: String? = null
                         when(col) {
                             0 -> result = elm.title
-                            1 -> result = formatter.format(elm.updated ?: elm.pubDate)
+                            1 -> {
+                                val date = elm.updated ?: elm.pubDate
+                                date?.let {
+                                    val localDate = date.atZone(ZoneId.systemDefault()).toLocalDate()
+                                    val now = LocalDate.now()
+                                    if(localDate.isEqual(now)) {
+                                        result = dateTodayFormatter.format(date)
+                                    } else {
+                                        result = dateFormatter.format(date)
+                                    }
+                                }
+                            }
                         }
                         result
                     }