Added qr code for ap credentials

This commit is contained in:
CommanderRedYT
2022-02-24 22:39:57 +01:00
parent ba0c0acef2
commit d15b974a21
2 changed files with 22 additions and 5 deletions

View File

@@ -1,24 +1,27 @@
#include "networksettingsmenu.h" #include "networksettingsmenu.h"
// 3rdparty lib includes // 3rdparty lib includes
#include <menuitem.h>
#include <actions/dummyaction.h> #include <actions/dummyaction.h>
#include <actions/switchscreenaction.h> #include <actions/switchscreenaction.h>
#include <icons/back.h>
#include <screenmanager.h>
#include <fmt/format.h> #include <fmt/format.h>
#include <icons/back.h>
#include <menuitem.h>
#include <screenmanager.h>
// local includes // local includes
#include "wifistasettingsmenu.h" #include "displays/qrdisplay.h"
#include "wifiapsettingsmenu.h" #include "globals.h"
#include "settingsmenu.h" #include "settingsmenu.h"
#include "texthelpers/networktexthelpers.h" #include "texthelpers/networktexthelpers.h"
#include "wifiapsettingsmenu.h"
#include "wifistasettingsmenu.h"
using namespace espgui; using namespace espgui;
namespace { namespace {
constexpr char TEXT_STASETTINGS[] = "STA Settings"; constexpr char TEXT_STASETTINGS[] = "STA Settings";
constexpr char TEXT_APSETTINGS[] = "AP Settings"; constexpr char TEXT_APSETTINGS[] = "AP Settings";
constexpr char TEXT_APQRCODE[] = "AP QR Code";
constexpr char TEXT_BACK[] = "Back"; constexpr char TEXT_BACK[] = "Back";
} // namespace } // namespace
@@ -26,6 +29,8 @@ NetworkSettingsMenu::NetworkSettingsMenu()
{ {
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STASETTINGS>, SwitchScreenAction<WifiStaSettingsMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STASETTINGS>, SwitchScreenAction<WifiStaSettingsMenu>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_APSETTINGS>, SwitchScreenAction<WifiApSettingsMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_APSETTINGS>, SwitchScreenAction<WifiApSettingsMenu>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_APQRCODE>, NetworkAccessPointQRAction>>();
constructMenuItem<makeComponent<MenuItem, WifiDefaultMacText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, WifiDefaultMacText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, WifiBaseMacText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, WifiBaseMacText, DummyAction>>();
constructMenuItem<makeComponentArgs<MenuItem, DnsText, DummyAction>>(uint8_t{0}); constructMenuItem<makeComponentArgs<MenuItem, DnsText, DummyAction>>(uint8_t{0});
@@ -44,3 +49,9 @@ void NetworkSettingsMenu::back()
{ {
switchScreen<SettingsMenu>(); switchScreen<SettingsMenu>();
} }
void NetworkAccessPointQRAction::triggered()
{
std::string qr = fmt::format("WIFI:T:WPA;S:{};P:{};H:;", configs.wifiApName.value, configs.wifiApKey.value);
espgui::switchScreen<QrDisplay<NetworkSettingsMenu>>(qr);
}

View File

@@ -11,3 +11,9 @@ public:
std::string text() const override; std::string text() const override;
void back() override; void back() override;
}; };
class NetworkAccessPointQRAction : public virtual espgui::ActionInterface
{
public:
void triggered() override;
};