- BufferId bufferId = model_->data(prevRowIdx, MessageModel::BufferIdRole).value<BufferId>();
- if(msgId == Client::networkModel()->lastSeenMsgId(bufferId) && chatScene()->isSingleBufferScene()) {
- QtUiStyleSettings s("Colors");
- QLinearGradient gradient(0, 0, 0, contentsItem().fontMetrics()->lineSpacing());
- gradient.setColorAt(0, s.value("newMsgMarkerFG", QColor(Qt::red)).value<QColor>());
- gradient.setColorAt(0.1, Qt::transparent);
- painter->fillRect(boundingRect(), gradient);
+ BufferId bufferId = BufferId(chatScene()->idString().toInt());
+ MsgId lastSeenMsgId = Client::networkModel()->lastSeenMarkerMsgId(bufferId);
+ if(lastSeenMsgId < myMsgId && lastSeenMsgId >= prevMsgId) {
+ QLinearGradient gradient(0, 0, 0, contentsItem().fontMetrics()->lineSpacing());
+ gradient.setColorAt(0, QtUi::style()->brush(UiStyle::MarkerLine).color()); // FIXME: Use full (gradient?) brush instead of just the color
+ gradient.setColorAt(0.1, Qt::transparent);
+ painter->fillRect(boundingRect(), gradient);