Button - Delete Trophy

This commit is contained in:
DanielSvoboda 2025-02-27 22:40:06 -03:00
parent 1d850e2f91
commit dc51866488
2 changed files with 30 additions and 2 deletions

View File

@ -97,11 +97,13 @@ public:
QAction* deleteUpdate = new QAction(tr("Delete Update"), widget); QAction* deleteUpdate = new QAction(tr("Delete Update"), widget);
QAction* deleteSaveData = new QAction(tr("Delete Save Data"), widget); QAction* deleteSaveData = new QAction(tr("Delete Save Data"), widget);
QAction* deleteDLC = new QAction(tr("Delete DLC"), widget); QAction* deleteDLC = new QAction(tr("Delete DLC"), widget);
QAction* deleteTrophy = new QAction(tr("Delete Trophy"), widget);
deleteMenu->addAction(deleteGame); deleteMenu->addAction(deleteGame);
deleteMenu->addAction(deleteUpdate); deleteMenu->addAction(deleteUpdate);
deleteMenu->addAction(deleteSaveData); deleteMenu->addAction(deleteSaveData);
deleteMenu->addAction(deleteDLC); deleteMenu->addAction(deleteDLC);
deleteMenu->addAction(deleteTrophy);
menu.addMenu(deleteMenu); menu.addMenu(deleteMenu);
@ -380,9 +382,9 @@ public:
} }
if (selected == deleteGame || selected == deleteUpdate || selected == deleteDLC || if (selected == deleteGame || selected == deleteUpdate || selected == deleteDLC ||
selected == deleteSaveData) { selected == deleteSaveData || selected == deleteTrophy) {
bool error = false; bool error = false;
QString folder_path, game_update_path, dlc_path, save_data_path; QString folder_path, game_update_path, dlc_path, save_data_path, trophy_data_path;
Common::FS::PathToQString(folder_path, m_games[itemID].path); Common::FS::PathToQString(folder_path, m_games[itemID].path);
game_update_path = folder_path + "-UPDATE"; game_update_path = folder_path + "-UPDATE";
Common::FS::PathToQString( Common::FS::PathToQString(
@ -391,6 +393,11 @@ public:
Common::FS::PathToQString(save_data_path, Common::FS::PathToQString(save_data_path,
Common::FS::GetUserPath(Common::FS::PathType::UserDir) / Common::FS::GetUserPath(Common::FS::PathType::UserDir) /
"savedata/1" / m_games[itemID].serial); "savedata/1" / m_games[itemID].serial);
Common::FS::PathToQString(trophy_data_path,
Common::FS::GetUserPath(Common::FS::PathType::MetaDataDir) /
m_games[itemID].serial / "TrophyFiles");
QString message_type = tr("Game"); QString message_type = tr("Game");
if (selected == deleteUpdate) { if (selected == deleteUpdate) {
@ -420,6 +427,16 @@ public:
folder_path = save_data_path; folder_path = save_data_path;
message_type = tr("Save Data"); message_type = tr("Save Data");
} }
} else if (selected == deleteTrophy) {
if (!std::filesystem::exists(Common::FS::PathFromQString(trophy_data_path))) {
QMessageBox::critical(
nullptr, tr("Error"),
QString(tr("This game has no saved trophies to delete!")));
error = true;
} else {
folder_path = trophy_data_path;
message_type = tr("Trophy");
}
} }
if (!error) { if (!error) {
QString gameName = QString::fromStdString(m_games[itemID].name); QString gameName = QString::fromStdString(m_games[itemID].name);

View File

@ -775,6 +775,10 @@
<source>Delete DLC</source> <source>Delete DLC</source>
<translation>Delete DLC</translation> <translation>Delete DLC</translation>
</message> </message>
<message>
<source>Delete Trophy</source>
<translation>Delete Trophy</translation>
</message>
<message> <message>
<source>Compatibility...</source> <source>Compatibility...</source>
<translation>Compatibility...</translation> <translation>Compatibility...</translation>
@ -859,9 +863,16 @@
<source>This game has no save data to delete!</source> <source>This game has no save data to delete!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>This game has no saved trophies to delete!</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Save Data</source> <source>Save Data</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message>
<source>Trophy</source>
<translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>SFO Viewer for </source> <source>SFO Viewer for </source>