Push rules sound: be a string, not just on/off

This commit is contained in:
miruka
2020-11-01 03:15:00 -04:00
parent d2fc003617
commit 8748c6445f
6 changed files with 19 additions and 10 deletions

View File

@@ -5,14 +5,15 @@ import "../../Base"
HButton {
property string toggles: ""
property var nextValue: ! on
readonly property bool on:
toggles && page.pendingEdits[model.id] &&
toggles in page.pendingEdits[model.id] ?
page.pendingEdits[model.id][toggles] :
Boolean(page.pendingEdits[model.id][toggles]) :
toggles ?
model[toggles] :
Boolean(model[toggles]) :
true
@@ -26,10 +27,10 @@ HButton {
if (! (model.id in page.pendingEdits)) page.pendingEdits[model.id] = {}
if ((! on) === model[toggles])
if ((! on) === Boolean(model[toggles]))
delete page.pendingEdits[model.id][toggles]
else
page.pendingEdits[model.id][toggles] = ! on
page.pendingEdits[model.id][toggles] = nextValue
if (! Object.keys(page.pendingEdits[model.id]).length)
delete page.pendingEdits[model.id]

View File

@@ -136,6 +136,11 @@ HTile {
NotificationRuleButton {
icon.name: "pushrule-action-sound"
toggles: "sound"
nextValue:
on ? "" :
model[toggles] ? model[toggles] :
model.rule_id === ".m.rule.call" ? "ring" :
"default"
}
NotificationRuleButton {