mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-04-27 07:48:01 -07:00
Add Judge Pawns (+ Resize Donator Pawns) (#5566)
This commit is contained in:
parent
b509eed3e0
commit
a6649d5401
7 changed files with 576 additions and 19 deletions
|
|
@ -259,19 +259,23 @@ QIcon UserLevelPixmapGenerator::generateIcon(int minHeight,
|
|||
}
|
||||
|
||||
QIcon icon = colorLeft.has_value()
|
||||
? generateIconWithColorOverride(minHeight, isBuddy, privLevel, colorLeft, colorRight)
|
||||
? generateIconWithColorOverride(minHeight, isBuddy, userLevel, privLevel, colorLeft, colorRight)
|
||||
: generateIconDefault(minHeight, userLevel, isBuddy, privLevel);
|
||||
|
||||
iconCache.insert(key, icon);
|
||||
return icon;
|
||||
}
|
||||
|
||||
static QString getIconType(const bool isBuddy, const QString &privLevel)
|
||||
static QString getIconType(const bool isBuddy, const UserLevelFlags &userLevelFlags, const QString &privLevel)
|
||||
{
|
||||
if (isBuddy) {
|
||||
return "star";
|
||||
}
|
||||
|
||||
if (userLevelFlags.testFlag(ServerInfo_User_UserLevelFlag_IsJudge)) {
|
||||
return "pawn_judge";
|
||||
}
|
||||
|
||||
if (!privLevel.isEmpty() && privLevel.toLower() != "none") {
|
||||
return QString("pawn_%1").arg(privLevel.toLower());
|
||||
}
|
||||
|
|
@ -284,7 +288,7 @@ QIcon UserLevelPixmapGenerator::generateIconDefault(int height,
|
|||
bool isBuddy,
|
||||
const QString &privLevel)
|
||||
{
|
||||
const auto &iconType = getIconType(isBuddy, privLevel);
|
||||
const auto &iconType = getIconType(isBuddy, userLevel, privLevel);
|
||||
|
||||
QString arity = "single";
|
||||
QString colorLeft;
|
||||
|
|
@ -308,11 +312,12 @@ QIcon UserLevelPixmapGenerator::generateIconDefault(int height,
|
|||
|
||||
QIcon UserLevelPixmapGenerator::generateIconWithColorOverride(int height,
|
||||
bool isBuddy,
|
||||
const UserLevelFlags &userLevelFlags,
|
||||
const QString &privLevel,
|
||||
const std::optional<QString> &colorLeft,
|
||||
const std::optional<QString> &colorRight)
|
||||
{
|
||||
const auto &iconType = getIconType(isBuddy, privLevel);
|
||||
const auto &iconType = getIconType(isBuddy, userLevelFlags, privLevel);
|
||||
const QString &arity = colorRight.has_value() ? "double" : "single";
|
||||
const auto &iconPath = QString("theme:usericons/%1_%2.svg").arg(iconType, arity);
|
||||
return loadAndColorSvg(iconPath, colorLeft.value(), colorRight, height);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue