Make more use of single pattern
This commit is contained in:
+27
-37
@@ -9,49 +9,41 @@ namespace chatterino {
|
||||
|
||||
namespace {
|
||||
|
||||
inline messages::LazyLoadedImage *lli(EmoteManager &emoteManager, WindowManager &windowManager,
|
||||
const char *pixmapPath, qreal scale = 1)
|
||||
inline messages::LazyLoadedImage *lli(const char *pixmapPath, qreal scale = 1)
|
||||
{
|
||||
return new messages::LazyLoadedImage(emoteManager, windowManager, new QPixmap(pixmapPath),
|
||||
scale);
|
||||
return new messages::LazyLoadedImage(new QPixmap(pixmapPath), scale);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
Resources::Resources(EmoteManager &em, WindowManager &wm)
|
||||
: emoteManager(em)
|
||||
, windowManager(wm)
|
||||
, badgeStaff(lli(em, wm, ":/images/staff_bg.png"))
|
||||
, badgeAdmin(lli(em, wm, ":/images/admin_bg.png"))
|
||||
, badgeGlobalModerator(lli(em, wm, ":/images/globalmod_bg.png"))
|
||||
, badgeModerator(lli(em, wm, ":/images/moderator_bg.png"))
|
||||
, badgeTurbo(lli(em, wm, ":/images/turbo_bg.png"))
|
||||
, badgeBroadcaster(lli(em, wm, ":/images/broadcaster_bg.png"))
|
||||
, badgePremium(lli(em, wm, ":/images/twitchprime_bg.png"))
|
||||
, badgeVerified(lli(em, wm, ":/images/verified.png", 0.25))
|
||||
, badgeSubscriber(lli(em, wm, ":/images/subscriber.png", 0.25))
|
||||
, cheerBadge100000(lli(em, wm, ":/images/cheer100000"))
|
||||
, cheerBadge10000(lli(em, wm, ":/images/cheer10000"))
|
||||
, cheerBadge5000(lli(em, wm, ":/images/cheer5000"))
|
||||
, cheerBadge1000(lli(em, wm, ":/images/cheer1000"))
|
||||
, cheerBadge100(lli(em, wm, ":/images/cheer100"))
|
||||
, cheerBadge1(lli(em, wm, ":/images/cheer1"))
|
||||
, buttonBan(lli(em, wm, ":/images/button_ban.png", 0.25))
|
||||
, buttonTimeout(lli(em, wm, ":/images/button_timeout.png", 0.25))
|
||||
Resources::Resources()
|
||||
: badgeStaff(lli(":/images/staff_bg.png"))
|
||||
, badgeAdmin(lli(":/images/admin_bg.png"))
|
||||
, badgeGlobalModerator(lli(":/images/globalmod_bg.png"))
|
||||
, badgeModerator(lli(":/images/moderator_bg.png"))
|
||||
, badgeTurbo(lli(":/images/turbo_bg.png"))
|
||||
, badgeBroadcaster(lli(":/images/broadcaster_bg.png"))
|
||||
, badgePremium(lli(":/images/twitchprime_bg.png"))
|
||||
, badgeVerified(lli(":/images/verified.png", 0.25))
|
||||
, badgeSubscriber(lli(":/images/subscriber.png", 0.25))
|
||||
, cheerBadge100000(lli(":/images/cheer100000"))
|
||||
, cheerBadge10000(lli(":/images/cheer10000"))
|
||||
, cheerBadge5000(lli(":/images/cheer5000"))
|
||||
, cheerBadge1000(lli(":/images/cheer1000"))
|
||||
, cheerBadge100(lli(":/images/cheer100"))
|
||||
, cheerBadge1(lli(":/images/cheer1"))
|
||||
, buttonBan(lli(":/images/button_ban.png", 0.25))
|
||||
, buttonTimeout(lli(":/images/button_timeout.png", 0.25))
|
||||
{
|
||||
this->loadDynamicTwitchBadges();
|
||||
|
||||
this->loadChatterinoBadges();
|
||||
}
|
||||
|
||||
Resources::BadgeVersion::BadgeVersion(QJsonObject &&root, EmoteManager &emoteManager,
|
||||
WindowManager &windowManager)
|
||||
: badgeImage1x(new messages::LazyLoadedImage(emoteManager, windowManager,
|
||||
root.value("image_url_1x").toString()))
|
||||
, badgeImage2x(new messages::LazyLoadedImage(emoteManager, windowManager,
|
||||
root.value("image_url_2x").toString()))
|
||||
, badgeImage4x(new messages::LazyLoadedImage(emoteManager, windowManager,
|
||||
root.value("image_url_4x").toString()))
|
||||
Resources::BadgeVersion::BadgeVersion(QJsonObject &&root)
|
||||
: badgeImage1x(new messages::LazyLoadedImage(root.value("image_url_1x").toString()))
|
||||
, badgeImage2x(new messages::LazyLoadedImage(root.value("image_url_2x").toString()))
|
||||
, badgeImage4x(new messages::LazyLoadedImage(root.value("image_url_4x").toString()))
|
||||
, description(root.value("description").toString().toStdString())
|
||||
, title(root.value("title").toString().toStdString())
|
||||
, clickAction(root.value("clickAction").toString().toStdString())
|
||||
@@ -83,7 +75,7 @@ void Resources::loadChannelData(const QString &roomID, bool bypassCache)
|
||||
++versionIt) {
|
||||
std::string kkey = versionIt.key().toStdString();
|
||||
QJsonObject versionObj = versionIt.value().toObject();
|
||||
BadgeVersion v(std::move(versionObj), this->emoteManager, this->windowManager);
|
||||
BadgeVersion v(std::move(versionObj));
|
||||
versionsMap.emplace(kkey, v);
|
||||
}
|
||||
}
|
||||
@@ -111,7 +103,7 @@ void Resources::loadDynamicTwitchBadges()
|
||||
++versionIt) {
|
||||
std::string kkey = versionIt.key().toStdString();
|
||||
QJsonObject versionObj = versionIt.value().toObject();
|
||||
BadgeVersion v(std::move(versionObj), this->emoteManager, this->windowManager);
|
||||
BadgeVersion v(std::move(versionObj));
|
||||
versionsMap.emplace(kkey, v);
|
||||
}
|
||||
}
|
||||
@@ -139,9 +131,7 @@ void Resources::loadChatterinoBadges()
|
||||
const QString &badgeVariantImageURL = badgeVariant.value("image").toString();
|
||||
|
||||
auto badgeVariantPtr = std::make_shared<ChatterinoBadge>(
|
||||
badgeVariantTooltip,
|
||||
new messages::LazyLoadedImage(this->emoteManager, this->windowManager,
|
||||
badgeVariantImageURL));
|
||||
badgeVariantTooltip, new messages::LazyLoadedImage(badgeVariantImageURL));
|
||||
|
||||
QJsonArray badgeVariantUsers = badgeVariant.value("users").toArray();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user