matrixion/resources/qml/StatusIndicator.qml

46 lines
1.1 KiB
QML
Raw Normal View History

2019-09-18 23:58:25 +03:00
import QtQuick 2.5
import QtQuick.Controls 2.1
2019-09-18 23:58:25 +03:00
import QtGraphicalEffects 1.0
import com.github.nheko 1.0
Rectangle {
id: indicator
property int state: 0
color: "transparent"
width: 16
height: 16
2019-09-19 22:47:16 +03:00
ToolTip.visible: ma.containsMouse && state != MtxEvent.Empty
2019-09-18 23:58:25 +03:00
ToolTip.text: switch (state) {
case MtxEvent.Failed: return qsTr("Failed")
case MtxEvent.Sent: return qsTr("Sent")
case MtxEvent.Received: return qsTr("Received")
case MtxEvent.Read: return qsTr("Read")
2019-09-19 22:47:16 +03:00
default: return ""
2019-09-18 23:58:25 +03:00
}
MouseArea{
id: ma
anchors.fill: parent
hoverEnabled: true
}
Image {
id: stateImg
// Workaround, can't get icon.source working for now...
anchors.fill: parent
source: switch (indicator.state) {
case MtxEvent.Failed: return "qrc:/icons/icons/ui/remove-symbol.png"
case MtxEvent.Sent: return "qrc:/icons/icons/ui/clock.png"
case MtxEvent.Received: return "qrc:/icons/icons/ui/checkmark.png"
case MtxEvent.Read: return "qrc:/icons/icons/ui/double-tick-indicator.png"
default: return ""
}
}
ColorOverlay {
anchors.fill: stateImg
source: stateImg
color: colors.buttonText
2019-10-06 16:26:02 +03:00
visible: stateImg.source != ""
2019-09-18 23:58:25 +03:00
}
}