Merge pull request #378 from LorenDB/readReceipts
Display read receipts when read indicator is clicked
This commit is contained in:
commit
20885dd66a
@ -5,9 +5,11 @@ import QtQuick.Controls 2.3
|
||||
AbstractButton {
|
||||
id: button
|
||||
|
||||
property alias cursor: mouseArea.cursorShape
|
||||
property string image: undefined
|
||||
property color highlightColor: colors.highlight
|
||||
property color buttonTextColor: colors.buttonText
|
||||
property bool changeColorOnHover: true
|
||||
|
||||
focusPolicy: Qt.NoFocus
|
||||
width: 16
|
||||
@ -18,7 +20,7 @@ AbstractButton {
|
||||
|
||||
// Workaround, can't get icon.source working for now...
|
||||
anchors.fill: parent
|
||||
source: "image://colorimage/" + image + "?" + (button.hovered ? highlightColor : buttonTextColor)
|
||||
source: image != "" ? ("image://colorimage/" + image + "?" + ((button.hovered && changeColorOnHover) ? highlightColor : buttonTextColor)) : ""
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
|
@ -2,17 +2,17 @@ import QtQuick 2.5
|
||||
import QtQuick.Controls 2.1
|
||||
import im.nheko 1.0
|
||||
|
||||
Rectangle {
|
||||
ImageButton {
|
||||
id: indicator
|
||||
|
||||
property int state: 0
|
||||
|
||||
color: "transparent"
|
||||
width: 16
|
||||
height: 16
|
||||
ToolTip.visible: ma.containsMouse && state != MtxEvent.Empty
|
||||
hoverEnabled: true
|
||||
changeColorOnHover: (model.state == MtxEvent.Read)
|
||||
cursor: (model.state == MtxEvent.Read) ? Qt.PointingHandCursor : Qt.ArrowCursor
|
||||
ToolTip.visible: hovered && model.state != MtxEvent.Empty
|
||||
ToolTip.text: {
|
||||
switch (state) {
|
||||
switch (model.state) {
|
||||
case MtxEvent.Failed:
|
||||
return qsTr("Failed");
|
||||
case MtxEvent.Sent:
|
||||
@ -26,32 +26,23 @@ Rectangle {
|
||||
}
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
id: ma
|
||||
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
onClicked: {
|
||||
if (model.state == MtxEvent.Read)
|
||||
TimelineManager.timeline.readReceiptsAction(model.id);
|
||||
}
|
||||
|
||||
Image {
|
||||
id: stateImg
|
||||
|
||||
// Workaround, can't get icon.source working for now...
|
||||
anchors.fill: parent
|
||||
source: {
|
||||
switch (indicator.state) {
|
||||
image: {
|
||||
switch (model.state) {
|
||||
case MtxEvent.Failed:
|
||||
return "image://colorimage/:/icons/icons/ui/remove-symbol.png?" + colors.buttonText;
|
||||
return ":/icons/icons/ui/remove-symbol.png";
|
||||
case MtxEvent.Sent:
|
||||
return "image://colorimage/:/icons/icons/ui/clock.png?" + colors.buttonText;
|
||||
return ":/icons/icons/ui/clock.png";
|
||||
case MtxEvent.Received:
|
||||
return "image://colorimage/:/icons/icons/ui/checkmark.png?" + colors.buttonText;
|
||||
return ":/icons/icons/ui/checkmark.png";
|
||||
case MtxEvent.Read:
|
||||
return "image://colorimage/:/icons/icons/ui/double-tick-indicator.png?" + colors.buttonText;
|
||||
return ":/icons/icons/ui/double-tick-indicator.png";
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -69,7 +69,6 @@ Item {
|
||||
}
|
||||
|
||||
StatusIndicator {
|
||||
state: model.state
|
||||
Layout.alignment: Qt.AlignRight | Qt.AlignTop
|
||||
Layout.preferredHeight: 16
|
||||
width: 16
|
||||
|
Loading…
Reference in New Issue
Block a user