matrixion/resources/qml/StatusIndicator.qml
Loren Burkholder 139ab146bb Use an ImageButton for the StatusIndicator
Incidentally, this allows ImageButtons to not change color.
2021-01-16 10:02:55 -05:00

56 lines
1.3 KiB
QML

import QtQuick 2.5
import QtQuick.Controls 2.1
import im.nheko 1.0
ImageButton {
id: indicator
property int state: 0
property string eventId
width: 16
height: 16
hoverEnabled: true
ToolTip.visible: hovered && state != MtxEvent.Empty
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");
default:
return "";
}
}
onClicked: {
if (state == MtxEvent.Read)
TimelineManager.timeline.readReceiptsAction(eventId);
}
image: {
switch (state) {
case MtxEvent.Failed:
return ":/icons/icons/ui/remove-symbol.png";
case MtxEvent.Sent:
return ":/icons/icons/ui/clock.png";
case MtxEvent.Received:
return ":/icons/icons/ui/checkmark.png";
case MtxEvent.Read:
return ":/icons/icons/ui/double-tick-indicator.png";
default:
return "";
}
}
changeColorOnHover: {
if (state == MtxEvent.Read)
return true;
else
return false;
}
}