Add a checkmark to messages that have been received by the server (#93)

This commit is contained in:
Konstantinos Sideris 2018-01-14 12:54:17 +02:00
parent dfeb0c833a
commit c4fa8c844d
3 changed files with 14 additions and 1 deletions

View File

@ -84,6 +84,7 @@ public:
DescInfo descriptionMessage() const { return descriptionMsg_; }
QString eventId() const { return event_id_; }
void setEventId(const QString &event_id) { event_id_ = event_id; }
void markReceived();
~TimelineItem();

View File

@ -340,6 +340,16 @@ TimelineItem::TimelineItem(const mtx::events::RoomEvent<mtx::events::msg::Text>
mainLayout_->addLayout(messageLayout_);
}
void
TimelineItem::markReceived()
{
auto checkmark = new QLabel("", this);
checkmark->setStyleSheet(QString("font-size: %1px;").arg(conf::timeline::fonts::timestamp));
checkmark->setAlignment(Qt::AlignTop);
messageLayout_->insertWidget(1, checkmark);
}
// Only the body is displayed.
void
TimelineItem::generateBody(const QString &body)

View File

@ -461,8 +461,10 @@ TimelineView::updatePendingMessage(int txn_id, QString event_id)
auto msg = pending_msgs_.dequeue();
msg.event_id = event_id;
if (msg.widget)
if (msg.widget) {
msg.widget->setEventId(event_id);
msg.widget->markReceived();
}
pending_sent_msgs_.append(msg);
}