mirror of
https://github.com/status-im/status-desktop.git
synced 2025-01-09 22:06:25 +00:00
4ee21ada05
Introduced Style.svg() Style.png() Style.emoji() and Style.icon() in Style.qml. Those should be used to set the source in Images instead of using relative paths. Usage: Image { source: Style.svg("check) .... Also moved all Singletons inside a new "utils" folder and made it a QML module, to use import utils 1.0 instead of relative paths Closes #3678
59 lines
1.9 KiB
QML
59 lines
1.9 KiB
QML
import QtQuick 2.13
|
|
import QtQuick.Controls 2.13
|
|
|
|
import utils 1.0
|
|
|
|
Rectangle {
|
|
id: root
|
|
property var isValid: true
|
|
property var isPending: false
|
|
property var validate: function() {
|
|
let isValid = true
|
|
for (let i=0; i<children.length; i++) {
|
|
const component = children[i]
|
|
if (component.hasOwnProperty("validate") && typeof component.validate === "function") {
|
|
isValid = component.validate()
|
|
}
|
|
if (component.hasOwnProperty("isPending")) {
|
|
isPending = component.isPending
|
|
}
|
|
}
|
|
root.isValid = isValid
|
|
root.isPending = isPending
|
|
return { isValid, isPending }
|
|
}
|
|
color: Style.current.background
|
|
StackView.onActivated: {
|
|
// parent refers to the StackView
|
|
parent.groupActivated(this)
|
|
}
|
|
Component.onCompleted: {
|
|
for (let i=0; i<children.length; i++) {
|
|
const component = children[i]
|
|
if (component.hasOwnProperty("isValid")) {
|
|
component.isValidChanged.connect(updateGroupValidityAndPendingStatus)
|
|
root.isValid = root.isValid && component.isValid // set the initial state
|
|
}
|
|
if (component.hasOwnProperty("isPending")) {
|
|
component.isPendingChanged.connect(updateGroupValidityAndPendingStatus)
|
|
root.isPending = component.isPending
|
|
}
|
|
}
|
|
}
|
|
function updateGroupValidityAndPendingStatus() {
|
|
let isValid = true
|
|
let isPending = false
|
|
for (let i=0; i<children.length; i++) {
|
|
const component = children[i]
|
|
if (component.hasOwnProperty("isValid")) {
|
|
isValid = isValid && component.isValid
|
|
}
|
|
if (component.hasOwnProperty("isPending")) {
|
|
isPending = component.isPending
|
|
}
|
|
}
|
|
root.isValid = isValid
|
|
root.isPending = isPending
|
|
}
|
|
}
|