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 @@
+
+
+
+
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 @@
+
+
+
+
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