moment/src/gui/Pages/AccountSettings/NotificationRuleButton.qml

42 lines
976 B
QML
Raw Normal View History

// SPDX-License-Identifier: LGPL-3.0-or-later
import QtQuick 2.12
import "../../Base"
HButton {
2020-11-01 00:55:29 -04:00
property string toggles: ""
readonly property bool on:
toggles && page.pendingEdits[model.id] &&
toggles in page.pendingEdits[model.id] ?
page.pendingEdits[model.id][toggles] :
2020-11-01 00:55:29 -04:00
toggles ?
model[toggles] :
true
opacity: on ? 1 : theme.disabledElementsOpacity
hoverEnabled: true
backgroundColor: "transparent"
2020-11-01 00:55:29 -04:00
onClicked: {
if (! toggles) return
if (! (model.id in page.pendingEdits)) page.pendingEdits[model.id] = {}
2020-11-01 00:55:29 -04:00
if ((! on) === model[toggles])
delete page.pendingEdits[model.id][toggles]
2020-11-01 00:55:29 -04:00
else
page.pendingEdits[model.id][toggles] = ! on
2020-11-01 00:55:29 -04:00
if (! Object.keys(page.pendingEdits[model.id]).length)
delete page.pendingEdits[model.id]
2020-11-01 00:55:29 -04:00
page.pendingEditsChanged()
}
Behavior on opacity { HNumberAnimation {} }
}