diff --git a/include/timeline/TimelineItem.h b/include/timeline/TimelineItem.h index 525cd6e1..6a8f277e 100644 --- a/include/timeline/TimelineItem.h +++ b/include/timeline/TimelineItem.h @@ -137,6 +137,7 @@ private: QFont font_; QLabel *timestamp_; + QLabel *checkmark_; QLabel *userName_; QLabel *body_; }; diff --git a/src/timeline/TimelineItem.cc b/src/timeline/TimelineItem.cc index 93987d52..db5f19e6 100644 --- a/src/timeline/TimelineItem.cc +++ b/src/timeline/TimelineItem.cc @@ -61,6 +61,10 @@ TimelineItem::init() mainLayout_->setContentsMargins(conf::timeline::headerLeftMargin, 0, 0, 0); mainLayout_->setSpacing(0); + + checkmark_ = new QLabel(" ", this); + checkmark_->setStyleSheet( + QString("font-size: %1px;").arg(conf::timeline::fonts::timestamp)); } /* @@ -108,6 +112,7 @@ TimelineItem::TimelineItem(mtx::events::MessageType ty, messageLayout_->addWidget(body_, 1); } + messageLayout_->addWidget(checkmark_); messageLayout_->addWidget(timestamp_); mainLayout_->addLayout(messageLayout_); } @@ -239,6 +244,7 @@ TimelineItem::TimelineItem(const mtx::events::RoomEventaddWidget(body_, 1); } + messageLayout_->addWidget(checkmark_); messageLayout_->addWidget(timestamp_); mainLayout_->addLayout(messageLayout_); } @@ -285,6 +291,7 @@ TimelineItem::TimelineItem(const mtx::events::RoomEvent messageLayout_->addWidget(body_, 1); } + messageLayout_->addWidget(checkmark_); messageLayout_->addWidget(timestamp_); mainLayout_->addLayout(messageLayout_); } @@ -336,6 +343,7 @@ TimelineItem::TimelineItem(const mtx::events::RoomEvent messageLayout_->addWidget(body_, 1); } + messageLayout_->addWidget(checkmark_); messageLayout_->addWidget(timestamp_); mainLayout_->addLayout(messageLayout_); } @@ -343,11 +351,8 @@ TimelineItem::TimelineItem(const mtx::events::RoomEvent 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); + checkmark_->setText("✓"); + checkmark_->setAlignment(Qt::AlignTop); } // Only the body is displayed.