diff options
| author | JosJuice <josjuice@gmail.com> | 2020-06-21 20:41:50 +0200 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2020-06-21 20:47:23 +0200 |
| commit | d494e0230c2ebfd580bb66b2a741d19ef830d658 (patch) | |
| tree | edd701dfdd98be00f0971dc747eea0dcbe5f7c71 /Source/Core/DolphinQt/Config/InfoWidget.cpp | |
| parent | 99822518994d62def4e336f6746d6a2e2d108fb2 (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.cpp | 53 |
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); |
