From 1173c2f790d0c47eaba081209baa602f4b530685 Mon Sep 17 00:00:00 2001 From: spycrab Date: Sat, 26 Aug 2017 14:41:53 +0200 Subject: [PATCH] Qt: Implement "Extract Certificates from NAND" --- Source/Core/DolphinQt2/MenuBar.cpp | 15 +++++++++++++++ Source/Core/DolphinQt2/MenuBar.h | 2 ++ 2 files changed, 17 insertions(+) diff --git a/Source/Core/DolphinQt2/MenuBar.cpp b/Source/Core/DolphinQt2/MenuBar.cpp index 99e9544302..8a1c6ec509 100644 --- a/Source/Core/DolphinQt2/MenuBar.cpp +++ b/Source/Core/DolphinQt2/MenuBar.cpp @@ -117,6 +117,9 @@ void MenuBar::AddToolsMenu() m_import_backup = tools_menu->addAction(tr("Import BootMii NAND Backup..."), [this] { emit ImportNANDBackup(); }); + m_extract_certificates = tools_menu->addAction(tr("Extract Certificates from NAND"), this, + &MenuBar::NANDExtractCertificates); + m_boot_sysmenu->setEnabled(false); connect(&Settings::Instance(), &Settings::NANDRefresh, [this] { UpdateToolsMenu(false); }); @@ -458,3 +461,15 @@ void MenuBar::ExportWiiSaves() CWiiSaveCrypted::ExportAllSaves(); } +void MenuBar::NANDExtractCertificates() +{ + if (DiscIO::NANDImporter().ExtractCertificates(File::GetUserPath(D_WIIROOT_IDX))) + { + QMessageBox::information(this, tr("Success"), + tr("Successfully extracted certificates from NAND")); + } + else + { + QMessageBox::critical(this, tr("Error"), tr("Failed to extract certificates from NAND")); + } +} diff --git a/Source/Core/DolphinQt2/MenuBar.h b/Source/Core/DolphinQt2/MenuBar.h index 2a34f47e50..a170441d19 100644 --- a/Source/Core/DolphinQt2/MenuBar.h +++ b/Source/Core/DolphinQt2/MenuBar.h @@ -96,6 +96,7 @@ private: void InstallWAD(); void ImportWiiSave(); void ExportWiiSaves(); + void NANDExtractCertificates(); // File QAction* m_open_action; @@ -109,6 +110,7 @@ private: QAction* m_ntscu_ipl; QAction* m_pal_ipl; QAction* m_import_backup; + QAction* m_extract_certificates; // Emulation QAction* m_play_action;