diff --git a/Source/Core/DolphinQt2/MenuBar.cpp b/Source/Core/DolphinQt2/MenuBar.cpp index 401f7f4d7e..e0a6315551 100644 --- a/Source/Core/DolphinQt2/MenuBar.cpp +++ b/Source/Core/DolphinQt2/MenuBar.cpp @@ -4,6 +4,8 @@ #include "DolphinQt2/MenuBar.h" +#include + #include #include #include @@ -13,6 +15,7 @@ #include "Common/CommonPaths.h" #include "Common/FileUtil.h" +#include "Common/StringUtil.h" #include "Core/CommonTitles.h" #include "Core/ConfigManager.h" #include "Core/Core.h" @@ -550,20 +553,23 @@ void MenuBar::CheckNAND() "Do you want to try to repair the NAND?"); if (!result.titles_to_remove.empty()) { - message += tr("\n\nWARNING: Fixing this NAND requires the deletion of titles that have " - "incomplete data on the NAND, including all associated save data. " - "By continuing, the following title(s) will be removed:\n\n"); + std::string title_listings; Core::TitleDatabase title_db; for (const u64 title_id : result.titles_to_remove) { const std::string name = title_db.GetTitleName(title_id); - message += !name.empty() ? - QStringLiteral("%1 (%2)") - .arg(QString::fromStdString(name)) - .arg(title_id, 16, 16, QLatin1Char('0')) : - QStringLiteral("%1").arg(title_id, 16, 16, QLatin1Char('0')); - message += QStringLiteral("\n"); + title_listings += !name.empty() ? + StringFromFormat("%s (%016" PRIx64 ")", name.c_str(), title_id) : + StringFromFormat("%016" PRIx64, title_id); + title_listings += "\n"; } + + message += tr("\n\nWARNING: Fixing this NAND requires the deletion of titles that have " + "incomplete data on the NAND, including all associated save data. " + "By continuing, the following title(s) will be removed:\n\n" + "%1" + "\nLaunching these titles may also fix the issues.") + .arg(QString::fromStdString(title_listings)); } if (QMessageBox::question(this, tr("NAND Check"), message) != QMessageBox::Yes) diff --git a/Source/Core/DolphinWX/FrameTools.cpp b/Source/Core/DolphinWX/FrameTools.cpp index 752448ea95..48f9efe3b3 100644 --- a/Source/Core/DolphinWX/FrameTools.cpp +++ b/Source/Core/DolphinWX/FrameTools.cpp @@ -1327,17 +1327,24 @@ void CFrame::OnCheckNAND(wxCommandEvent&) "Do you want to try to repair the NAND?"); if (!result.titles_to_remove.empty()) { - message += _("\n\nWARNING: Fixing this NAND requires the deletion of titles that have " - "incomplete data on the NAND, including all associated save data. " - "By continuing, the following title(s) will be removed:\n\n"); + std::string title_listings; Core::TitleDatabase title_db; for (const u64 title_id : result.titles_to_remove) { const std::string name = title_db.GetTitleName(title_id); - message += !name.empty() ? StringFromFormat("%s (%016" PRIx64 ")", name.c_str(), title_id) : - StringFromFormat("%016" PRIx64, title_id); - message += "\n"; + title_listings += !name.empty() ? + StringFromFormat("%s (%016" PRIx64 ")", name.c_str(), title_id) : + StringFromFormat("%016" PRIx64, title_id); + title_listings += "\n"; } + + message += wxString::Format( + _("\n\nWARNING: Fixing this NAND requires the deletion of titles that have " + "incomplete data on the NAND, including all associated save data. " + "By continuing, the following title(s) will be removed:\n\n" + "%s" + "\nLaunching these titles may also fix the issues."), + title_listings.c_str()); } if (wxMessageBox(message, _("NAND Check"), wxYES_NO) != wxYES)