sidebar/notifs: fix minor bugs
Image/app icon/urgency/time not updating until corresponding notif is fully destroyed Weird array mutation shenanigans
This commit is contained in:
parent
1a1145f2f4
commit
16ce222ad7
2 changed files with 7 additions and 11 deletions
|
|
@ -19,9 +19,9 @@ StyledRect {
|
||||||
|
|
||||||
readonly property list<var> notifs: Notifs.list.filter(n => n.appName === modelData)
|
readonly property list<var> notifs: Notifs.list.filter(n => n.appName === modelData)
|
||||||
readonly property int notifCount: notifs.reduce((acc, n) => n.closed ? acc : acc + 1, 0)
|
readonly property int notifCount: notifs.reduce((acc, n) => n.closed ? acc : acc + 1, 0)
|
||||||
readonly property string image: notifs.find(n => n.image.length > 0)?.image ?? ""
|
readonly property string image: notifs.find(n => !n.closed && n.image.length > 0)?.image ?? ""
|
||||||
readonly property string appIcon: notifs.find(n => n.appIcon.length > 0)?.appIcon ?? ""
|
readonly property string appIcon: notifs.find(n => !n.closed && n.appIcon.length > 0)?.appIcon ?? ""
|
||||||
readonly property int urgency: notifs.some(n => n.urgency === NotificationUrgency.Critical) ? NotificationUrgency.Critical : notifs.some(n => n.urgency === NotificationUrgency.Normal) ? NotificationUrgency.Normal : NotificationUrgency.Low
|
readonly property int urgency: notifs.some(n => !n.closed && n.urgency === NotificationUrgency.Critical) ? NotificationUrgency.Critical : notifs.some(n => n.urgency === NotificationUrgency.Normal) ? NotificationUrgency.Normal : NotificationUrgency.Low
|
||||||
|
|
||||||
readonly property int nonAnimHeight: {
|
readonly property int nonAnimHeight: {
|
||||||
const headerHeight = header.implicitHeight + (root.expanded ? Math.round(Appearance.spacing.small / 2) : 0);
|
const headerHeight = header.implicitHeight + (root.expanded ? Math.round(Appearance.spacing.small / 2) : 0);
|
||||||
|
|
@ -162,7 +162,7 @@ StyledRect {
|
||||||
|
|
||||||
StyledText {
|
StyledText {
|
||||||
animate: true
|
animate: true
|
||||||
text: root.notifs[0]?.timeStr ?? ""
|
text: root.notifs.find(n => !n.closed)?.timeStr ?? ""
|
||||||
color: Colours.palette.m3outline
|
color: Colours.palette.m3outline
|
||||||
font.pointSize: Appearance.font.size.small
|
font.pointSize: Appearance.font.size.small
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -274,18 +274,14 @@ Singleton {
|
||||||
|
|
||||||
function unlock(item: Item): void {
|
function unlock(item: Item): void {
|
||||||
locks.delete(item);
|
locks.delete(item);
|
||||||
|
if (closed)
|
||||||
if (closed && locks.size === 0 && root.list.includes(this)) {
|
close();
|
||||||
root.list.splice(root.list.indexOf(this), 1);
|
|
||||||
notification?.dismiss();
|
|
||||||
destroy();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function close(): void {
|
function close(): void {
|
||||||
closed = true;
|
closed = true;
|
||||||
if (locks.size === 0 && root.list.includes(this)) {
|
if (locks.size === 0 && root.list.includes(this)) {
|
||||||
root.list.splice(root.list.indexOf(this), 1);
|
root.list = root.list.filter(n => n !== this);
|
||||||
notification?.dismiss();
|
notification?.dismiss();
|
||||||
destroy();
|
destroy();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue