summaryrefslogtreecommitdiff
path: root/services
diff options
context:
space:
mode:
Diffstat (limited to 'services')
-rw-r--r--services/Notifs.qml38
1 files changed, 27 insertions, 11 deletions
diff --git a/services/Notifs.qml b/services/Notifs.qml
index 2ebc32d..aa440fe 100644
--- a/services/Notifs.qml
+++ b/services/Notifs.qml
@@ -146,21 +146,37 @@ Singleton {
property var locks: new Set()
property date time: new Date()
- readonly property string timeStr: {
- const diff = Time.date.getTime() - time.getTime();
+ property string timeStr: qsTr("now")
+
+ function updateTimeStr(): void {
+ const diff = Date.now() - time.getTime();
const m = Math.floor(diff / 60000);
- if (m < 1)
- return qsTr("now");
+ if (m < 1) {
+ timeStr = qsTr("now");
+ timeStrTimer.interval = 5000;
+ } else {
+ const h = Math.floor(m / 60);
+ const d = Math.floor(h / 24);
- const h = Math.floor(m / 60);
- const d = Math.floor(h / 24);
+ if (d > 0) {
+ timeStr = `${d}d`;
+ timeStrTimer.interval = 3600000;
+ } else if (h > 0) {
+ timeStr = `${h}h`;
+ timeStrTimer.interval = 300000;
+ } else {
+ timeStr = `${m}m`;
+ timeStrTimer.interval = m < 10 ? 30000 : 60000;
+ }
+ }
+ }
- if (d > 0)
- return `${d}d`;
- if (h > 0)
- return `${h}h`;
- return `${m}m`;
+ readonly property Timer timeStrTimer: Timer {
+ running: !notif.closed
+ repeat: true
+ interval: 5000
+ onTriggered: notif.updateTimeStr()
}
property Notification notification