diff --git a/Include/MainApplication.hpp b/Include/MainApplication.hpp index 2d2c54a..4b20d7d 100644 --- a/Include/MainApplication.hpp +++ b/Include/MainApplication.hpp @@ -64,8 +64,10 @@ class MainApplication : public pu::Application { public: MainApplication(); + void SetWaitBack(bool state); private: MainLayout *mainLayout; + bool waitBack = false; }; void SetMainApplication(MainApplication *MainApp); \ No newline at end of file diff --git a/Source/MainApplication.cpp b/Source/MainApplication.cpp index f292833..2d2f4d8 100644 --- a/Source/MainApplication.cpp +++ b/Source/MainApplication.cpp @@ -174,9 +174,10 @@ void MainLayout::category_Click(AmiiboGame *game) void MainLayout::item_Click(AmiiboFile *element) { if (!waitInput) { + mainapp->SetWaitBack(true); int sopt = mainapp->CreateShowDialog("Use " + element->GetName() + " ?", "This will set the current Amiibo to " + element->GetName(), { "Yes", "No" }, true); - if (sopt < 0 || sopt == 1) return; if (sopt == 0) copyFile(element->GetPath().c_str(), "sdmc:/amiibo.bin"); + mainapp->SetWaitBack(false); } else this->waitInput = false; } @@ -197,7 +198,7 @@ MainApplication::MainApplication() this->SetOnInput([&](u64 Down, u64 Up, u64 Held, bool Touch) { if(Down & KEY_PLUS) this->Close(); - else if (Down & KEY_Y) { + else if (Down & KEY_B && !this->waitBack) { this->mainLayout->GetGamesMenu()->SetVisible(true); this->mainLayout->SetElementOnFocus(this->mainLayout->GetGamesMenu()); this->mainLayout->GetAmiiboMenu()->SetVisible(false); @@ -205,6 +206,11 @@ MainApplication::MainApplication() }); } +void MainApplication::SetWaitBack(bool state) +{ + this->waitBack = state; +} + void SetMainApplication(MainApplication *MainApp) { mainapp = MainApp;