diff --git a/cockatrice/cockatrice.qrc b/cockatrice/cockatrice.qrc index b59092ce2..47fe135ea 100644 --- a/cockatrice/cockatrice.qrc +++ b/cockatrice/cockatrice.qrc @@ -331,6 +331,8 @@ resources/usericons/pawn_single.svg resources/usericons/pawn_double.svg + resources/usericons/pawn_donator_single.svg + resources/usericons/pawn_donator_double.svg resources/usericons/pawn_vip_single.svg resources/usericons/pawn_vip_double.svg resources/usericons/star_single.svg diff --git a/cockatrice/resources/usericons/pawn_donator_double.svg b/cockatrice/resources/usericons/pawn_donator_double.svg new file mode 100644 index 000000000..22ebc98e5 --- /dev/null +++ b/cockatrice/resources/usericons/pawn_donator_double.svg @@ -0,0 +1,366 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/cockatrice/resources/usericons/pawn_donator_single.svg b/cockatrice/resources/usericons/pawn_donator_single.svg new file mode 100644 index 000000000..acf9f1ff2 --- /dev/null +++ b/cockatrice/resources/usericons/pawn_donator_single.svg @@ -0,0 +1,229 @@ + + + +image/svg+xml diff --git a/cockatrice/src/client/ui/pixel_map_generator.cpp b/cockatrice/src/client/ui/pixel_map_generator.cpp index 7e86d73ac..85655e5c9 100644 --- a/cockatrice/src/client/ui/pixel_map_generator.cpp +++ b/cockatrice/src/client/ui/pixel_map_generator.cpp @@ -11,7 +11,6 @@ #define DEFAULT_COLOR_UNREGISTERED "#32c8ec"; #define DEFAULT_COLOR_REGISTERED "#5ed900"; -#define DEFAULT_COLOR_DONATOR "#8c5fd3"; #define DEFAULT_COLOR_MODERATOR_LEFT "#ffffff"; #define DEFAULT_COLOR_MODERATOR_RIGHT "#000000"; #define DEFAULT_COLOR_ADMIN "#ff2701"; @@ -261,19 +260,23 @@ QIcon UserLevelPixmapGenerator::generateIcon(int minHeight, return icon; } +static QString getIconType(const bool isBuddy, const QString &privLevel) +{ + if (isBuddy) { + return "star"; + } else if (privLevel.toLower() != "none") { + return QString("pawn_%1").arg(privLevel.toLower()); + } else { + return "pawn"; + } +} + QIcon UserLevelPixmapGenerator::generateIconDefault(int height, UserLevelFlags userLevel, bool isBuddy, const QString &privLevel) { - QString iconType; - if (isBuddy) { - iconType = "star"; - } else if (privLevel.toLower() == "vip") { - iconType = "pawn_vip"; - } else { - iconType = "pawn"; - } + const auto &iconType = getIconType(isBuddy, privLevel); QString arity = "single"; QString colorLeft; @@ -285,38 +288,25 @@ QIcon UserLevelPixmapGenerator::generateIconDefault(int height, colorLeft = DEFAULT_COLOR_MODERATOR_LEFT; colorRight = DEFAULT_COLOR_MODERATOR_RIGHT; arity = "double"; - } else if (privLevel.toLower() == "donator") { - colorLeft = DEFAULT_COLOR_DONATOR; } else if (userLevel.testFlag(ServerInfo_User::IsRegistered)) { colorLeft = DEFAULT_COLOR_REGISTERED; } else { colorLeft = DEFAULT_COLOR_UNREGISTERED; } - QString iconPath = QString("theme:usericons/%1_%2.svg").arg(iconType, arity); - + const auto &iconPath = QString("theme:usericons/%1_%2.svg").arg(iconType, arity); return loadAndColorSvg(iconPath, colorLeft, colorRight, height); } QIcon UserLevelPixmapGenerator::generateIconWithColorOverride(int height, bool isBuddy, const QString &privLevel, - std::optional colorLeft, - std::optional colorRight) + const std::optional &colorLeft, + const std::optional &colorRight) { - QString iconType; - if (isBuddy) { - iconType = "star"; - } else if (privLevel.toLower() == "vip") { - iconType = "pawn_vip"; - } else { - iconType = "pawn"; - } - - QString arity = colorRight.has_value() ? "double" : "single"; - - QString iconPath = QString("theme:usericons/%1_%2.svg").arg(iconType, arity); - + const auto &iconType = getIconType(isBuddy, 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); } @@ -336,7 +326,7 @@ QPixmap LockPixmapGenerator::generatePixmap(int height) QMap LockPixmapGenerator::pmCache; -const QPixmap loadColorAdjustedPixmap(QString name) +QPixmap loadColorAdjustedPixmap(const QString &name) { if (qApp->palette().windowText().color().lightness() > 200) { QImage img(name); diff --git a/cockatrice/src/client/ui/pixel_map_generator.h b/cockatrice/src/client/ui/pixel_map_generator.h index fc18f107d..1fc49ef36 100644 --- a/cockatrice/src/client/ui/pixel_map_generator.h +++ b/cockatrice/src/client/ui/pixel_map_generator.h @@ -71,8 +71,8 @@ private: static QIcon generateIconWithColorOverride(int height, bool isBuddy, const QString &privLevel, - std::optional colorLeft, - std::optional colorRight); + const std::optional &colorLeft, + const std::optional &colorRight); public: static QPixmap generatePixmap(int height, @@ -105,6 +105,6 @@ public: } }; -const QPixmap loadColorAdjustedPixmap(QString name); +QPixmap loadColorAdjustedPixmap(const QString &name); #endif