mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-22 22:00:39 -06:00
Move DiscIO enums to a new file
At first there weren't many enums in Volume.h, but the number has been growing, and I'm planning to add one more for regions. To not make Volume.h too large, and to avoid needing to include Volume.h in code that doesn't use volume objects, I'm moving the enums to a new file. I'm also turning them into enum classes while I'm at it.
This commit is contained in:
@ -13,6 +13,8 @@
|
||||
#include <QPushButton>
|
||||
#include <QTextEdit>
|
||||
|
||||
#include "DiscIO/Blob.h"
|
||||
#include "DiscIO/Enums.h"
|
||||
#include "DolphinQt2/Config/InfoWidget.h"
|
||||
|
||||
InfoWidget::InfoWidget(const GameFile& game) : m_game(game)
|
||||
@ -71,7 +73,7 @@ QGroupBox* InfoWidget::CreateBannerDetails()
|
||||
CreateLanguageSelector();
|
||||
|
||||
layout->addRow(tr("Show Language:"), m_language_selector);
|
||||
if (m_game.GetPlatformID() == DiscIO::IVolume::GAMECUBE_DISC)
|
||||
if (m_game.GetPlatformID() == DiscIO::Platform::GAMECUBE_DISC)
|
||||
{
|
||||
layout->addRow(tr("Short Name:"), m_short_name);
|
||||
layout->addRow(tr("Short Maker:"), m_short_maker);
|
||||
@ -79,7 +81,7 @@ QGroupBox* InfoWidget::CreateBannerDetails()
|
||||
layout->addRow(tr("Long Maker:"), m_long_maker);
|
||||
layout->addRow(tr("Description:"), m_description);
|
||||
}
|
||||
else if (m_game.GetPlatformID() == DiscIO::IVolume::WII_DISC)
|
||||
else if (m_game.GetPlatformID() == DiscIO::Platform::WII_DISC)
|
||||
{
|
||||
layout->addRow(tr("Name:"), m_long_name);
|
||||
}
|
||||
@ -123,11 +125,11 @@ QLineEdit* InfoWidget::CreateValueDisplay(const QString& value)
|
||||
void InfoWidget::CreateLanguageSelector()
|
||||
{
|
||||
m_language_selector = new QComboBox();
|
||||
QList<DiscIO::IVolume::ELanguage> languages = m_game.GetAvailableLanguages();
|
||||
QList<DiscIO::Language> languages = m_game.GetAvailableLanguages();
|
||||
for (int i = 0; i < languages.count(); i++)
|
||||
{
|
||||
DiscIO::IVolume::ELanguage language = languages.at(i);
|
||||
m_language_selector->addItem(m_game.GetLanguage(language), language);
|
||||
DiscIO::Language language = languages.at(i);
|
||||
m_language_selector->addItem(m_game.GetLanguage(language), static_cast<int>(language));
|
||||
}
|
||||
if (m_language_selector->count() == 1)
|
||||
m_language_selector->setDisabled(true);
|
||||
@ -137,8 +139,8 @@ void InfoWidget::CreateLanguageSelector()
|
||||
|
||||
void InfoWidget::ChangeLanguage()
|
||||
{
|
||||
DiscIO::IVolume::ELanguage language =
|
||||
static_cast<DiscIO::IVolume::ELanguage>(m_language_selector->currentData().toInt());
|
||||
DiscIO::Language language =
|
||||
static_cast<DiscIO::Language>(m_language_selector->currentData().toInt());
|
||||
m_short_name->setText(m_game.GetShortName(language));
|
||||
m_short_maker->setText(m_game.GetShortMaker(language));
|
||||
m_long_name->setText(m_game.GetLongName(language));
|
||||
|
@ -10,6 +10,9 @@
|
||||
|
||||
#include "Common/FileUtil.h"
|
||||
#include "Core/ConfigManager.h"
|
||||
#include "DiscIO/Blob.h"
|
||||
#include "DiscIO/Enums.h"
|
||||
#include "DiscIO/Volume.h"
|
||||
#include "DiscIO/VolumeCreator.h"
|
||||
#include "DolphinQt2/GameList/GameFile.h"
|
||||
#include "DolphinQt2/Resources.h"
|
||||
@ -18,15 +21,15 @@
|
||||
static const int CACHE_VERSION = 13; // Last changed in PR #3261
|
||||
static const int DATASTREAM_VERSION = QDataStream::Qt_5_5;
|
||||
|
||||
QList<DiscIO::IVolume::ELanguage> GameFile::GetAvailableLanguages() const
|
||||
QList<DiscIO::Language> GameFile::GetAvailableLanguages() const
|
||||
{
|
||||
return m_long_names.keys();
|
||||
}
|
||||
|
||||
static QMap<DiscIO::IVolume::ELanguage, QString>
|
||||
ConvertLanguageMap(const std::map<DiscIO::IVolume::ELanguage, std::string>& map)
|
||||
static QMap<DiscIO::Language, QString>
|
||||
ConvertLanguageMap(const std::map<DiscIO::Language, std::string>& map)
|
||||
{
|
||||
QMap<DiscIO::IVolume::ELanguage, QString> result;
|
||||
QMap<DiscIO::Language, QString> result;
|
||||
for (auto entry : map)
|
||||
result.insert(entry.first, QString::fromStdString(entry.second).trimmed());
|
||||
return result;
|
||||
@ -169,9 +172,9 @@ bool GameFile::TryLoadElfDol()
|
||||
return false;
|
||||
|
||||
m_revision = 0;
|
||||
m_long_names[DiscIO::IVolume::LANGUAGE_ENGLISH] = m_file_name;
|
||||
m_platform = DiscIO::IVolume::ELF_DOL;
|
||||
m_country = DiscIO::IVolume::COUNTRY_UNKNOWN;
|
||||
m_long_names[DiscIO::Language::LANGUAGE_ENGLISH] = m_file_name;
|
||||
m_platform = DiscIO::Platform::ELF_DOL;
|
||||
m_country = DiscIO::Country::COUNTRY_UNKNOWN;
|
||||
m_blob_type = DiscIO::BlobType::DIRECTORY;
|
||||
m_raw_size = m_size;
|
||||
m_banner = Resources::GetMisc(Resources::BANNER_MISSING);
|
||||
@ -185,14 +188,14 @@ void GameFile::SaveCache()
|
||||
// TODO
|
||||
}
|
||||
|
||||
QString GameFile::GetBannerString(const QMap<DiscIO::IVolume::ELanguage, QString>& m) const
|
||||
QString GameFile::GetBannerString(const QMap<DiscIO::Language, QString>& m) const
|
||||
{
|
||||
// Try the settings language, then English, then just pick one.
|
||||
if (m.isEmpty())
|
||||
return QString();
|
||||
|
||||
bool wii = m_platform != DiscIO::IVolume::GAMECUBE_DISC;
|
||||
DiscIO::IVolume::ELanguage current_lang;
|
||||
bool wii = m_platform != DiscIO::Platform::GAMECUBE_DISC;
|
||||
DiscIO::Language current_lang;
|
||||
if (wii)
|
||||
current_lang = Settings().GetWiiSystemLanguage();
|
||||
else
|
||||
@ -200,8 +203,8 @@ QString GameFile::GetBannerString(const QMap<DiscIO::IVolume::ELanguage, QString
|
||||
|
||||
if (m.contains(current_lang))
|
||||
return m[current_lang];
|
||||
if (m.contains(DiscIO::IVolume::LANGUAGE_ENGLISH))
|
||||
return m[DiscIO::IVolume::LANGUAGE_ENGLISH];
|
||||
if (m.contains(DiscIO::Language::LANGUAGE_ENGLISH))
|
||||
return m[DiscIO::Language::LANGUAGE_ENGLISH];
|
||||
return m.first();
|
||||
}
|
||||
|
||||
@ -209,13 +212,13 @@ QString GameFile::GetPlatform() const
|
||||
{
|
||||
switch (m_platform)
|
||||
{
|
||||
case DiscIO::IVolume::GAMECUBE_DISC:
|
||||
case DiscIO::Platform::GAMECUBE_DISC:
|
||||
return QObject::tr("GameCube");
|
||||
case DiscIO::IVolume::WII_DISC:
|
||||
case DiscIO::Platform::WII_DISC:
|
||||
return QObject::tr("Wii");
|
||||
case DiscIO::IVolume::WII_WAD:
|
||||
case DiscIO::Platform::WII_WAD:
|
||||
return QObject::tr("Wii Channel");
|
||||
case DiscIO::IVolume::ELF_DOL:
|
||||
case DiscIO::Platform::ELF_DOL:
|
||||
return QObject::tr("ELF/DOL");
|
||||
default:
|
||||
return QObject::tr("Unknown");
|
||||
@ -226,60 +229,60 @@ QString GameFile::GetCountry() const
|
||||
{
|
||||
switch (m_country)
|
||||
{
|
||||
case DiscIO::IVolume::COUNTRY_EUROPE:
|
||||
case DiscIO::Country::COUNTRY_EUROPE:
|
||||
return QObject::tr("Europe");
|
||||
case DiscIO::IVolume::COUNTRY_JAPAN:
|
||||
case DiscIO::Country::COUNTRY_JAPAN:
|
||||
return QObject::tr("Japan");
|
||||
case DiscIO::IVolume::COUNTRY_USA:
|
||||
case DiscIO::Country::COUNTRY_USA:
|
||||
return QObject::tr("USA");
|
||||
case DiscIO::IVolume::COUNTRY_AUSTRALIA:
|
||||
case DiscIO::Country::COUNTRY_AUSTRALIA:
|
||||
return QObject::tr("Australia");
|
||||
case DiscIO::IVolume::COUNTRY_FRANCE:
|
||||
case DiscIO::Country::COUNTRY_FRANCE:
|
||||
return QObject::tr("France");
|
||||
case DiscIO::IVolume::COUNTRY_GERMANY:
|
||||
case DiscIO::Country::COUNTRY_GERMANY:
|
||||
return QObject::tr("Germany");
|
||||
case DiscIO::IVolume::COUNTRY_ITALY:
|
||||
case DiscIO::Country::COUNTRY_ITALY:
|
||||
return QObject::tr("Italy");
|
||||
case DiscIO::IVolume::COUNTRY_KOREA:
|
||||
case DiscIO::Country::COUNTRY_KOREA:
|
||||
return QObject::tr("Korea");
|
||||
case DiscIO::IVolume::COUNTRY_NETHERLANDS:
|
||||
case DiscIO::Country::COUNTRY_NETHERLANDS:
|
||||
return QObject::tr("Netherlands");
|
||||
case DiscIO::IVolume::COUNTRY_RUSSIA:
|
||||
case DiscIO::Country::COUNTRY_RUSSIA:
|
||||
return QObject::tr("Russia");
|
||||
case DiscIO::IVolume::COUNTRY_SPAIN:
|
||||
case DiscIO::Country::COUNTRY_SPAIN:
|
||||
return QObject::tr("Spain");
|
||||
case DiscIO::IVolume::COUNTRY_TAIWAN:
|
||||
case DiscIO::Country::COUNTRY_TAIWAN:
|
||||
return QObject::tr("Taiwan");
|
||||
case DiscIO::IVolume::COUNTRY_WORLD:
|
||||
case DiscIO::Country::COUNTRY_WORLD:
|
||||
return QObject::tr("World");
|
||||
default:
|
||||
return QObject::tr("Unknown");
|
||||
}
|
||||
}
|
||||
|
||||
QString GameFile::GetLanguage(DiscIO::IVolume::ELanguage lang) const
|
||||
QString GameFile::GetLanguage(DiscIO::Language lang) const
|
||||
{
|
||||
switch (lang)
|
||||
{
|
||||
case DiscIO::IVolume::LANGUAGE_JAPANESE:
|
||||
case DiscIO::Language::LANGUAGE_JAPANESE:
|
||||
return QObject::tr("Japanese");
|
||||
case DiscIO::IVolume::LANGUAGE_ENGLISH:
|
||||
case DiscIO::Language::LANGUAGE_ENGLISH:
|
||||
return QObject::tr("English");
|
||||
case DiscIO::IVolume::LANGUAGE_GERMAN:
|
||||
case DiscIO::Language::LANGUAGE_GERMAN:
|
||||
return QObject::tr("German");
|
||||
case DiscIO::IVolume::LANGUAGE_FRENCH:
|
||||
case DiscIO::Language::LANGUAGE_FRENCH:
|
||||
return QObject::tr("French");
|
||||
case DiscIO::IVolume::LANGUAGE_SPANISH:
|
||||
case DiscIO::Language::LANGUAGE_SPANISH:
|
||||
return QObject::tr("Spanish");
|
||||
case DiscIO::IVolume::LANGUAGE_ITALIAN:
|
||||
case DiscIO::Language::LANGUAGE_ITALIAN:
|
||||
return QObject::tr("Italian");
|
||||
case DiscIO::IVolume::LANGUAGE_DUTCH:
|
||||
case DiscIO::Language::LANGUAGE_DUTCH:
|
||||
return QObject::tr("Dutch");
|
||||
case DiscIO::IVolume::LANGUAGE_SIMPLIFIED_CHINESE:
|
||||
case DiscIO::Language::LANGUAGE_SIMPLIFIED_CHINESE:
|
||||
return QObject::tr("Simplified Chinese");
|
||||
case DiscIO::IVolume::LANGUAGE_TRADITIONAL_CHINESE:
|
||||
case DiscIO::Language::LANGUAGE_TRADITIONAL_CHINESE:
|
||||
return QObject::tr("Traditional Chinese");
|
||||
case DiscIO::IVolume::LANGUAGE_KOREAN:
|
||||
case DiscIO::Language::LANGUAGE_KOREAN:
|
||||
return QObject::tr("Korean");
|
||||
default:
|
||||
return QObject::tr("Unknown");
|
||||
|
@ -9,7 +9,16 @@
|
||||
#include <QPixmap>
|
||||
#include <QString>
|
||||
|
||||
#include "DiscIO/Volume.h"
|
||||
#include "Common/CommonTypes.h"
|
||||
|
||||
namespace DiscIO
|
||||
{
|
||||
enum class BlobType;
|
||||
enum class Country;
|
||||
enum class Language;
|
||||
enum class Platform;
|
||||
class IVolume;
|
||||
}
|
||||
|
||||
// TODO cache
|
||||
class GameFile final
|
||||
@ -36,26 +45,26 @@ public:
|
||||
QString GetIssues() const { return m_issues; }
|
||||
int GetRating() const { return m_rating; }
|
||||
QString GetApploaderDate() const { return m_apploader_date; }
|
||||
DiscIO::IVolume::EPlatform GetPlatformID() const { return m_platform; }
|
||||
DiscIO::Platform GetPlatformID() const { return m_platform; }
|
||||
QString GetPlatform() const;
|
||||
DiscIO::IVolume::ECountry GetCountryID() const { return m_country; }
|
||||
DiscIO::Country GetCountryID() const { return m_country; }
|
||||
QString GetCountry() const;
|
||||
DiscIO::BlobType GetBlobType() const { return m_blob_type; }
|
||||
// Banner details
|
||||
QString GetLanguage(DiscIO::IVolume::ELanguage lang) const;
|
||||
QList<DiscIO::IVolume::ELanguage> GetAvailableLanguages() const;
|
||||
QString GetLanguage(DiscIO::Language lang) const;
|
||||
QList<DiscIO::Language> GetAvailableLanguages() const;
|
||||
QString GetShortName() const { return GetBannerString(m_short_names); }
|
||||
QString GetShortMaker() const { return GetBannerString(m_short_makers); }
|
||||
QString GetLongName() const { return GetBannerString(m_long_names); }
|
||||
QString GetLongMaker() const { return GetBannerString(m_long_makers); }
|
||||
QString GetDescription() const { return GetBannerString(m_descriptions); }
|
||||
QString GetShortName(DiscIO::IVolume::ELanguage lang) const { return m_short_names[lang]; }
|
||||
QString GetShortMaker(DiscIO::IVolume::ELanguage lang) const { return m_short_makers[lang]; }
|
||||
QString GetLongName(DiscIO::IVolume::ELanguage lang) const { return m_long_names[lang]; }
|
||||
QString GetLongMaker(DiscIO::IVolume::ELanguage lang) const { return m_long_makers[lang]; }
|
||||
QString GetDescription(DiscIO::IVolume::ELanguage lang) const { return m_descriptions[lang]; }
|
||||
QString GetShortName(DiscIO::Language lang) const { return m_short_names[lang]; }
|
||||
QString GetShortMaker(DiscIO::Language lang) const { return m_short_makers[lang]; }
|
||||
QString GetLongName(DiscIO::Language lang) const { return m_long_names[lang]; }
|
||||
QString GetLongMaker(DiscIO::Language lang) const { return m_long_makers[lang]; }
|
||||
QString GetDescription(DiscIO::Language lang) const { return m_descriptions[lang]; }
|
||||
private:
|
||||
QString GetBannerString(const QMap<DiscIO::IVolume::ELanguage, QString>& m) const;
|
||||
QString GetBannerString(const QMap<DiscIO::Language, QString>& m) const;
|
||||
|
||||
QString GetCacheFileName() const;
|
||||
void ReadBanner(const DiscIO::IVolume& volume);
|
||||
@ -80,15 +89,15 @@ private:
|
||||
QString m_maker_id;
|
||||
u16 m_revision = 0;
|
||||
QString m_internal_name;
|
||||
QMap<DiscIO::IVolume::ELanguage, QString> m_short_names;
|
||||
QMap<DiscIO::IVolume::ELanguage, QString> m_long_names;
|
||||
QMap<DiscIO::IVolume::ELanguage, QString> m_short_makers;
|
||||
QMap<DiscIO::IVolume::ELanguage, QString> m_long_makers;
|
||||
QMap<DiscIO::IVolume::ELanguage, QString> m_descriptions;
|
||||
QMap<DiscIO::Language, QString> m_short_names;
|
||||
QMap<DiscIO::Language, QString> m_long_names;
|
||||
QMap<DiscIO::Language, QString> m_short_makers;
|
||||
QMap<DiscIO::Language, QString> m_long_makers;
|
||||
QMap<DiscIO::Language, QString> m_descriptions;
|
||||
QString m_company;
|
||||
u8 m_disc_number = 0;
|
||||
DiscIO::IVolume::EPlatform m_platform;
|
||||
DiscIO::IVolume::ECountry m_country;
|
||||
DiscIO::Platform m_platform;
|
||||
DiscIO::Country m_country;
|
||||
DiscIO::BlobType m_blob_type;
|
||||
u64 m_raw_size = 0;
|
||||
QPixmap m_banner;
|
||||
|
@ -8,6 +8,8 @@
|
||||
#include <QMenu>
|
||||
#include <QUrl>
|
||||
|
||||
#include "DiscIO/Enums.h"
|
||||
|
||||
#include "DolphinQt2/Config/PropertiesDialog.h"
|
||||
#include "DolphinQt2/GameList/GameList.h"
|
||||
#include "DolphinQt2/GameList/ListProxyModel.h"
|
||||
@ -104,8 +106,8 @@ void GameList::MakeListView()
|
||||
void GameList::ShowContextMenu(const QPoint&)
|
||||
{
|
||||
QMenu* menu = new QMenu(this);
|
||||
DiscIO::IVolume::EPlatform platform = GameFile(GetSelectedGame()).GetPlatformID();
|
||||
if (platform == DiscIO::IVolume::GAMECUBE_DISC || platform == DiscIO::IVolume::WII_DISC)
|
||||
DiscIO::Platform platform = GameFile(GetSelectedGame()).GetPlatformID();
|
||||
if (platform == DiscIO::Platform::GAMECUBE_DISC || platform == DiscIO::Platform::WII_DISC)
|
||||
{
|
||||
menu->addAction(tr("Properties"), this, SLOT(OpenProperties()));
|
||||
menu->addAction(tr("Open Wiki Page"), this, SLOT(OpenWiki()));
|
||||
|
@ -38,7 +38,7 @@ QVariant GameListModel::data(const QModelIndex& index, int role) const
|
||||
case COL_SIZE:
|
||||
return game->GetFileSize();
|
||||
case COL_COUNTRY:
|
||||
return game->GetCountryID();
|
||||
return static_cast<int>(game->GetCountryID());
|
||||
case COL_RATING:
|
||||
return game->GetRating();
|
||||
}
|
||||
|
@ -101,12 +101,12 @@ void Settings::SetWiiNAND(const QString& path)
|
||||
SConfig::GetInstance().SaveSettings();
|
||||
}
|
||||
|
||||
DiscIO::IVolume::ELanguage Settings::GetWiiSystemLanguage() const
|
||||
DiscIO::Language Settings::GetWiiSystemLanguage() const
|
||||
{
|
||||
return SConfig::GetInstance().GetCurrentLanguage(true);
|
||||
}
|
||||
|
||||
DiscIO::IVolume::ELanguage Settings::GetGCSystemLanguage() const
|
||||
DiscIO::Language Settings::GetGCSystemLanguage() const
|
||||
{
|
||||
return SConfig::GetInstance().GetCurrentLanguage(false);
|
||||
}
|
||||
|
@ -6,7 +6,10 @@
|
||||
|
||||
#include <QSettings>
|
||||
|
||||
#include "DiscIO/Volume.h"
|
||||
namespace DiscIO
|
||||
{
|
||||
enum class Language;
|
||||
}
|
||||
|
||||
// UI settings to be stored in the config directory.
|
||||
class Settings final : public QSettings
|
||||
@ -34,8 +37,8 @@ public:
|
||||
void SetApploader(const QString& path);
|
||||
QString GetWiiNAND() const;
|
||||
void SetWiiNAND(const QString& path);
|
||||
DiscIO::IVolume::ELanguage GetWiiSystemLanguage() const;
|
||||
DiscIO::IVolume::ELanguage GetGCSystemLanguage() const;
|
||||
DiscIO::Language GetWiiSystemLanguage() const;
|
||||
DiscIO::Language GetGCSystemLanguage() const;
|
||||
bool GetPreferredView() const;
|
||||
void SetPreferredView(bool table);
|
||||
|
||||
|
Reference in New Issue
Block a user