Skip to content
Snippets Groups Projects
Commit 1882198e authored by Joe Donofry's avatar Joe Donofry
Browse files

Make the author text slightly large.

Add author color generated based on user id.
parent 10095b87
No related branches found
No related tags found
No related merge requests found
......@@ -382,6 +382,23 @@ utils::linkColor()
return QPalette().color(QPalette::Link).name();
}
QString
utils::generateHexColor(const QString &input)
{
auto hash = 0;
for (int i = 0; i < input.length(); i++) {
hash = input.at(i).digitValue() + ((hash << 5) - hash);
}
hash *= 13;
QString colour("#");
for (int i = 0; i < 3; i++) {
int value = (hash >> (i * 8)) & 0xFF;
colour.append(("00" + QString::number(value, 16)).right(2));
}
return colour;
}
void
utils::centerWidget(QWidget *widget, QWidget *parent)
{
......
......@@ -227,6 +227,10 @@ markdownToHtml(const QString &text);
QString
linkColor();
//! Given an input string, create a color string
QString
generateHexColor(const QString &string);
//! Center a widget in relation to another widget.
void
centerWidget(QWidget *widget, QWidget *parent);
......
......@@ -622,8 +622,10 @@ TimelineItem::generateUserName(const QString &user_id, const QString &displaynam
sender = displayname.split(":")[0].split("@")[1];
}
auto userColor = utils::generateHexColor(user_id);
QFont usernameFont;
usernameFont.setPointSizeF(usernameFont.pointSizeF());
usernameFont.setPointSizeF(usernameFont.pointSizeF() * 1.1);
usernameFont.setWeight(QFont::Medium);
QFontMetrics fm(usernameFont);
......@@ -637,6 +639,8 @@ TimelineItem::generateUserName(const QString &user_id, const QString &displaynam
userName_->setAlignment(Qt::AlignLeft | Qt::AlignTop);
userName_->setFixedWidth(QFontMetrics(userName_->font()).width(userName_->text()));
userName_->setStyleSheet("QLabel { color : " + userColor + "; }");
auto filter = new UserProfileFilter(user_id, userName_);
userName_->installEventFilter(filter);
userName_->setCursor(Qt::PointingHandCursor);
......@@ -837,4 +841,4 @@ TimelineItem::openRawMessageViewer() const
"failed to serialize event ({}, {})", room_id, event_id);
}
});
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment