From a8a3f5285e7ce155f496b88cf03662b6869a430c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Tinkl?= Date: Fri, 20 Jan 2023 16:34:30 +0100 Subject: [PATCH] chore: optimize StatusDateGroupLabel some more since this component is performance critical, optimize it some more by extracting some common constants so that they don't have to revaluted every time --- .../Components/StatusDateGroupLabel.qml | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/ui/StatusQ/src/StatusQ/Components/StatusDateGroupLabel.qml b/ui/StatusQ/src/StatusQ/Components/StatusDateGroupLabel.qml index efe6377945..56f56b96cb 100644 --- a/ui/StatusQ/src/StatusQ/Components/StatusDateGroupLabel.qml +++ b/ui/StatusQ/src/StatusQ/Components/StatusDateGroupLabel.qml @@ -1,7 +1,6 @@ import QtQuick 2.14 import StatusQ.Core 0.1 -import StatusQ.Core.Utils 0.1 import StatusQ.Core.Theme 0.1 StatusBaseText { @@ -10,6 +9,10 @@ StatusBaseText { property double previousMessageTimestamp property double messageTimestamp + readonly property int msInADay: 86400000 + readonly property int lastMessageInDays: Math.floor(previousMessageTimestamp / msInADay) + readonly property int currentMessageInDays: Math.floor(messageTimestamp / msInADay) + font.pixelSize: 13 color: Theme.palette.baseColor1 horizontalAlignment: Text.AlignHCenter @@ -18,20 +21,9 @@ StatusBaseText { if (messageTimestamp === 0) return "" - const msInADay = 86400000 - const lastMessageInDays = Math.floor(previousMessageTimestamp / msInADay) - const currentMessageInDays = Math.floor(messageTimestamp / msInADay) if(previousMessageTimestamp > 0 && currentMessageInDays <= lastMessageInDays) return "" - let date = new Date() - const currentYear = date.getFullYear() - date.setTime(messageTimestamp) - - // FIXME Qt6: replace with Intl.DateTimeFormat - const monthName = Qt.locale().standaloneMonthName(date.getMonth(), Locale.LongFormat) - if (currentYear > date.getFullYear()) - return "%1 %2, %3".arg(monthName).arg(date.getDate()).arg(date.getFullYear()) - return "%1, %2".arg(monthName).arg(date.getDate()) + return LocaleUtils.formatDate(messageTimestamp) } }