Qt/Resources: Convert int parameters of GetCountry(), GetPlatform() and GetMisc() to enum classes

Makes the parameter strongly-typed and doesn't accept arbitrary int
values.
This commit is contained in:
Lioncash 2018-07-10 15:10:03 -04:00
parent b9960777a7
commit a0642b3b00
4 changed files with 26 additions and 20 deletions

View File

@ -67,7 +67,7 @@ AboutDialog::AboutDialog(QWidget* parent) : QDialog(parent)
QStringLiteral("</p>")); QStringLiteral("</p>"));
QLabel* logo = new QLabel(); QLabel* logo = new QLabel();
logo->setPixmap(Resources::GetMisc(Resources::LOGO_LARGE)); logo->setPixmap(Resources::GetMisc(Resources::MiscID::LogoLarge));
logo->setContentsMargins(30, 0, 30, 0); logo->setContentsMargins(30, 0, 30, 0);
QVBoxLayout* main_layout = new QVBoxLayout; QVBoxLayout* main_layout = new QVBoxLayout;

View File

@ -54,13 +54,13 @@ QVariant GameListModel::data(const QModelIndex& index, int role) const
{ {
case COL_PLATFORM: case COL_PLATFORM:
if (role == Qt::DecorationRole) if (role == Qt::DecorationRole)
return Resources::GetPlatform(static_cast<int>(game.GetPlatform())); return Resources::GetPlatform(game.GetPlatform());
if (role == Qt::InitialSortOrderRole) if (role == Qt::InitialSortOrderRole)
return static_cast<int>(game.GetPlatform()); return static_cast<int>(game.GetPlatform());
break; break;
case COL_COUNTRY: case COL_COUNTRY:
if (role == Qt::DecorationRole) if (role == Qt::DecorationRole)
return Resources::GetCountry(static_cast<int>(game.GetCountry())); return Resources::GetCountry(game.GetCountry());
if (role == Qt::InitialSortOrderRole) if (role == Qt::InitialSortOrderRole)
return static_cast<int>(game.GetCountry()); return static_cast<int>(game.GetCountry());
break; break;
@ -70,7 +70,7 @@ QVariant GameListModel::data(const QModelIndex& index, int role) const
// GameCube banners are 96x32, but Wii banners are 192x64. // GameCube banners are 96x32, but Wii banners are 192x64.
QPixmap banner = ToQPixmap(game.GetBannerImage()); QPixmap banner = ToQPixmap(game.GetBannerImage());
if (banner.isNull()) if (banner.isNull())
banner = Resources::GetMisc(Resources::BANNER_MISSING); banner = Resources::GetMisc(Resources::MiscID::BannerMissing);
banner.setDevicePixelRatio( banner.setDevicePixelRatio(
std::max(static_cast<qreal>(banner.width()) / GAMECUBE_BANNER_SIZE.width(), std::max(static_cast<qreal>(banner.width()) / GAMECUBE_BANNER_SIZE.width(),

View File

@ -95,19 +95,19 @@ void Resources::Init()
m_misc.append(GetScaledPixmap("Dolphin")); m_misc.append(GetScaledPixmap("Dolphin"));
} }
QPixmap Resources::GetPlatform(int platform) QPixmap Resources::GetPlatform(DiscIO::Platform platform)
{ {
return m_platforms[platform]; return m_platforms[static_cast<int>(platform)];
} }
QPixmap Resources::GetCountry(int country) QPixmap Resources::GetCountry(DiscIO::Country country)
{ {
return m_countries[country]; return m_countries[static_cast<int>(country)];
} }
QPixmap Resources::GetMisc(int id) QPixmap Resources::GetMisc(MiscID id)
{ {
return m_misc[id]; return m_misc[static_cast<int>(id)];
} }
QIcon Resources::GetAppIcon() QIcon Resources::GetAppIcon()

View File

@ -7,23 +7,29 @@
#include <QList> #include <QList>
#include <QPixmap> #include <QPixmap>
namespace DiscIO
{
enum class Country;
enum class Platform;
}
// Store for various QPixmaps that will be used repeatedly. // Store for various QPixmaps that will be used repeatedly.
class Resources final class Resources final
{ {
public: public:
enum class MiscID
{
BannerMissing,
LogoLarge,
LogoSmall
};
static void Init(); static void Init();
static QPixmap GetPlatform(int platform); static QPixmap GetPlatform(DiscIO::Platform platform);
static QPixmap GetCountry(int country); static QPixmap GetCountry(DiscIO::Country country);
static QPixmap GetMisc(int id); static QPixmap GetMisc(MiscID id);
enum
{
BANNER_MISSING,
LOGO_LARGE,
LOGO_SMALL
};
static QIcon GetScaledIcon(const std::string& name); static QIcon GetScaledIcon(const std::string& name);
static QIcon GetScaledThemeIcon(const std::string& name); static QIcon GetScaledThemeIcon(const std::string& name);