From c7032df46425fd98aa0d9305b352e5a374eebfb5 Mon Sep 17 00:00:00 2001 From: Pablo Santana Date: Fri, 31 Jan 2025 18:42:23 +0100 Subject: [PATCH] qt_gui: Made compatibility status translatable --- src/qt_gui/compatibility_info.cpp | 19 +++++++++++++++++++ src/qt_gui/compatibility_info.h | 8 +------- src/qt_gui/game_list_frame.cpp | 2 +- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/qt_gui/compatibility_info.cpp b/src/qt_gui/compatibility_info.cpp index 69fb3e377..884387061 100644 --- a/src/qt_gui/compatibility_info.cpp +++ b/src/qt_gui/compatibility_info.cpp @@ -260,3 +260,22 @@ void CompatibilityInfoClass::ExtractCompatibilityInfo(QByteArray response) { return; } + +const QString CompatibilityInfoClass::GetCompatStatusString(const CompatibilityStatus status) { + switch (status) { + case CompatibilityStatus::Unknown: + return tr("Unknown"); + case CompatibilityStatus::Nothing: + return tr("Nothing"); + case CompatibilityStatus::Boots: + return tr("Boots"); + case CompatibilityStatus::Menus: + return tr("Menus"); + case CompatibilityStatus::Ingame: + return tr("Ingame"); + case CompatibilityStatus::Playable: + return tr("Playable"); + default: + return tr("Unknown"); + } +} \ No newline at end of file diff --git a/src/qt_gui/compatibility_info.h b/src/qt_gui/compatibility_info.h index 0c47c27ff..511c106ce 100644 --- a/src/qt_gui/compatibility_info.h +++ b/src/qt_gui/compatibility_info.h @@ -69,13 +69,6 @@ public: {QStringLiteral("os-windows"), OSType::Win32}, }; - inline static const std::unordered_map CompatStatusToString = { - {CompatibilityStatus::Unknown, QStringLiteral("Unknown")}, - {CompatibilityStatus::Nothing, QStringLiteral("Nothing")}, - {CompatibilityStatus::Boots, QStringLiteral("Boots")}, - {CompatibilityStatus::Menus, QStringLiteral("Menus")}, - {CompatibilityStatus::Ingame, QStringLiteral("Ingame")}, - {CompatibilityStatus::Playable, QStringLiteral("Playable")}}; inline static const std::unordered_map OSTypeToString = { {OSType::Linux, QStringLiteral("os-linux")}, {OSType::macOS, QStringLiteral("os-macOS")}, @@ -87,6 +80,7 @@ public: void UpdateCompatibilityDatabase(QWidget* parent = nullptr, bool forced = false); bool LoadCompatibilityFile(); CompatibilityEntry GetCompatibilityInfo(const std::string& serial); + const QString GetCompatStatusString(const CompatibilityStatus status); void ExtractCompatibilityInfo(QByteArray response); static bool WaitForReply(QNetworkReply* reply); QNetworkReply* FetchPage(int page_num); diff --git a/src/qt_gui/game_list_frame.cpp b/src/qt_gui/game_list_frame.cpp index 8255c0daf..f2d08f578 100644 --- a/src/qt_gui/game_list_frame.cpp +++ b/src/qt_gui/game_list_frame.cpp @@ -289,7 +289,7 @@ void GameListFrame::SetCompatibilityItem(int row, int column, CompatibilityEntry QLabel* dotLabel = new QLabel("", widget); dotLabel->setPixmap(circle_pixmap); - QLabel* label = new QLabel(m_compat_info->CompatStatusToString.at(entry.status), widget); + QLabel* label = new QLabel(m_compat_info->GetCompatStatusString(entry.status), widget); label->setStyleSheet("color: white; font-size: 16px; font-weight: bold;");