mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 21:37:52 -07:00
Merge pull request #8964 from JosJuice/list-wad-file-type
DolphinQt: Show WAD as "WAD" instead of "" in file format column
This commit is contained in:
commit
ae2348023b
@ -168,12 +168,7 @@ QVariant GameListModel::data(const QModelIndex& index, int role) const
|
||||
break;
|
||||
case COL_FILE_FORMAT:
|
||||
if (role == Qt::DisplayRole || role == SORT_ROLE)
|
||||
{
|
||||
if (game.ShouldShowFileFormatDetails())
|
||||
return QString::fromStdString(DiscIO::GetName(game.GetBlobType(), true));
|
||||
else
|
||||
return {};
|
||||
}
|
||||
return QString::fromStdString(game.GetFileFormatName());
|
||||
break;
|
||||
case COL_BLOCK_SIZE:
|
||||
if (role == Qt::DisplayRole)
|
||||
|
@ -336,14 +336,17 @@ void GameFile::DoState(PointerWrap& p)
|
||||
m_custom_cover.DoState(p);
|
||||
}
|
||||
|
||||
std::string GameFile::GetExtension() const
|
||||
{
|
||||
std::string extension;
|
||||
SplitPath(m_file_path, nullptr, nullptr, &extension);
|
||||
return extension;
|
||||
}
|
||||
|
||||
bool GameFile::IsElfOrDol() const
|
||||
{
|
||||
if (m_file_path.size() < 4)
|
||||
return false;
|
||||
|
||||
std::string name_end = m_file_path.substr(m_file_path.size() - 4);
|
||||
std::transform(name_end.begin(), name_end.end(), name_end.begin(), ::tolower);
|
||||
return name_end == ".elf" || name_end == ".dol";
|
||||
const std::string extension = GetExtension();
|
||||
return extension == ".elf" || extension == ".dol";
|
||||
}
|
||||
|
||||
bool GameFile::ReadXMLMetadata(const std::string& path)
|
||||
@ -592,6 +595,25 @@ bool GameFile::ShouldShowFileFormatDetails() const
|
||||
}
|
||||
}
|
||||
|
||||
std::string GameFile::GetFileFormatName() const
|
||||
{
|
||||
switch (m_platform)
|
||||
{
|
||||
case DiscIO::Platform::WiiWAD:
|
||||
return "WAD";
|
||||
case DiscIO::Platform::ELFOrDOL:
|
||||
{
|
||||
std::string extension = GetExtension();
|
||||
std::transform(extension.begin(), extension.end(), extension.begin(), ::toupper);
|
||||
|
||||
// substr removes the dot
|
||||
return extension.substr(std::min<size_t>(1, extension.size()));
|
||||
}
|
||||
default:
|
||||
return DiscIO::GetName(m_blob_type, true);
|
||||
}
|
||||
}
|
||||
|
||||
const GameBanner& GameFile::GetBannerImage() const
|
||||
{
|
||||
return m_custom_banner.empty() ? m_volume_banner : m_custom_banner;
|
||||
|
@ -89,6 +89,7 @@ public:
|
||||
u64 GetBlockSize() const { return m_block_size; }
|
||||
const std::string& GetCompressionMethod() const { return m_compression_method; }
|
||||
bool ShouldShowFileFormatDetails() const;
|
||||
std::string GetFileFormatName() const;
|
||||
const std::string& GetApploaderDate() const { return m_apploader_date; }
|
||||
u64 GetFileSize() const { return m_file_size; }
|
||||
u64 GetVolumeSize() const { return m_volume_size; }
|
||||
@ -115,6 +116,7 @@ private:
|
||||
const std::map<DiscIO::Language, std::string>& strings);
|
||||
const std::string&
|
||||
LookupUsingConfigLanguage(const std::map<DiscIO::Language, std::string>& strings) const;
|
||||
std::string GetExtension() const;
|
||||
bool IsElfOrDol() const;
|
||||
bool ReadXMLMetadata(const std::string& path);
|
||||
bool ReadPNGBanner(const std::string& path);
|
||||
|
Loading…
Reference in New Issue
Block a user