From 172c1a047de327708a55d9c8e2efcbc09481d048 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Mon, 15 Sep 2025 23:32:07 +1000 Subject: utilities/toggles: add dnd Closes #80 Closes #426 --- services/Notifs.qml | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) (limited to 'services/Notifs.qml') diff --git a/services/Notifs.qml b/services/Notifs.qml index 87ecca5..46b13a5 100644 --- a/services/Notifs.qml +++ b/services/Notifs.qml @@ -13,6 +13,15 @@ Singleton { readonly property list list: [] readonly property list popups: list.filter(n => n.popup) + property alias dnd: props.dnd + + PersistentProperties { + id: props + + property bool dnd + + reloadableId: "notifs" + } NotificationServer { id: server @@ -27,10 +36,11 @@ Singleton { onNotification: notif => { notif.tracked = true; - root.list.push(notifComp.createObject(root, { - popup: true, - notification: notif - })); + if (!props.dnd) + root.list.push(notifComp.createObject(root, { + popup: true, + notification: notif + })); } } @@ -50,6 +60,22 @@ Singleton { for (const notif of root.list) notif.popup = false; } + + function isDndEnabled(): bool { + return props.dnd; + } + + function toggleDnd(): void { + props.dnd = !props.dnd; + } + + function enableDnd(): void { + props.dnd = true; + } + + function disableDnd(): void { + props.dnd = false; + } } component Notif: QtObject { -- cgit v1.2.3-freya