diff --git a/main/accessors/settingsaccessors.h b/main/accessors/settingsaccessors.h index 11f98c1..96a1120 100644 --- a/main/accessors/settingsaccessors.h +++ b/main/accessors/settingsaccessors.h @@ -45,6 +45,8 @@ struct BleFenceEnabledAccessor : public NewSettingsAccessor { ConfigWrappe struct CloudEnabledAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.cloudSettings.cloudEnabled; } }; struct CloudTransmitTimeoutAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.cloudSettings.cloudTransmitTimeout; } }; struct CloudSendStatisticsAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.cloudSettings.sendStatistic; } }; +struct CloudURLAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.cloudUrl; } }; +struct CloudKeyAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.cloudSettings.cloudKey; } }; // Time //struct TimezoneOffsetAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.timezoneOffset; } }; diff --git a/main/cloud.cpp b/main/cloud.cpp index c664be2..d4238d3 100644 --- a/main/cloud.cpp +++ b/main/cloud.cpp @@ -721,9 +721,6 @@ void cloudSend() if (configs.cloudUrl.value().empty()) return; - if (!configs.cloudSettings.sendStatistic.value()) - return; - if (!cloudStarted) { if (espchrono::ago(lastStartTry) < 10s) diff --git a/main/displays/menus/cloudsettingsmenu.cpp b/main/displays/menus/cloudsettingsmenu.cpp index 8ae7445..10555c1 100644 --- a/main/displays/menus/cloudsettingsmenu.cpp +++ b/main/displays/menus/cloudsettingsmenu.cpp @@ -1,13 +1,15 @@ #include "cloudsettingsmenu.h" // 3rdparty lib includes +#include +#include +#include +#include +#include #include -#include "menuitem.h" -#include "changevaluedisplay.h" -#include "actions/pushscreenaction.h" -#include "actions/popscreenaction.h" -#include "actions/dummyaction.h" -#include "icons/back.h" +#include +#include + // local includes #include "accessors/settingsaccessors.h" @@ -16,10 +18,11 @@ #include "cloudtexthelpers.h" #include "displays/bobbychangevaluedisplay.h" #include "displays/menus/settingsmenu.h" -#include "displays/menus/typesafeenumchangemenu.h" namespace { constexpr char TEXT_CLOUDSETTINGS[] = "Cloud settings"; +constexpr char TEXT_CLOUDURL[] = "Cloud URL"; +constexpr char TEXT_CLOUDKEY[] = "Cloud Key"; constexpr char TEXT_CLOUDENABLED[] = "Cloud enabled"; constexpr char TEXT_CLOUDTRANSMITTIMEOUT[] = "Transmit timeout"; constexpr char TEXT_SENDSTATISTICS[] = "Send Statistics"; @@ -27,6 +30,22 @@ constexpr char TEXT_CLOUDCOLLECTRATE[] = "Cloud collect rate"; constexpr char TEXT_CLOUDSENDRATE[] = "Cloud send rate"; constexpr char TEXT_BACK[] = "Back"; +using CloudURLChangeScreen = espgui::makeComponent< + BobbyChangeValueDisplay, + espgui::StaticText, + CloudURLAccessor, + espgui::ConfirmActionInterface, + espgui::BackActionInterface +>; + +using CloudKeyChangeScreen = espgui::makeComponent< + BobbyChangeValueDisplay, + espgui::StaticText, + CloudKeyAccessor, + espgui::ConfirmActionInterface, + espgui::BackActionInterface +>; + using CloudTransmitTimeoutChangeScreen = espgui::makeComponent< BobbyChangeValueDisplay, espgui::StaticText, @@ -66,6 +85,8 @@ using namespace espgui; CloudSettingsMenu::CloudSettingsMenu() { constructMenuItem, BobbyCheckbox, CloudEnabledAccessor>>(); + constructMenuItem, PushScreenAction>>(); + constructMenuItem, PushScreenAction>>(); constructMenuItem, PushScreenAction>>(); constructMenuItem, BobbyCheckbox, CloudSendStatisticsAccessor>>(); constructMenuItem>();