This repository has been archived on 2026-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
powersync-app/nymea-app/ui/devicepages/DoorbellDevicePage.qml
2019-08-30 15:50:10 +02:00

112 lines
4.0 KiB
QML

import QtQuick 2.5
import QtQuick.Controls 2.1
import QtQuick.Layouts 1.1
import Nymea 1.0
import "../components"
import "../customviews"
DevicePageBase {
id: root
readonly property EventType doorbellPressedType: deviceClass.eventTypes.findByName("doorbellPressed")
GridLayout {
anchors.fill: parent
anchors.topMargin: app.margins
columns: app.landscape ? 2 : 1
columnSpacing: app.margins
rowSpacing: app.margins
Item {
Layout.fillWidth: true
Layout.fillHeight: true
ColorIcon {
id: doorbellIcon
anchors.centerIn: parent
height: Math.min(parent.width, parent.height)
width: height
name: "../images/notification.svg"
color: keyColor
SequentialAnimation {
id: ringAnimation
ColorAnimation { target: doorbellIcon; property: "color"; from: doorbellIcon.keyColor; to: app.accentColor; duration: 200 }
ColorAnimation { target: doorbellIcon; property: "color"; from: app.accentColor; to: doorbellIcon.keyColor; duration: 300 }
ColorAnimation { target: doorbellIcon; property: "color"; from: doorbellIcon.keyColor; to: app.accentColor; duration: 200 }
ColorAnimation { target: doorbellIcon; property: "color"; from: app.accentColor; to: doorbellIcon.keyColor; duration: 300 }
ColorAnimation { target: doorbellIcon; property: "color"; from: doorbellIcon.keyColor; to: app.accentColor; duration: 200 }
ColorAnimation { target: doorbellIcon; property: "color"; from: app.accentColor; to: doorbellIcon.keyColor; duration: 300 }
ColorAnimation { target: doorbellIcon; property: "color"; from: doorbellIcon.keyColor; to: app.accentColor; duration: 200 }
ColorAnimation { target: doorbellIcon; property: "color"; from: app.accentColor; to: doorbellIcon.keyColor; duration: 300 }
}
Connections {
target: root.device
onEventTriggered: {
print("evenEmitted", params)
if (eventTypeId == root.doorbellPressedType.id) {
ringAnimation.start();
}
}
}
}
}
Item {
Layout.fillWidth: true
Layout.fillHeight: true
ColumnLayout {
anchors.fill: parent
spacing: app.margins
ThinDivider {
visible: !app.landscape
}
RowLayout {
spacing: app.margins
Label {
Layout.fillWidth: true
}
ColorIcon {
Layout.preferredHeight: app.iconSize
Layout.preferredWidth: app.iconSize
name: "../images/alarm-clock.svg"
color: app.accentColor
}
Label {
text: qsTr("History")
}
Label {
Layout.fillWidth: true
}
}
ListView {
Layout.fillWidth: true
Layout.fillHeight: true
clip: true
model: LogsModelNg {
engine: _engine
live: true
deviceId: root.device.id
typeIds: [root.doorbellPressedType.id]
}
delegate: NymeaListItemDelegate {
width: parent.width
text: Qt.formatDateTime(model.timestamp)
progressive: false
textAlignment: Text.AlignHCenter
}
}
}
}
}
}