mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-06-05 13:37:07 +02:00
[qt] clarify orphaned profiles by showing GOOD uuids (#2850)
Shows what profile UUIDs are actually good so the user knows which one to copy their saves to. Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2850 Reviewed-by: Lizzie <lizzie@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
This commit is contained in:
parent
c713d44c88
commit
903faacaab
3 changed files with 24 additions and 3 deletions
|
|
@ -488,7 +488,7 @@ void ProfileManager::ResetUserSaveFile()
|
||||||
ParseUserSaveFile();
|
ParseUserSaveFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::string> ProfileManager::FindOrphanedProfiles()
|
std::vector<std::string> ProfileManager::FindGoodProfiles()
|
||||||
{
|
{
|
||||||
std::vector<std::string> good_uuids;
|
std::vector<std::string> good_uuids;
|
||||||
|
|
||||||
|
|
@ -512,6 +512,13 @@ std::vector<std::string> ProfileManager::FindOrphanedProfiles()
|
||||||
// used for acnh, etc
|
// used for acnh, etc
|
||||||
good_uuids.emplace_back("00000000000000000000000000000000");
|
good_uuids.emplace_back("00000000000000000000000000000000");
|
||||||
|
|
||||||
|
return good_uuids;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<std::string> ProfileManager::FindOrphanedProfiles()
|
||||||
|
{
|
||||||
|
std::vector<std::string> good_uuids = FindGoodProfiles();
|
||||||
|
|
||||||
// TODO: fetch save_id programmatically
|
// TODO: fetch save_id programmatically
|
||||||
const auto path = Common::FS::GetEdenPath(Common::FS::EdenPath::NANDDir)
|
const auto path = Common::FS::GetEdenPath(Common::FS::EdenPath::NANDDir)
|
||||||
/ "user/save/0000000000000000";
|
/ "user/save/0000000000000000";
|
||||||
|
|
|
||||||
|
|
@ -105,6 +105,7 @@ public:
|
||||||
|
|
||||||
void ResetUserSaveFile();
|
void ResetUserSaveFile();
|
||||||
|
|
||||||
|
std::vector<std::string> FindGoodProfiles();
|
||||||
std::vector<std::string> FindOrphanedProfiles();
|
std::vector<std::string> FindOrphanedProfiles();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
||||||
|
|
@ -330,6 +330,7 @@ void FixProfiles()
|
||||||
// TODO: better solution
|
// TODO: better solution
|
||||||
system->GetProfileManager().ResetUserSaveFile();
|
system->GetProfileManager().ResetUserSaveFile();
|
||||||
std::vector<std::string> orphaned = system->GetProfileManager().FindOrphanedProfiles();
|
std::vector<std::string> orphaned = system->GetProfileManager().FindOrphanedProfiles();
|
||||||
|
std::vector<std::string> good = system->GetProfileManager().FindGoodProfiles();
|
||||||
|
|
||||||
// no orphaned dirs--all good :)
|
// no orphaned dirs--all good :)
|
||||||
if (orphaned.empty())
|
if (orphaned.empty())
|
||||||
|
|
@ -346,15 +347,27 @@ void FixProfiles()
|
||||||
qorphaned = qorphaned % QStringLiteral("\n") % QString::fromStdString(s);
|
qorphaned = qorphaned % QStringLiteral("\n") % QString::fromStdString(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString qgood;
|
||||||
|
|
||||||
|
// max. of 8 good profiles is fair, I think
|
||||||
|
// 33 = 32 (UUID) + 1 (\n)
|
||||||
|
qgood.reserve(8 * 33);
|
||||||
|
|
||||||
|
for (const std::string& s : good) {
|
||||||
|
qgood = qgood % QStringLiteral("\n") % QString::fromStdString(s);
|
||||||
|
}
|
||||||
|
|
||||||
QtCommon::Frontend::Critical(
|
QtCommon::Frontend::Critical(
|
||||||
tr("Orphaned Profiles Detected!"),
|
tr("Orphaned Profiles Detected!"),
|
||||||
tr("UNEXPECTED BAD THINGS MAY HAPPEN IF YOU DON'T READ THIS!\n"
|
tr("UNEXPECTED BAD THINGS MAY HAPPEN IF YOU DON'T READ THIS!\n"
|
||||||
"Eden has detected the following save directories with no attached profile:\n"
|
"Eden has detected the following save directories with no attached profile:\n"
|
||||||
"%1\n\n"
|
"%1\n\n"
|
||||||
|
"The following profiles are valid:\n"
|
||||||
|
"%2\n\n"
|
||||||
"Click \"OK\" to open your save folder and fix up your profiles.\n"
|
"Click \"OK\" to open your save folder and fix up your profiles.\n"
|
||||||
"Hint: copy the contents of the largest or last-modified folder elsewhere, "
|
"Hint: copy the contents of the largest or last-modified folder elsewhere, "
|
||||||
"delete all orphaned profiles, and move your copied contents to the good profile.")
|
"delete all orphaned profiles, and move your copied contents to the good profile.")
|
||||||
.arg(qorphaned));
|
.arg(qorphaned, qgood));
|
||||||
|
|
||||||
QtCommon::Game::OpenSaveFolder();
|
QtCommon::Game::OpenSaveFolder();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue