fix dismiss: remove from list instead of marking closed
This commit is contained in:
parent
d28100016b
commit
29a24b4205
2 changed files with 11 additions and 14 deletions
|
|
@ -133,7 +133,7 @@ M.PopupPanel {
|
|||
|
||||
// Notification list
|
||||
Repeater {
|
||||
model: M.NotifService.active.slice(0, 20)
|
||||
model: M.NotifService.list.slice(0, 20)
|
||||
|
||||
delegate: Item {
|
||||
id: notifItem
|
||||
|
|
|
|||
|
|
@ -12,26 +12,23 @@ QtObject {
|
|||
property var list: []
|
||||
property bool dnd: false
|
||||
|
||||
readonly property var active: list.filter(n => !n.closed)
|
||||
readonly property var popups: list.filter(n => n.popup && !n.closed)
|
||||
readonly property int count: active.length
|
||||
readonly property var popups: list.filter(n => n.popup)
|
||||
readonly property int count: list.length
|
||||
|
||||
function dismiss(notifId) {
|
||||
const n = list.find(n => n.id === notifId);
|
||||
if (n) {
|
||||
n.popup = false;
|
||||
n.closed = true;
|
||||
const idx = list.findIndex(n => n.id === notifId);
|
||||
if (idx >= 0) {
|
||||
const n = list[idx];
|
||||
n.notification?.dismiss();
|
||||
list.splice(idx, 1);
|
||||
_changed();
|
||||
}
|
||||
}
|
||||
|
||||
function dismissAll() {
|
||||
for (const n of list.slice()) {
|
||||
n.popup = false;
|
||||
n.closed = true;
|
||||
for (const n of list.slice())
|
||||
n.notification?.dismiss();
|
||||
}
|
||||
list = [];
|
||||
_changed();
|
||||
}
|
||||
|
||||
|
|
@ -85,7 +82,7 @@ QtObject {
|
|||
|
||||
// Dismiss excess popups (keep in history, just hide popup)
|
||||
const max = M.Modules.notifications.maxPopups || 4;
|
||||
const currentPopups = root.list.filter(n => n.popup && !n.closed);
|
||||
const currentPopups = root.list.filter(n => n.popup);
|
||||
if (currentPopups.length > max) {
|
||||
for (let i = max; i < currentPopups.length; i++)
|
||||
currentPopups[i].popup = false;
|
||||
|
|
@ -123,7 +120,7 @@ QtObject {
|
|||
property Timer _saveTimer: Timer {
|
||||
interval: 1000
|
||||
onTriggered: {
|
||||
const data = root.active.map(n => ({
|
||||
const data = root.list.map(n => ({
|
||||
id: n.id,
|
||||
summary: n.summary,
|
||||
body: n.body,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue