Fix link parsing in IRC (#3334)

This commit is contained in:
pajlada
2021-11-07 14:55:43 +01:00
committed by GitHub
parent 7f4b73910a
commit 3c4331b8cb
6 changed files with 111 additions and 343 deletions
@@ -405,40 +405,4 @@ int TextIconLayoutElement::getXFromIndex(int index)
}
}
//
// TEXT
//
MultiColorTextLayoutElement::MultiColorTextLayoutElement(
MessageElement &_creator, QString &_text, const QSize &_size,
std::vector<PajSegment> segments, FontStyle _style, float _scale)
: TextLayoutElement(_creator, _text, _size, QColor{}, _style, _scale)
, segments_(segments)
{
this->setText(_text);
}
void MultiColorTextLayoutElement::paint(QPainter &painter)
{
auto app = getApp();
painter.setPen(this->color_);
painter.setFont(app->fonts->getFont(this->style_, this->scale_));
int xOffset = 0;
auto metrics = app->fonts->getFontMetrics(this->style_, this->scale_);
for (const auto &segment : this->segments_)
{
painter.setPen(segment.color);
painter.drawText(QRectF(this->getRect().x() + xOffset,
this->getRect().y(), 10000, 10000),
segment.text,
QTextOption(Qt::AlignLeft | Qt::AlignTop));
xOffset += metrics.horizontalAdvance(segment.text);
}
}
} // namespace chatterino