Fix inconsistent user color updates.

This commit is contained in:
redsky17 2019-01-26 06:03:52 +00:00
parent 2ba51c821e
commit f869ff5ded
1 changed files with 5 additions and 4 deletions

View File

@ -608,17 +608,18 @@ void
TimelineItem::refreshAuthorColor()
{
if (userName_) {
QString userColor = Cache::userColor(userName_->text());
QString userColor = Cache::userColor(userName_->toolTip());
if (userColor.isEmpty()) {
// This attempts to refresh this item since it's not drawn
// which allows us to get the background color accurately.
qApp->style()->polish(this);
// generate user's unique color.
auto backCol = backgroundColor().name();
userColor = utils::generateContrastingHexColor(userName_->text(), backCol);
Cache::insertUserColor(userName_->text(), userColor);
userName_->setStyleSheet("QLabel { color : " + userColor + "; }");
userColor = utils::generateContrastingHexColor(userName_->toolTip(), backCol);
Cache::insertUserColor(userName_->toolTip(), userColor);
}
userName_->setStyleSheet("QLabel { color : " + userColor + "; }");
}
}
// The username/timestamp is displayed along with the message body.