summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Config/InfoWidget.cpp
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2020-06-21 20:41:50 +0200
committerJosJuice <josjuice@gmail.com>2020-06-21 20:47:23 +0200
commitd494e0230c2ebfd580bb66b2a741d19ef830d658 (patch)
treeedd701dfdd98be00f0971dc747eea0dcbe5f7c71 /Source/Core/DolphinQt/Config/InfoWidget.cpp
parent99822518994d62def4e336f6746d6a2e2d108fb2 (diff)
Show file format details in game properties
Diffstat (limited to 'Source/Core/DolphinQt/Config/InfoWidget.cpp')
-rw-r--r--Source/Core/DolphinQt/Config/InfoWidget.cpp53
1 files changed, 44 insertions, 9 deletions
diff --git a/Source/Core/DolphinQt/Config/InfoWidget.cpp b/Source/Core/DolphinQt/Config/InfoWidget.cpp
index 9d7c643a14..3bcd186fb1 100644
--- a/Source/Core/DolphinQt/Config/InfoWidget.cpp
+++ b/Source/Core/DolphinQt/Config/InfoWidget.cpp
@@ -27,7 +27,8 @@ InfoWidget::InfoWidget(const UICommon::GameFile& game) : m_game(game)
{
QVBoxLayout* layout = new QVBoxLayout();
- layout->addWidget(CreateISODetails());
+ layout->addWidget(CreateFileDetails());
+ layout->addWidget(CreateGameDetails());
if (!game.GetLanguages().empty())
layout->addWidget(CreateBannerDetails());
@@ -35,20 +36,55 @@ InfoWidget::InfoWidget(const UICommon::GameFile& game) : m_game(game)
setLayout(layout);
}
-QGroupBox* InfoWidget::CreateISODetails()
+QGroupBox* InfoWidget::CreateFileDetails()
+{
+ QGroupBox* group = new QGroupBox(tr("File Details"));
+ QFormLayout* layout = new QFormLayout;
+
+ layout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow);
+
+ QString path = QDir::toNativeSeparators(QString::fromStdString(m_game.GetFilePath()));
+ layout->addRow(tr("Path:"), CreateValueDisplay(path));
+
+ const std::string file_size = UICommon::FormatSize(m_game.GetFileSize());
+
+ if (!m_game.ShouldShowFileFormatDetails())
+ {
+ layout->addRow(tr("File Size:"), CreateValueDisplay(file_size));
+ }
+ else
+ {
+ const QString file_format =
+ QStringLiteral("%1 (%2)")
+ .arg(QString::fromStdString(DiscIO::GetName(m_game.GetBlobType(), true)))
+ .arg(QString::fromStdString(file_size));
+ layout->addRow(tr("File Format:"), CreateValueDisplay(file_format));
+
+ QString compression = QString::fromStdString(m_game.GetCompressionMethod());
+ if (compression.isEmpty())
+ compression = tr("No Compression");
+ layout->addRow(tr("Compression:"), CreateValueDisplay(compression));
+
+ if (m_game.GetBlockSize() > 0)
+ {
+ const std::string block_size = UICommon::FormatSize(m_game.GetBlockSize(), 0);
+ layout->addRow(tr("Block Size:"), CreateValueDisplay(block_size));
+ }
+ }
+
+ group->setLayout(layout);
+ return group;
+}
+
+QGroupBox* InfoWidget::CreateGameDetails()
{
const QString UNKNOWN_NAME = tr("Unknown");
- QGroupBox* group = new QGroupBox(tr("ISO Details"));
+ QGroupBox* group = new QGroupBox(tr("Game Details"));
QFormLayout* layout = new QFormLayout;
layout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow);
- QLineEdit* file_path = CreateValueDisplay(
- QStringLiteral("%1 (%2)")
- .arg(QDir::toNativeSeparators(QString::fromStdString(m_game.GetFilePath())))
- .arg(QString::fromStdString(UICommon::FormatSize(m_game.GetFileSize()))));
-
const QString game_name = QString::fromStdString(m_game.GetInternalName());
bool is_disc_based = m_game.GetPlatform() == DiscIO::Platform::GameCubeDisc ||
@@ -79,7 +115,6 @@ QGroupBox* InfoWidget::CreateISODetails()
m_game.GetMakerID() + ")");
layout->addRow(tr("Name:"), internal_name);
- layout->addRow(tr("File:"), file_path);
layout->addRow(tr("Game ID:"), game_id);
layout->addRow(tr("Country:"), country);
layout->addRow(tr("Maker:"), maker);