Fix compatibility related issues in the GUI (#2755)

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
This commit is contained in:
kalaposfos13 2025-04-07 11:25:49 +02:00 committed by GitHub
parent b8f6ef1c0b
commit 473b66649f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -122,7 +122,8 @@ public:
menu.addMenu(compatibilityMenu); menu.addMenu(compatibilityMenu);
compatibilityMenu->setEnabled(Config::getCompatibilityEnabled()); compatibilityMenu->setEnabled(Config::getCompatibilityEnabled());
viewCompatibilityReport->setEnabled(!m_games[itemID].compatibility.url.isEmpty()); viewCompatibilityReport->setEnabled(m_games[itemID].compatibility.status !=
CompatibilityStatus::Unknown);
// Show menu. // Show menu.
auto selected = menu.exec(global_pos); auto selected = menu.exec(global_pos);
@ -557,24 +558,36 @@ public:
} }
if (selected == viewCompatibilityReport) { if (selected == viewCompatibilityReport) {
if (!m_games[itemID].compatibility.url.isEmpty()) if (m_games[itemID].compatibility.issue_number != "") {
QDesktopServices::openUrl(QUrl(m_games[itemID].compatibility.url)); auto url_issues =
"https://github.com/shadps4-emu/shadps4-game-compatibility/issues/";
QDesktopServices::openUrl(
QUrl(url_issues + m_games[itemID].compatibility.issue_number));
}
} }
if (selected == submitCompatibilityReport) { if (selected == submitCompatibilityReport) {
QUrl url = QUrl("https://github.com/shadps4-emu/shadps4-game-compatibility/issues/new"); if (m_games[itemID].compatibility.issue_number == "") {
QUrlQuery query; QUrl url =
query.addQueryItem("template", QString("game_compatibility.yml")); QUrl("https://github.com/shadps4-emu/shadps4-game-compatibility/issues/new");
query.addQueryItem( QUrlQuery query;
"title", QString("%1 - %2").arg(QString::fromStdString(m_games[itemID].serial), query.addQueryItem("template", QString("game_compatibility.yml"));
QString::fromStdString(m_games[itemID].name))); query.addQueryItem(
query.addQueryItem("game-name", QString::fromStdString(m_games[itemID].name)); "title", QString("%1 - %2").arg(QString::fromStdString(m_games[itemID].serial),
query.addQueryItem("game-serial", QString::fromStdString(m_games[itemID].serial)); QString::fromStdString(m_games[itemID].name)));
query.addQueryItem("game-version", QString::fromStdString(m_games[itemID].version)); query.addQueryItem("game-name", QString::fromStdString(m_games[itemID].name));
query.addQueryItem("emulator-version", QString(Common::g_version)); query.addQueryItem("game-serial", QString::fromStdString(m_games[itemID].serial));
url.setQuery(query); query.addQueryItem("game-version", QString::fromStdString(m_games[itemID].version));
query.addQueryItem("emulator-version", QString(Common::g_version));
url.setQuery(query);
QDesktopServices::openUrl(url); QDesktopServices::openUrl(url);
} else {
auto url_issues =
"https://github.com/shadps4-emu/shadps4-game-compatibility/issues/";
QDesktopServices::openUrl(
QUrl(url_issues + m_games[itemID].compatibility.issue_number));
}
} }
} }