mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-11-22 11:00:48 +03:00
Make the author text slightly large.
Add author color generated based on user id.
This commit is contained in:
parent
10095b8704
commit
1882198e4b
3 changed files with 27 additions and 2 deletions
|
@ -382,6 +382,23 @@ utils::linkColor()
|
||||||
return QPalette().color(QPalette::Link).name();
|
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
|
void
|
||||||
utils::centerWidget(QWidget *widget, QWidget *parent)
|
utils::centerWidget(QWidget *widget, QWidget *parent)
|
||||||
{
|
{
|
||||||
|
|
|
@ -227,6 +227,10 @@ markdownToHtml(const QString &text);
|
||||||
QString
|
QString
|
||||||
linkColor();
|
linkColor();
|
||||||
|
|
||||||
|
//! Given an input string, create a color string
|
||||||
|
QString
|
||||||
|
generateHexColor(const QString &string);
|
||||||
|
|
||||||
//! Center a widget in relation to another widget.
|
//! Center a widget in relation to another widget.
|
||||||
void
|
void
|
||||||
centerWidget(QWidget *widget, QWidget *parent);
|
centerWidget(QWidget *widget, QWidget *parent);
|
||||||
|
|
|
@ -622,8 +622,10 @@ TimelineItem::generateUserName(const QString &user_id, const QString &displaynam
|
||||||
sender = displayname.split(":")[0].split("@")[1];
|
sender = displayname.split(":")[0].split("@")[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto userColor = utils::generateHexColor(user_id);
|
||||||
|
|
||||||
QFont usernameFont;
|
QFont usernameFont;
|
||||||
usernameFont.setPointSizeF(usernameFont.pointSizeF());
|
usernameFont.setPointSizeF(usernameFont.pointSizeF() * 1.1);
|
||||||
usernameFont.setWeight(QFont::Medium);
|
usernameFont.setWeight(QFont::Medium);
|
||||||
|
|
||||||
QFontMetrics fm(usernameFont);
|
QFontMetrics fm(usernameFont);
|
||||||
|
@ -637,6 +639,8 @@ TimelineItem::generateUserName(const QString &user_id, const QString &displaynam
|
||||||
userName_->setAlignment(Qt::AlignLeft | Qt::AlignTop);
|
userName_->setAlignment(Qt::AlignLeft | Qt::AlignTop);
|
||||||
userName_->setFixedWidth(QFontMetrics(userName_->font()).width(userName_->text()));
|
userName_->setFixedWidth(QFontMetrics(userName_->font()).width(userName_->text()));
|
||||||
|
|
||||||
|
userName_->setStyleSheet("QLabel { color : " + userColor + "; }");
|
||||||
|
|
||||||
auto filter = new UserProfileFilter(user_id, userName_);
|
auto filter = new UserProfileFilter(user_id, userName_);
|
||||||
userName_->installEventFilter(filter);
|
userName_->installEventFilter(filter);
|
||||||
userName_->setCursor(Qt::PointingHandCursor);
|
userName_->setCursor(Qt::PointingHandCursor);
|
||||||
|
@ -837,4 +841,4 @@ TimelineItem::openRawMessageViewer() const
|
||||||
"failed to serialize event ({}, {})", room_id, event_id);
|
"failed to serialize event ({}, {})", room_id, event_id);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
Loading…
Reference in a new issue