UI: Tweak the NAND check popup message

Inform the user that re-launching titles can also fix the issues.
This commit is contained in:
Léo Lam 2017-11-02 11:37:51 +01:00
parent 1cd4be1d0f
commit 71d4c47eb5
2 changed files with 28 additions and 15 deletions

View File

@ -4,6 +4,8 @@
#include "DolphinQt2/MenuBar.h"
#include <cinttypes>
#include <QAction>
#include <QDesktopServices>
#include <QFileDialog>
@ -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)

View File

@ -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)