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:
parent
b9960777a7
commit
a0642b3b00
|
@ -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;
|
||||||
|
|
|
@ -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(),
|
||||||
|
|
|
@ -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()
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue