diff --git a/source/netInstall.cpp b/source/netInstall.cpp index c37054b..b5fc95d 100755 --- a/source/netInstall.cpp +++ b/source/netInstall.cpp @@ -175,6 +175,10 @@ namespace netInstStuff{ { break; } + if (kDown & KEY_Y) + { + return {"supplyUrl"}; + } struct sockaddr_in client; socklen_t clientLen = sizeof(client); diff --git a/source/ui/netInstPage.cpp b/source/ui/netInstPage.cpp index 3eade89..b096c2f 100755 --- a/source/ui/netInstPage.cpp +++ b/source/ui/netInstPage.cpp @@ -34,6 +34,26 @@ namespace inst::ui { if (!ourUrls.size()) { mainApp->LoadLayout(mainApp->mainPage); return; + } else if (ourUrls[0] == "supplyUrl") { + Result rc=0; + SwkbdConfig kbd; + char tmpoutstr[128] = {0}; + rc = swkbdCreate(&kbd, 0); + if (R_SUCCEEDED(rc)) { + swkbdConfigMakePresetDefault(&kbd); + swkbdConfigSetInitialText(&kbd, "http://"); + rc = swkbdShow(&kbd, tmpoutstr, sizeof(tmpoutstr)); + swkbdClose(&kbd); + if (R_SUCCEEDED(rc) && (tmpoutstr[0] != 0 || tmpoutstr != "http://")) { + ourUrls[0] = tmpoutstr; + this->pageInfoText->SetText(ourUrls[0]); + netInstPage::startInstall(); + return; + } else { + mainApp->LoadLayout(mainApp->mainPage); + return; + } + } } else { this->pageInfoText->SetText("Select a NSP to install! Press B to cancel!"); for (auto& url: ourUrls) {