Merge pull request #378 from LorenDB/readReceipts

Display read receipts when read indicator is clicked
This commit is contained in:
DeepBlueV7.X 2021-01-17 23:55:58 +01:00 committed by GitHub
commit 20885dd66a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 32 deletions

View File

@ -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 {

View File

@ -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 "";
}
}
}
}

View File

@ -69,7 +69,6 @@ Item {
}
StatusIndicator {
state: model.state
Layout.alignment: Qt.AlignRight | Qt.AlignTop
Layout.preferredHeight: 16
width: 16